technique:adminsys:tips:bloquer_une_plage_ip

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
technique:adminsys:tips:bloquer_une_plage_ip [2022/05/10 08:56] – créée rdelaagetechnique:adminsys:tips:bloquer_une_plage_ip [2022/05/10 09:04] (Version actuelle) – [Bloquer une page IP] rdelaage
Ligne 1: Ligne 1:
 +# Bloquer une plage IP
  
 +Il peut arriver qu'une ou plusieurs machines d'une plage IP spamme nos services, cela provoque de nombreuses erreurs et éventuellement des baisses de performances. Cela peut avoir plusieurs origines (crawleur mal configuré, recherche de vulnérabilité, attaque, ...). Il peut être intéressant dans ce cas de rechercher l'adresse IP (ou les adresses IP) concernée puis la bloquer directement sur les hyperviseurs pour éviter le spam.
 +
 +## Rechercher l'IP concernée
 +
 +Il y a traefik, notre reverse proxy, entre le réseau et nos services. Les logs des services ne montrent donc pas les adresses IP réelles des connexions. Il faut passer par les logs de traefik afin de voir les adresses IP qui se connectent beaucoup à nos services.
 +
 +On peut utiliser une commande comme `docker logs traefik | grep -v "^192\.168\." | tr ":[" " | cut -d" " -f1,5 | sort | uniq -c | sort -n` pour voir les connexions par jour et par IP. Cette commande est évidemment à adapter si on veut chercher les connexions par service par exemple.
 +
 +Il faut faire attention, certaines IP comme celles de l'UTC se connectent beaucoup mais ces connexions sont le plus souvent légitimes. Un petit coup de `whois X.X.X.X` pour obtenir plus d'informations sur l'IP peut être intéressant. De plus on peut consulter https://www.abuseipdb.com pour savoir si d'autres se sont plaint de cette IP.
 +
 +## Bloquer l'IP (ou la plage)
 +
 +On peut alors utiliser `iptables` pour bloquer le routage des paquets venant de cette IP vers les machines virtuelles :
 +```bash
 +sudo iptables -I FORWARD -s X.X.X.X -j DROP
 +```
 +
 +Ici, `-I` permet d'insérer la règle de blocage au début de la liste afin qu'elle soit prioritaire sur les autres, `FORWARD` indique qu'il faut appliquer cette règle aux règles de redirection, `-s X.X.X.X` indique que cette règle concerne les paquets provenant de l'adresse IP `X.X.X.X`, enfin `-j DROP` indique que le comportement à avoir est de bloquer les paquets.
 +
 +Éventuellement, si plusieurs IP d'une même page sont concernées, on peut bloquer la plage entière :
 +```bash
 +sudo iptables -I FORWARD -s X.X.X.X/24 -j DROP
 +```
 +
 +Cela n'est pas persistant, le blocage disparaîtra au redémarrage de l'hyperviseur, il faudra donc recommencer l'opération si le spam apparaît à nouveau.