Bloquer la plage d'adresses IP

49

Je suis bombardé de tentatives de piratage informatique 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 actuelle que j'utilise est la suivante:

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

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

Stephen Cioffi
la source
4
vous devriez jeter un coup d'œil à fail2ban, il est vraiment efficace pour bannir de manière dynamique les adresses IP nuisibles.
user9517 prend en charge GoFundMonica le
J'aime également ajouter knockd pour éliminer pratiquement 100% des tentatives d'accès infructueuses de mes journaux. help.ubuntu.com/community/PortKnocking
Bruno Bronosky
pam_shield pourrait être utile ici. github.com/jtniehof/pam_shield
Daniel

Réponses:

87

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 116. *. *. * Adresses:

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

Mais faites attention à ce que vous bloquez avec 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 dans l'ensemble de règles sont appliquées avant les règles inférieures dans l'ensemble de règles. Donc, s'il existe une règle plus élevée dans votre jeu de règles qui autorise ledit trafic, alors ajouter ( iptables -A) la règle DROP ne produira pas le résultat de blocage prévu. Dans ce cas, insérez ( iptables -I) la règle soit:

  • comme la 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 d'adresses IP. -Iprend l'argument d'un entier qui correspond à l'emplacement de votre jeu de règles dans lequel vous souhaitez insérer la nouvelle règle

iptables -I 2 ...

Ruisseau
la source
Vérifiez arin.net et bloquez toute la gamme des plages d' adresses ip appartenant à Amsterdam . Cet endroit est RIPE avec sondes spiders - je doute qu'il y ait un trafic légitime qui sort de là.
WEBjuju
notez que cela peut ne pas fonctionner en fonction de l' ordre des règles iptable , voir answer serverfault.com/a/507502/1
Jeff Atwood
2
o snap @JeffAtwood Je suis honoré par votre commentaire. réponse mise à jour;)
Creek
Et comment débloquer une certaine plage?
bzero
11

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

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

Nathan C
la source
cela fonctionnera-t-il sur toute la gamme du 4ème set? Comme est le 0/24 seulement 0-24. J'ai essayé par exemple 500 mais cela n'a pas fonctionné. Est-ce que 0/24 couvrira tous les autres numéros dans les 100 et 200
Stephen Cioffi
3
@Stephen C'est une gamme CIDR. Si vous avez besoin de le calculer pour une autre plage, utilisez ceci: subnet-calculator.com/cidr.php
Nathan C
4

Comme approche alternative, vous pouvez utiliser quelque chose d'aussi simple que fail2ban. Il instaure un délai d'attente pour les tentatives de connexion infructueuses successives et rend impossible le renforcement brutal, car ils n'ont que quelques chances par délai d'attente. Je règle la durée de mon arrêt à 30 minutes. Au bout d'une heure ou deux, ils se rendent compte qu'ils ne pourront plus avancer et abandonneront.

temet
la source
En outre, le blocage de pays entiers peut empêcher une utilisation autorisée.
Esa Jokinen
Je me rends compte que ce fil a plus d'un an mais je voulais que les gens sachent quelque chose. J'ai fail2ban installé et en cours d'exécution, mais je vérifie aussi régulièrement les journaux de mon serveur. Il existe cette plage d'adresses IP 89.248.x.xqui continue d'essayer différentes connexions de messagerie une heure après la dernière tentative, tout au long de la journée. Apparemment, maintenir la valeur findtimein fail2ban à 30 minutes ne suffit plus pour empêcher tous les mauvais scripts d'écrire.
Tanzeel Kazi