Mein Server befindet sich unter DDOS-Angriffen, und ich möchte die IP-Adresse blockieren, die dies tut. Nach welchen Protokollen sollte ich suchen, um die IP-Adresse des Angreifers zu ermitteln?
Mein Server befindet sich unter DDOS-Angriffen, und ich möchte die IP-Adresse blockieren, die dies tut. Nach welchen Protokollen sollte ich suchen, um die IP-Adresse des Angreifers zu ermitteln?
Antworten:
tail -n 10000 yourweblog.log|cut -f 1 -d ' '|sort|uniq -c|sort -nr|more
Schauen Sie sich die Top-IP-Adressen an. Wenn sich jemand von den anderen abhebt, sind dies diejenigen, die eine Firewall benötigen.
netstat -n|grep :80|cut -c 45-|cut -f 1 -d ':'|sort|uniq -c|sort -nr|more
Hierbei werden die derzeit aktiven Verbindungen überprüft, um festzustellen, ob IP-Adressen mit Port 80 verbunden sind. Möglicherweise müssen Sie den Wert -c 45- ändern, da die IP-Adresse möglicherweise nicht in Spalte 45 beginnt Ihr Webserver, dies würde es auch abholen.
Wenn keine dieser IPs übermäßig ungewöhnliche IPs aufweist, müssen Sie davon ausgehen, dass Sie von einem Botnetz angegriffen werden, und in den Protokollen nach bestimmten Mustern suchen, um zu sehen, was diese tun. Ein häufiger Angriff auf WordPress-Sites ist:
GET /index.php? HTTP/1.0
Wenn Sie die Zugriffsprotokolle für Ihre Website durchsuchen, können Sie möglicherweise Folgendes tun:
cut -f 2 -d '"' yourweblog.log|cut -f 2 -d ' '|sort|uniq -c|sort -nr|more
Hier werden die am häufigsten aufgerufenen URLs angezeigt. Möglicherweise wird ein bestimmtes Skript aufgerufen, anstatt die gesamte Site zu laden.
cut -f 4 -d '"' yourweblog.log|sort|uniq -c|sort -nr|more
würden Sie gemeinsame UserAgents sehen können. Es ist möglich, dass sie bei ihrem Angriff einen einzelnen UserAgent verwenden.
Der Trick besteht darin, Gemeinsamkeiten mit dem Angriffsverkehr zu finden, der in Ihrem normalen Verkehr nicht vorhanden ist, und diesen dann über iptables, mod_rewrite oder upstream mit Ihrem Webhost zu filtern. Wenn Sie von Slowloris betroffen sind, verfügt Apache 2.2.15 jetzt über das Modul reqtimeout, mit dem Sie einige Einstellungen konfigurieren können, um sich besser vor Slowloris zu schützen.
Einige gute Tipps hier. Ich würde auch folgendes hinzufügen:
netstat -an | grep ESTABLISHED | awk '\''{print $5}'\'' | awk -F: '\''{print $1}'\'' | sort | uniq -c | awk '\''{ printf("%s\t%s\t",$2,$1); for (i = 0; i < $1; i++) {printf("*")}; print ""}'\''
Setzen Sie dies unter einen Alias (z. B. nn). Dies gibt Ihnen eine "grafische" Perspektive der IPS mit besser etablierten Verbindungen.
Hoffe das hilft.
Für diejenigen, die dies nicht zum Laufen bringen konnten, habe ich die Syntax so korrigiert, dass sie für mich unter Ubuntu läuft:
netstat -an|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|awk '{ printf("%s\t%s\t",$2,$1); for (i = 0; i < $1; i++) {printf("*")}; print ""}'
Meine bevorzugten Protokolldateien für DOS-Angriffe sind / var / log / secure (unter Redhat / Centos / Fedora ....) und /var/log/auth.log (unter Ubuntu, Debian ...). Es werden fehlgeschlagene Anmeldeversuche von der Quell-IP des Angreifers angezeigt, meistens wörterbuchbasierte Angriffe.
Um meinen Server zu schützen, benutze ich Fail2Ban, ein einfaches Skript
Überprüft Protokolldateien wie / var / log / pwdfail oder / var / log / apache / error_log und verbietet IP-Adressen, die zu viele Kennwortfehler verursachen. Es aktualisiert die Firewall-Regeln, um die IP-Adresse abzulehnen.
Welche Distribution?
Ich denke, das Protokoll befindet sich unter /var/log/apache2/access.log mit Ubuntu ... Möglicherweise auch Debian.
Führen Sie updatedb als sudo aus und suchen Sie access.log über die Befehlszeile.
BEARBEITEN: Ich glaube, dies wird nur passieren, wenn sie Sie treffen, indem sie Seiten anfordern oder direkt über Port 80. Wenn sie andere Ports treffen, sehen Sie nicht die Informationen, die Sie dort benötigen. Sie müssen überprüfen, um welchen Prozess es sich handelt Laufen auf diesem Port und werfen Sie einen Blick auf die Verbindungsprotokolle für diesen Prozess.
Wenn Sie unter einem verteilten DOS arbeiten, müssen Sie mit Sicherheit mehr als eine IP- Adresse blockieren und IP- Adressen können gefälscht werden . Dies kann auch mehr sein als ein DOS-Angriff auf Ihren Server, aber ein Lockvogel, um den tatsächlichen Angriff vor dem Erkennen zu schützen. Überprüfen Sie daher, ob alle Ihre exponierten Dienste von aktueller Software ausgeführt werden. Sie könnten auch an mod_dosevasive for apache interessiert sein.
Zuerst müssen Sie den DOS-Typ bestimmen. Einige Angriffe sind sehr heimlich, aber effektiv (Slowloris), einige sind so schwer, dass ein ISP abstürzen könnte (ICMP-Flut von einer höheren Bandbreite als Ihre ISP-Quelle).
Rufen Sie Ihren Internetdienstanbieter an, und fragen Sie ihn, ob er den Datenverkehr herausfiltern kann, nachdem Sie den DOS-Typ ermittelt haben.
Ich habe ICMP-Fluten gesehen, die so stark waren, dass wir den vorgelagerten ISP bitten mussten, die Ziel-IP über eine BGP-Community herauszufiltern.