OVH Community, votre nouvel espace communautaire.

[HOW-TO] Bloquer toutes les IP d'un pays (iptables)


geolocalise
21/02/2012, 13h50
@spykeer, as-tu lu tout le Post ?
Car justement on y parle de la manière de blacklister des plages Ip par pays, et donc l'ironie c'est que le site qui présente un script permettant de faire cela rapidement et bien justement il a blacklisté la France !!!!

Et si j'ai utilisé un VPN c'est justement pour cette raison, car je voulais y accéder, je ne l'ai pas fait du tout au hasard, mais merci pour l'effort

spykeer
21/02/2012, 11h17
Citation Envoyé par geolocalise
Alors pour info le site http://fixingtheweb.com/ est inaccessible pour la France .

Petite astuce j’ai utilisé « SecurityKiss Tunnel » pour y accéder et là `Sésame ouvres toi ` !!!

A +
Un By-pass IP surement. Si c'est un ban par Range de style /24 ou autre, si tu change totalement ton IP par VPN ou autres solutions, il est logique que tu puisses-y accéder

geolocalise
21/02/2012, 10h58
Alors pour info le site http://fixingtheweb.com/ est inaccessible pour la France .

Petite astuce j’ai utilisé « SecurityKiss Tunnel » pour y accéder et là `Sésame ouvres toi ` !!!

A +

kitten13
20/05/2010, 18h27
Quel prise de tête tout ça, j'ai fait un tuto ici, particulièrement les dernières pages sont intéressante:

http://forum.webrankinfo.com/bannir-...s-t113189.html

http://forum.webrankinfo.com/bannir-...113189-45.html

fugitif
17/04/2010, 12h14
Citation Envoyé par Athar
J'ai déjà eu le coup via des proxy russes... (je crois que c'était des proxy, j'ai pas chercher plus loin)

Le but de la mise à jour auto étant uniquement d'avoir les dernières plages IP dans IPTables, faut bien utiliser les tâches CRON, vu que cela existe autant ne pas s'en priver.
Quand on peu faciliter des tâches, on le fait, si tu as envie de toujours faire en manuel, ben ne t'en prive pas, chacun son point de vue.
J'utilise beaucoup cron, mais jamais pour modifier iptables automatiquement. Surtout qu'il faut être root, et si ton script à une coquille ou est modifier, bonjour les dégâts.

Athar
15/04/2010, 19h00
J'ai déjà eu le coup via des proxy russes... (je crois que c'était des proxy, j'ai pas chercher plus loin)

Le but de la mise à jour auto étant uniquement d'avoir les dernières plages IP dans IPTables, faut bien utiliser les tâches CRON, vu que cela existe autant ne pas s'en priver.
Quand on peu faciliter des tâches, on le fait, si tu as envie de toujours faire en manuel, ben ne t'en prive pas, chacun son point de vue.

fugitif
15/04/2010, 14h20
Citation Envoyé par Athar
C'est pas une erreur très grave je crois, c'est peut être le fichier qui est mal générer? ou IPTables qui a un léger bug...

Personnellement, je n'ai aucune erreur, et je viens a l'instant de finir la modification qui me permet de faire des mise à jour d'IPTables toutes les semaines, automatiquement (baser sur ce script), si cela vous intéresse, faites signe, je verrais pour le mettre a disposition (après avoir peaufiner le tout).
Faire ça automatiquement, faut vraiment être un gros flemmard non ? Tu a peur que 2-3 ru qui ne soient pas bloquer pirate ton site ?

Athar
15/04/2010, 02h11
Citation Envoyé par Alpha_67
j'ai modifié et j'obtiens :
The "nat" table is not intended for filtering, hence the use of DROP is deprecated and will permanently be disabled in the next iptables release. Please adjust your scripts.

iptables-restore: line 2 failed
C'est pas une erreur très grave je crois, c'est peut être le fichier qui est mal générer? ou IPTables qui a un léger bug...

Personnellement, je n'ai aucune erreur, et je viens a l'instant de finir la modification qui me permet de faire des mise à jour d'IPTables toutes les semaines, automatiquement (baser sur ce script), si cela vous intéresse, faites signe, je verrais pour le mettre a disposition (après avoir peaufiner le tout).

fugitif
17/02/2010, 06h22
Citation Envoyé par ccdille
Dommage ça marche pas
On pourra pas aider si tu ne donne pas un peu plus de détails que "camarchepo"

ccdille
12/02/2010, 20h31
Dommage ça marche pas

fugitif
30/01/2010, 14h03
Citation Envoyé par Alpha_67
j'ai modifié et j'obtiens :
C'est normal que tu reçois se message, car on ne filtre pas dans la table nat, mais dans filter.

Pourquoi tu ne créer pas un fichier /etc/init.d/firewall.sh et tu coller dedant tes règles.

iptables -A INPUT -m iprange --src-range 3.0.0.0-3.255.255.255 -j DROP
etc.....

Alpha_67
28/01/2010, 08h53
j'ai modifié et j'obtiens :
The "nat" table is not intended for filtering, hence the use of DROP is deprecated and will permanently be disabled in the next iptables release. Please adjust your scripts.

iptables-restore: line 2 failed

fugitif
27/01/2010, 21h12
Citation Envoyé par Alpha_67
J'ai le même problème...

Les premières lignes du txt :
Regarde un peu le script php et modifie -I PREROUTING en -I INPUT
Où alors fait le à la main.

Alpha_67
27/01/2010, 08h39
J'ai le même problème...

Les premières lignes du txt :
*nat
-I PREROUTING -i eth0 -m iprange --src-range 3.0.0.0-3.255.255.255 -j DROP
-I PREROUTING -i eth0 -m iprange --src-range 4.0.0.0-4.255.255.255 -j DROP
-I PREROUTING -i eth0 -m iprange --src-range 6.0.0.0-6.255.255.255 -j DROP
-I PREROUTING -i eth0 -m iprange --src-range 7.0.0.0-7.255.255.255 -j DROP
-I PREROUTING -i eth0 -m iprange --src-range 8.0.0.0-8.255.255.255 -j DROP
-I PREROUTING -i eth0 -m iprange --src-range 9.0.0.0-9.255.255.255 -j DROP
-I PREROUTING -i eth0 -m iprange --src-range 11.0.0.0-11.255.255.255 -j DROP
-I PREROUTING -i eth0 -m iprange --src-range 12.0.0.0-12.129.251.151 -j DROP
-I PREROUTING -i eth0 -m iprange --src-range 12.129.251.160-12.255.255.255 -j D$
-I PREROUTING -i eth0 -m iprange --src-range 13.0.0.0-13.255.255.255 -j DROP
-I PREROUTING -i eth0 -m iprange --src-range 15.0.0.0-15.255.255.255 -j DROP
-I PREROUTING -i eth0 -m iprange --src-range 16.0.0.0-16.255.255.255 -j DROP
-I PREROUTING -i eth0 -m iprange --src-range 17.0.0.0-17.255.255.255 -j DROP
-I PREROUTING -i eth0 -m iprange --src-range 18.0.0.0-18.255.255.255 -j DROP
-I PREROUTING -i eth0 -m iprange --src-range 19.0.0.0-19.68.79.119 -j DROP
-I PREROUTING -i eth0 -m iprange --src-range 19.68.79.128-19.255.255.255 -j DROP
-I PREROUTING -i eth0 -m iprange --src-range 20.0.0.0-20.255.255.255 -j DROP
-I PREROUTING -i eth0 -m iprange --src-range 21.0.0.0-21.255.255.255 -j DROP

fugitif
30/12/2009, 22h17
Aurai tu un échantillon de se fichier badiptlist.txt ?

Furious13
03/12/2009, 10h45
Bonjour,

Apparemment la dernière version d'iptables ne fonctionne pas avec le script :
The "nat" table is not intended for filtering, hence the use of DROP is deprecated and will permanently be disabled in the next iptables release. Please adjust your scripts.
Que faire ?

Par avance, merci.

Edit :
Si j'enlève "*nat" en début de fichier, et "COMMIT" à la fin, ça me met "
iptables-restore: line 1 failed"

Je crois qu'il faut passer sur forward plutot que nat, mais je ne sais pas comment faire.

Pourtant que je rentre :"iptables -L -t nat" je vois bien l'ensemble des iptables créées dans badiptlist.txt

Mais si je fais "iptables -L", elles n'apparaissent pas.

Nico94
05/07/2008, 14h18
Salut les gens,

C'est comme qui dirait mon premier [HOW-TO] et je demande donc votre indulgence (les remarques sont évidemment les bienvenues (et même les critiques (mais pas les insultes ))). Je ne pense pas que le sujet ait déjà été traité. Si c'est le cas, je passerai pour un blaireau mais j'm'en fous, même pas peur

Le contexte : voilà une semaine que je farfouille à gauche et à droite concernant les problèmes de sécurité. J'ai donc pu remarquer, comme beaucoup d'entre vous, que certains pays plus ou moins exotiques sont la source d'un nombre considérable d'attaques.

Je ne vais pas m'amuser à faire ici un palmarès des pays qui contiennent le plus grand nombre de machines vérolées, je suis sûr que vous avez tous vos petites idées sur la question. De mon côté, j'ai pris la décision de bloquer la Chine. Comprenez par là : toutes les IP chinoises. Je vous accorde que c'est une décision un peu radicale (Chuck Norris en force ! ). Mais bon, vu les centaines d'attaques quotidiennes que je choppe sur mes machines (et l'absence totale de trafic chinois réel sur mes sites), le rapport coût/bénéfice est très favorable.

La question à 1000 balles est donc : comment bloquer toutes les IP d'un pays sans trop de prise de tête (je ne suis pas le pape de l'administration système ). Voici la méthode (elle est décrite pour une release 2 OVH mais elle est très facilement adaptable car seuls PHP et Iptables sont nécessaires) :

1) Télécharger countryblock.zip sur cette page : http://fixingtheweb.com/country/blocking.html (lien direct vers le fichier)

2) Télécharger GeoIPCountryCSV.zip sur cette page : http://www.maxmind.com/app/geolitecountry (lien direct vers le fichier)

3) Décompresser et uploader tout le bazar dans un répertoire web. Par exemple /home/ovh/www/countryblock

4) Ne pas oublier de protéger ce répertoire pour qu'il ne soit accessible que de vous, par exemple à l'aide d'un .htaccess du genre :

Code:
AuthUserFile /home/ovh/www/countryblock/.htpasswd
AuthGroupFile /dev/null
AuthName "countryblock"
AuthType Basic

require valid-user
Accompagné du petit .htpasswd qui va bien.

5) Se rendre à l'aide de son navigateur favori sur http://nsxxxx.ovh.net/countryblock/countryiptsetup.php et cliquer sur l'unique bouton "Generate Database". Attendez que la page ait fini de se charger (cela peut mettre un peu de temps) et cela aura pour effet de créer un grand nombre de fichiers dans /home/ovh/www/countryblock/

6) Se rendre à l'aide de son navigateur favori sur http://nsxxxx.ovh.net/countryblock/countryiptables.php, sélectionner les pays dont on veut se passer et cliquer sur le bouton "Create File". Même topo : attendre le rafraichissement de la page. Cela aura pour effet de créer le fichier /home/ovh/www/countryblock/badiptlist.txt

Pour l'amour du ciel, évitez de sélectionner votre propre pays si vous ne voulez pas aller droit dans le mur. Je décline toute responsabilité

7) Il ne reste plus qu'à faire

Code:
iptables-restore < /home/ovh/www/countryblock/badiptlist.txt
Et le tour est joué

Si si, je vous jure : c'est déjà fini

Remarques :

- Il existe une version pour les hébergements mutualisés : http://fixingtheweb.com/country/htblocking.html

- La base GeoIPCountryWhois.csv est régulièrement mise à jour. A vous de faire les updates. Pour ce faire, il suffit de (re)uploader GeoIPCountryWhois.csv et de relancer le script countryiptsetup.php.

- Si l'un des scripts déconne en vous signalant un manque de mémoire, il vous faut aller modifier votre php.ini (pour php5) que vous trouverez quelque part par ici : /usr/local/lib/

Code:
memory_limit = 16M
- Une fois que vous aurez un peu tripoté tout ça, n'hésitez pas à faire mumuse avec iptocountry.php qui vous permet de tester des IP. Ce script vous indique la géolocalisation de la plage d'IP au sein de laquelle se trouve celle que vous testez. Cela vous permet, grâce à Iptables (dont il va alors falloir vous familiariser avec le fonctionnement si ce n'est déjà fait), de pouvoir bannir des plages d'IP de manière un peu plus fine qu'en blacklistant tout un pays.

- Pour ceux qui sont déçus que rien ne se soit affiché et qui ont une furieuse envie de visualiser les règles iptables, il suffit d'aller voir le contenu de badiptlist.txt. Cela peut aussi se faire par webmin : https://nsxxxx.ovh.net:10000/firewall/. Ou encore à l'aide de :

Code:
iptables -L -t nat
- Pour automatiser la chose n'oubliez pas d'ajouter ceci en cron/boot de votre serveur :

Code:
/sbin/iptables-restore < /home/ovh/www/countryblock/badiptlist.txt