Bannir des IP par iptables

Pour des raisons aussi diverses que variées, on peut avoir à bannir l’accès d’un serveur à certaines IP. On utilise pour cela iptables qui fait ça très bien :

Pour bannir l’accès d’une IP à tous les ports d’un serveur :

[pastacode provider= »manual » lang= »bash »]

iptables -I INPUT -s IP_a_bannir -j DROP

[/pastacode]

Pour bannir une plage d’IP :

[pastacode provider= »manual » lang= »bash »]

iptables -I INPUT -s IP_reseau_a_bannir/mask -j DROP

[/pastacode]

Pour bannir la plage mise en exemple de l’accès http :

[pastacode lang= »bash » message= » » highlight= » » provider= »manual »]

iptables -A INPUT -p tcp --dport 80 -m iprange --src-range  220.181.108.0-220.181.108.255 -j DROP

[/pastacode]

Pour bannir une IP des accès http et https d’un serveur :

[pastacode provider= »manual » lang= »bash »]

iptables -I INPUT -s IP_a_bannir -p tcp -m multiport --dport 80,443 -j DROP

[/pastacode]

NB : si on souhaite bannir l’accès ssh à une IP, il suffit de remplacer  –dport 80,443 par –dport 22

Pour dé-bannir :

[pastacode provider= »manual » lang= »bash »]

iptables -D INPUT -s ip_a_debannir -j DROP

[/pastacode]

Si l’ip est bannie par fail2ban, on la dé-bannie de la manière suivante :

  • On fait :

[pastacode provider= »manual » lang= »bash »]

iptable -L

[/pastacode]

et on regarde la chaîne (fail2ban-ssh par exemple).

  • On repère la ligne contenant l’ip à débannir (ligne n°3 par exemple encore)
  • On fait

[pastacode provider= »manual » lang= »bash »]

 iptables -D fail2ban-ssh 3

[/pastacode]

Laisser un commentaire