web-dev-qa-db-fra.com

Bloquer la plage d'adresses IP

Je suis bombardé de tentatives de piratage en provenance de Chine, toutes avec des adresses IP similaires.

Comment pourrais-je bloquer la plage IP avec quelque chose comme 116.10.191. * Etc.

J'utilise Ubuntu Server 13.10.

La ligne que j'utilise actuellement est:

Sudo /sbin/iptables -A INPUT -s 116.10.191.207 -j DROP

Cela ne me permet que de bloquer chacun à la fois, mais les pirates modifient les adresses IP à chaque tentative.

54
Stephen Cioffi

Pour bloquer les adresses 116.10.191. *:

$ Sudo iptables -A INPUT -s 116.10.191.0/24 -j DROP

Pour bloquer les adresses 116.10. *. *:

$ Sudo iptables -A INPUT -s 116.10.0.0/16 -j DROP

Pour bloquer les adresses 116. *. *. *:

$ Sudo iptables -A INPUT -s 116.0.0.0/8 -j DROP

Mais faites attention à ce que vous bloquez en utilisant cette méthode. Vous ne voulez pas empêcher le trafic légitime d'atteindre l'hôte.

edit : comme indiqué, iptables évalue les règles dans un ordre séquentiel. Les règles supérieures de l'ensemble de règles sont appliquées avant les règles inférieures de l'ensemble de règles. Donc, s'il y a une règle plus haut dans votre ensemble de règles qui autorise ledit trafic, ajouter (iptables -A) la règle DROP ne produira pas le résultat de blocage souhaité. Dans ce cas, insérez (iptables -I) la règle soit:

  • comme première règle

Sudo iptables -I ...

  • ou avant la règle d'autorisation

Sudo iptables --line-numbers -vnL

disons que la règle numéro 3 autorise le trafic ssh et que vous souhaitez bloquer ssh pour une plage ip. -I prend un argument d'un entier qui correspond à l'emplacement dans votre ensemble de règles où vous souhaitez insérer la nouvelle règle

iptables -I 2 ...

90
Creek

Sudo /sbin/iptables -A INPUT -s 116.10.191.0/24 -j DROP

Cela bloque la plage. Vous pouvez étendre le sous-réseau selon vos besoins avec le même format général.

11
Nathan C

Comme approche alternative, vous pouvez utiliser quelque chose d'aussi simple que fail2ban. Il instaure un délai d'expiration pour les tentatives de connexion échouées successives et rend le bruteforcing impossible car ils n'obtiennent que quelques chances par délai. J'ai défini mon délai d'expiration à 30 minutes. Au bout d'une heure ou deux, ils se rendent compte qu'ils ne pourront pas avancer et abandonner.

4
temet