Wie erkennt man DoS-Angriffe / blockiert manuell IP auf Ubuntu?

5463
Mikhail

Ich habe ein VPS mit Ubuntu. Ich habe eine kleine Website (ca. 10 Besucher gleichzeitig). Manchmal gerät die Website in Verzug. Es ist so schlecht, dass auch meine SSH-Verbindung nachlässt. Laufen topsagt, dass 2 Instanzen von apache2jeweils 50% CPU beanspruchen.

Ich gehe davon aus, dass dies ein DoSAngriff ist. Ich habe ein paar iptablesSkripte durch Kopieren und Einfügen installiert, die einen Sinn ergeben, aber das hat nicht geholfen.

Ich habe es installiert libapache2-mod-evasive- ich bin sicher, dass es den Angreifer blockiert, aber ich bin immer noch im Rückstand.

Was kann ich machen? Kann ich zumindest die IP des Angreifers finden?

Ich habe große Erfahrung mit Linux, aber fast keine Erfahrung als Serveradministrator.

3
Servieren Sie statische Dateien oder dynamischen Inhalt? Die Verzögerung kann auf ineffiziente Datenbankabfragen beim Erstellen dynamischer Inhalte zurückzuführen sein. Stacey Richards vor 12 Jahren 0
@Stacey, Inhalt ist PHP + MySQL. Ich stimme zu, dass es * davon * sein könnte, aber ich weiß sicher, dass dies nicht der Fall ist. Ich protokolliere nicht nur langsame Abfragen, sondern mein Datenbankserver befindet sich auf einem anderen VPS. Noch wichtiger ist, dass die CPU von `apache2` und nicht von 'mysqld' belegt wird Mikhail vor 12 Jahren 0
Geben die Abfragen große Datenmengen zurück, deren Verarbeitung von PHP lange dauert? Protokollieren Sie die Skriptausführungszeit zusätzlich zu den Abfragezeiten? Stacey Richards vor 12 Jahren 0

3 Antworten auf die Frage

3
John T

Überprüfen Sie das Apache-Zugriffsprotokoll auf wiederholte Versuche mit einer ähnlichen IP-Adresse. Dies /var/log/httpd/access_logist der übliche Speicherort.

Möglicherweise interessieren Sie sich auch für eine automatisierte Lösung wie DDoS Deflate oder PSAD . Ich würde mod_security auch dringend für Apache empfehlen .

Ich benutze definitiv "Modsec". Gibt es benutzerfreundliche Viewer / Statistikanalysatoren für access_log? Mikhail vor 12 Jahren 0
@Mikhail gibt es viele, AWStats ist einer der größeren: http://awstats.sourceforge.net/ John T vor 12 Jahren 0
0
Bernie White

Haben Sie Apache oder Ihr Betriebssystem gehärtet?

Können Sie Protokolle veröffentlichen?

Das kann ein bisschen helfen.

http://httpd.apache.org/docs/2.0/misc/security_tips.html

-1
ntk4

Ich kann nicht genug Fail2ban vorschlagen. Es ist ein Daemon, der im Hintergrund ausgeführt wird und alle Ihre Protokolldateien auf verdächtige Aktivitäten überwacht und die verdächtigen Aktivitäten basierend auf den Protokolldateifehlern blockiert. Dies bedeutet, dass Sie die Fehlerprotokolldateien zuerst erstellen müssen. Für Webserver können Sie dies normalerweise tun. Ich habe es erst kürzlich für NGINX gemacht, aber ich bin sicher, dass es eine ähnliche Direktive für Apache gibt.