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]