it-swarm.com.de

Server unter DDOS-Angriff - Wie finde ich IPs heraus?

Mein Server ist DDOS-Angriffen ausgesetzt und ich möchte die IP blockieren, die dies tut. Nach welchen Protokollen sollte ich suchen, um die IP des Angreifers zu ermitteln?

23
Webnet
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, ist dies die Firewall.

netstat -n|grep :80|cut -c 45-|cut -f 1 -d ':'|sort|uniq -c|sort -nr|more

Hier werden die derzeit aktiven Verbindungen überprüft, um festzustellen, ob IPs mit Port 80 verbunden sind. Möglicherweise müssen Sie den Schnitt -c 45- ändern, da die IP-Adresse möglicherweise nicht in Spalte 45 beginnt. Wenn jemand eine UDP-Flut durchgeführt hat Ihr Webserver, dies würde es auch abholen.

Wenn keine dieser IPs IPs anzeigt, die übermäßig außerhalb der Norm liegen, müssen Sie davon ausgehen, dass Sie von einem Botnetz angegriffen werden, und in den Protokollen nach bestimmten Mustern suchen, um zu sehen, was sie tun. Ein häufiger Angriff gegen 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

dies würde Ihnen die am häufigsten getroffenen URLs anzeigen. Möglicherweise treffen sie ein bestimmtes Skript, anstatt die gesamte Site zu laden.

cut -f 4 -d '"' yourweblog.log|sort|uniq -c|sort -nr|more

würde es Ihnen ermöglichen, allgemeine UserAgents zu sehen. Es ist möglich, dass sie bei ihrem Angriff einen einzelnen UserAgent verwenden.

Der Trick besteht darin, etwas gemeinsam mit dem Angriffsverkehr zu finden, das 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.

45
user6738237482

Zu Ihrer Information - Sie sollten versuchen, mit Ihrem ISP zusammenzuarbeiten, um zu sehen, ob er es vor Ihnen blockieren kann.

7
mfinni

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 etablierteren Verbindungen.

Hoffe das hilft.

Für diejenigen, die dies nicht zum Laufen bringen konnten, habe ich die Syntax so korrigiert, dass sie unter Ubuntu für mich 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 ""}'
4
Marco Ramos

Meine bevorzugten Protokolldateien, um nach DOS-Angriffen zu suchen, sind/var/log/secure (unter Redhat/Centos/Fedora ....) und /var/log/auth.log (unter Ubuntu, Debian ...). Sie sehen fehlgeschlagene Anmeldeversuche von der Quell-IP des Angreifers aus, meistens wörterbuchbasierte Angriffe.

3
Daniel t.

Welche Distribution?

Ich denke, das Protokoll befindet sich unter /var/log/Apache2/access.log mit Ubuntu ... Möglicherweise auch Debian.

Führen Sie updateb als Sudo aus und suchen Sie die Datei access.log in der Befehlszeile.

BEARBEITEN: Ich glaube, dies wird jedoch nur passieren, wenn sie Sie entweder durch Anfordern von Seiten oder direkt über Port 80 erreichen. Wenn sie andere Ports erreichen, werden die dort benötigten Informationen nicht angezeigt. Sie müssen überprüfen, welcher Prozess ausgeführt wird Laufen Sie auf diesem Port und sehen Sie sich die Verbindungsprotokolle für diesen Prozess an.

0
Mike Keller

Wenn Sie unter einem verteilten DOS arbeiten, müssen mit Sicherheit weit mehr als eine IP blockiert werden, und IPs können gefälscht werden. Fragen Sie Ihren ISP besser als mfinni. Dies kann auch mehr als ein DOS gegen Ihren Server sein, aber ein Köder, um zu verhindern, dass der eigentliche Angriff erkannt wird. Überprüfen Sie daher, ob alle Ihre exponierten Dienste von aktueller Software ausgeführt werden. Sie könnten auch an mod_dosevasive für Apache interessiert sein.

0
Maxwell

sie können tcpdump verwenden, um festzustellen, welche Adresse $ tcpdump -vv Port X ist, wenn Sie einen bestimmten Port vermuten

0
Razique

Zuerst müssen Sie den DOS-Typ bestimmen. Einige Angriffe sind sehr heimlich, aber effektiv (Slowloris), einige sind so schwer, dass ein ISP heruntergefahren werden kann (ICMP-Flut von einer höheren Bandbreite als Ihre ISP-Quelle).

Nachdem Sie den DOS-Typ festgelegt haben, rufen Sie Ihren ISP an und fragen Sie ihn, ob er den Datenverkehr herausfiltern kann.

Ich habe ICMP-Überschwemmungen gesehen, die so stark waren, dass wir den vorgelagerten ISP bitten mussten, die Ziel-IP über eine BGP-Community herauszufiltern.

0

um meinen Server zu schützen, verwende ich Fail2Ban ein einfaches Skript

scannt 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.

http://www.fail2ban.org/wiki/index.php/Main_Page

0
Mirandapablog