Serveur sous attaque DDOS - Comment trouver les IP?


20

Mon serveur subit des attaques DDOS et je souhaite bloquer l'adresse IP qui le fait, quels journaux dois-je rechercher pour déterminer l'adresse IP de l'attaquant?


2
Comment avez-vous déterminé que le serveur est attaqué? Il me semble que vous auriez besoin de regarder un certain type de table de session TCP (netstat sur Windows) afin de faire cette détermination et, ce faisant, verrait les adresses IP des hôtes se connectant à votre serveur, ce qui rendrait votre question discutable.
joeqwerty

Réponses:


43
tail -n 10000 yourweblog.log|cut -f 1 -d ' '|sort|uniq -c|sort -nr|more

Jetez un œil aux meilleures adresses IP. Si certains se démarquent des autres, ce sont ceux-là qui seront pare-feu.

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

Cela examinera les connexions actuellement actives pour voir s'il y a des IP se connectant au port 80. Vous devrez peut-être modifier la coupure -c 45- car l'adresse IP peut ne pas commencer à la colonne 45. Si quelqu'un faisait un déluge UDP à votre serveur Web, cela le reprendrait également.

Au cas où aucune d'entre elles ne montrerait d'IP qui soient excessivement hors de la norme, vous devrez supposer que vous avez un botnet qui vous attaque et devrez rechercher des modèles particuliers dans les journaux pour voir ce qu'ils font. Une attaque courante contre les sites wordpress est:

GET /index.php? HTTP/1.0

Si vous consultez les journaux d'accès de votre site Web, vous pourrez peut-être faire quelque chose comme:

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

qui vous montrera les URL les plus fréquemment consultées. Vous pourriez constater qu'ils frappent un script particulier plutôt que de charger l'intégralité du site.

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

vous permettrait de voir les UserAgents courants. Il est possible qu'ils utilisent un seul UserAgent dans leur attaque.

L'astuce consiste à trouver quelque chose en commun avec le trafic d'attaque qui n'existe pas dans votre trafic normal, puis à le filtrer via iptables, mod_rewrite ou en amont avec votre hébergeur. Si vous êtes touché par Slowloris, Apache 2.2.15 a maintenant le module reqtimeout qui vous permet de configurer certains paramètres pour mieux vous protéger contre Slowloris.


Merci beaucoup, je vais certainement examiner cela ce week-end.
Webnet

excellent. très utile et tout simplement génial .... continuez comme ça et que Dieu vous bénisse. Allinonescript.com ( allinonescript.com ) Les développeurs du monde entier Les connaissances acquièrent des connaissances.
Vadivel S

Tant que vous configurez correctement votre journal d'accès: tail -n 10000 / var / log / httpd / access_log | cut -f 1 -d '' | sort | uniq -c | sort -nr | more Cela devrait fonctionner. A travaillé pour moi,
dustbuster

7

FYI - Vous devriez essayer de travailler avec votre FAI pour voir s'il peut le bloquer en amont de vous.


4

Quelques bons conseils ici. J'ajouterais également ceci:

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 ""}'\''

Mettez cela sous un alias (nn, par exemple). Cela vous donnera une perspective "graphique" des IPS avec des connexions plus établies.

J'espère que cela t'aides.

Pour ceux qui ne pouvaient pas faire fonctionner cela, j'ai corrigé la syntaxe afin qu'elle fonctionne pour moi sous Ubuntu:

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 ""}'

3

Mes fichiers journaux préférés pour vérifier les attaques DOS sont / var / log / secure (sous Redhat / Centos / Fedora ....) et /var/log/auth.log (sous ubuntu, debian ...). Vous verrez les tentatives de connexion infructueuses effectuées à partir de l'adresse IP source de l'attaquant, la plupart du temps les attaques basées sur le dictionnaire.


1

afin de protéger mon serveur j'utilise Fail2Ban un simple script

analyse les fichiers journaux comme / var / log / pwdfail ou / var / log / apache / error_log et interdit les adresses IP qui provoquent trop de pannes de mot de passe. Il met à jour les règles de pare-feu pour rejeter l'adresse IP.

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


0

Quelle distribution?

Je pense que le journal est sous /var/log/apache2/access.log avec Ubuntu ... Peut-être aussi Debian.

Exécutez updatedb en tant que sudo, puis recherchez access.log à partir de la ligne de commande.

EDIT: Je pense que cela ne se produira que s'ils vous frappent en demandant des pages ou directement via le port 80. S'ils frappent d'autres ports, vous ne verrez pas les informations dont vous avez besoin, vous devrez vérifier et voir quel processus est en cours d'exécution sur ce port et consultez les journaux de connexion de ce processus.


0

vous pouvez utiliser tcpdump pour voir de quelle adresse il s'agit $ tcpdump -vv port X si vous suspectez un port particulier


0

Si vous êtes sous un DOS distribué, il y a certainement plus d'une adresse IP à bloquer et des adresses IP peuvent être falsifiées, il vaut mieux demander à votre FAI comme l' a dit mfinni . De plus, cela peut être plus qu'un DOS contre votre serveur, mais un leurre pour cacher la détection de la véritable attaque, alors vérifiez que tous vos services exposés sont exécutés par un logiciel à jour. Vous pouvez également être intéressé par mod_dosevasive pour apache.


2
Les adresses IP sont très difficiles à falsifier pour les attaques Web. Étant donné qu'une connexion Web valide nécessite une négociation syn / ack, vous devez avoir la chance de disposer de l'adresse IP falsifiée avec le bon numéro de séquence pour que votre charge utile du site d'attaque falsifié fonctionne. Le trafic UDP / ICMP est sans connexion et autorise les paquets falsifiés, mais la plupart des hôtes bloquent ces paquets.
user6738237482

0

Vous devez d'abord déterminer le type de DOS. Certaines attaques sont très furtives mais efficaces (slowloris), certaines sont si lourdes que cela pourrait faire tomber un FAI (inondation ICMP à partir d'une bande passante plus élevée que votre source FAI).

Après avoir déterminé le type de DOS, appelez votre FAI et demandez-lui s'il peut filtrer le trafic.

J'ai vu des inondations ICMP si importantes que nous avons dû demander au FAI en amont de filtrer l'IP de destination via une communauté BGP.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.