Blacklister une adresse ip avec iptables


l arrive fréquemment d’avoir des rigolos qui spamment vos pages avec un test de sécurité (qui remplit 3000 fois chaque formulaire pour tester les failles), il suffit que vos pages ne soit pas forcément très optimisées (sur un site qui fait 1000 vues par jour on optimise par forcément autant que sur un site qui fait 1M/jour) et c’est rapidement la panique. Si les formulaires font des insertions en base de donnée et/ou envoie des mails, le load du serveur augmente rapidement, et votre machine perso est polluée par les emails.
Une solution simple lorsque tout le trafic vient d’une seule ip est de la blacklister dans iptables. Vous pouvez bien sur le faire dans votre application ou au niveau de apache, mais le plus radical est de le faire dans iptables, c’est la que votre machine sera le moins impactée.

Blacklister une ip:
  iptables -A INPUT -s 123.45.67.89 -j DROP

Pour tous les paquets venant de cette ip, on DROP le paquet
A mettre tout en haut de vos règles de pare feu si vous avez un script pour remplir iptables

Blacklister une plage d’ip:
  iptables -A INPUT -s 1.2.3.0/24 -j DROP

Même principe, mais en précisant un sous-réseau dans la commande. Ici on blackliste toutes les ips de notre plage (de 1.2.3.1 à 1.2.3.254)
Evidemment ces règles ne solutionnent pas les attaques plus sophistiquées de type DDOS avec une multitude d’adresses ips utilisées, mais dans les cas les plus courant, ca permettra de restaurer le calme sur votre serveur rapidement.

Enregistrer un commentaire

Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.