Iptables et GeoIP

ouafnico
Messages : 12
Inscription : 16 novembre 2013, 22:39

Iptables et GeoIP

Message par ouafnico » 19 février 2014, 16:33

Bonjour à tous,

j'essaye de trouver un moyen simple de bloquer des pays dans Iptables. J'ai trouvé ce tuto :

http://www.howtoforge.com/xtables-addon ... -filtering

Mais la compilation de xtable-addons ne passe pas bien, je l'ai donc installé via un rpm.
J'ai trouvé ce script aussi qui est magique et qui fait tout :
https://github.com/themightyshiv/geotables

cependant, lorsque j'essaye de créer une règle du style "iptables -I INPUT -m geoip --src-cc CN -j DROP", iptables me dit que la règle n'est pas bonne.. il semblerait que geoip ne soit pas bien intégré à iptables.

Quelqu'un a déjà essayé ?

Je vais donner l'installation et les résultats en détails

Avatar de l’utilisateur
Arrfab
Administrateur
Messages : 305
Inscription : 16 octobre 2009, 18:04
Localisation : /dev/irc.freenode.net/#centos
Contact :

Re: Iptables et GeoIP

Message par Arrfab » 19 février 2014, 17:48

la première ligne de ce tutorial montre tout de suite qu'il ne faut pas l'utiliser :
- désactiver selinux
- recompiler un package à partir des sources

Bref, que du plaisir à maintenir
Pourquoi ne pas "parser" simplement la geolite DB http://geolite.maxmind.com/download/geo ... tryCSV.zip pour te construire tes rules ?
----
test -e /dev/human/brain || ( echo 1 > /proc/sys/kernel/sysrq ; echo c > /proc/sysrq-trigger )

ouafnico
Messages : 12
Inscription : 16 novembre 2013, 22:39

Re: Iptables et GeoIP

Message par ouafnico » 19 février 2014, 18:06

c'est ce que j'avais fait au début, mais du coup la mise à jour derrière c'est pas évident ..

j'ai réussi à l'installer correctement avec geotable :)

Beta-Pictoris
Messages : 870
Inscription : 07 janvier 2014, 21:48
Localisation : Angers, France

Re: Iptables et GeoIP

Message par Beta-Pictoris » 19 février 2014, 22:49

ouafnico a écrit :c'est ce que j'avais fait au début, mais du coup la mise à jour derrière c'est pas évident ..

j'ai réussi à l'installer correctement avec geotable :)
Quelle version de Centos utilises tu ?

ouafnico
Messages : 12
Inscription : 16 novembre 2013, 22:39

Re: Iptables et GeoIP

Message par ouafnico » 19 février 2014, 22:54

J'utilise la 6.5 64bits

Beta-Pictoris
Messages : 870
Inscription : 07 janvier 2014, 21:48
Localisation : Angers, France

Re: Iptables et GeoIP

Message par Beta-Pictoris » 19 février 2014, 23:35

Je suppose que tu as lancé la commande './Geotables.sh -i'
Peux tu nous donner le résultat de cette commande ?

En tout cas, ça marche chez moi avec la dernière version des xtables-addons: La commande iptable, au dessus, est acceptée. 8-)
Voici le lien de la dernière version: http://xtables-addons.sourceforge.net/

ouafnico
Messages : 12
Inscription : 16 novembre 2013, 22:39

Re: Iptables et GeoIP

Message par ouafnico » 20 février 2014, 08:17

Le script geotable bug sur l'installation des paquets, il suffit qu'un paquet soit déjà installé, et le script s'arrête. J'ai commenté le exit 1 ligne 67 pour qu'il continue quand même.

Après j'ai eu une erreur de compilation de xtables, il a fallu modifier le mconfig.
J'ai testé manuellement toutes les versions de xtables > 2.x mais j'ai toujours des erreurs de compilation :s (le configure passe nickel).

Beta-Pictoris
Messages : 870
Inscription : 07 janvier 2014, 21:48
Localisation : Angers, France

Re: Iptables et GeoIP

Message par Beta-Pictoris » 20 février 2014, 13:45

Si tu ne nous montre pas le résultat du ./configure et du make , on ne pourra pas t'aider.

Cela dit, je te donne un indice:

Code : Tout sélectionner

$ uname -r
3.10.30-1.el6.elrepo.x86_64
Et une preuve: :mrgreen:

Code : Tout sélectionner

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere             -m geoip --source-country CN 

ouafnico
Messages : 12
Inscription : 16 novembre 2013, 22:39

Re: Iptables et GeoIP

Message par ouafnico » 20 février 2014, 16:18

j'ai déjà trouvé la solution pour la 1.37, mais comme je vous l'ai dit je vais coller tout le truc pour vous montrer :) j'ai juste pas eu le temps de le faire encore :)

En tout cas moi sur la 6.5 je suis en 2.6.32

ouafnico
Messages : 12
Inscription : 16 novembre 2013, 22:39

Re: Iptables et GeoIP

Message par ouafnico » 23 février 2014, 18:02

Voilà les erreurs que j'ai si j'essaye de compiler la dernière version de xtables-addon :

make all-recursive
make[1]: entrant dans le répertoire « /root/xtables-addons-2.4 »
Making all in extensions
make[2]: entrant dans le répertoire « /root/xtables-addons-2.4/extensions »
Xtables-addons 2.4 - Linux 2.6.32-431.5.1.el6.x86_64
if [ -n "/lib/modules/2.6.32-431.5.1.el6.x86_64/build" ]; then make -C /lib/modules/2.6.32-431.5.1.el6.x86_64/build M=/root/xtables-addons-2.4/extensions modules; fi;
make[3]: entrant dans le répertoire « /usr/src/kernels/2.6.32-431.5.1.el6.x86_64 »
CC [M] /root/xtables-addons-2.4/extensions/compat_xtables.o
In file included from /root/xtables-addons-2.4/extensions/compat_xtables.c:26:
/root/xtables-addons-2.4/extensions/compat_xtnu.h:16: attention : ‘struct xt_action_param’ declared inside parameter list
/root/xtables-addons-2.4/extensions/compat_xtnu.h:16: attention : visible uniquement depuis cette définition ou déclaration, ce qui n'est probablement pas ce que vous désirez
/root/xtables-addons-2.4/extensions/compat_xtnu.h:31: attention : ‘struct xt_action_param’ declared inside parameter list
CC [M] /root/xtables-addons-2.4/extensions/xt_CHAOS.o
In file included from /root/xtables-addons-2.4/extensions/compat_xtables.h:7,
from /root/xtables-addons-2.4/extensions/xt_CHAOS.c:24:
/root/xtables-addons-2.4/extensions/compat_xtnu.h:16: attention : ‘struct xt_action_param’ declared inside parameter list
/root/xtables-addons-2.4/extensions/compat_xtnu.h:16: attention : visible uniquement depuis cette définition ou déclaration, ce qui n'est probablement pas ce que vous désirez
/root/xtables-addons-2.4/extensions/compat_xtnu.h:31: attention : ‘struct xt_action_param’ declared inside parameter list
Dans le fichier inclus à partir de /root/xtables-addons-2.4/extensions/xt_CHAOS.c:24:
/root/xtables-addons-2.4/extensions/compat_xtables.h:12:3: attention : #warning Kernels below 3.7 not supported.
In file included from /root/xtables-addons-2.4/extensions/xt_CHAOS.c:24:
/root/xtables-addons-2.4/extensions/compat_xtables.h:54: erreur: expected declaration specifiers or ‘...’ before ‘kuid_t’
/root/xtables-addons-2.4/extensions/compat_xtables.h:54: erreur: expected declaration specifiers or ‘...’ before ‘kgid_t’
/root/xtables-addons-2.4/extensions/compat_xtables.h: In function ‘proc_set_user’:
/root/xtables-addons-2.4/extensions/compat_xtables.h:56: erreur: ‘uid’ undeclared (first use in this function)
/root/xtables-addons-2.4/extensions/compat_xtables.h:56: erreur: (Each undeclared identifier is reported only once
/root/xtables-addons-2.4/extensions/compat_xtables.h:56: erreur: for each function it appears in.)
/root/xtables-addons-2.4/extensions/compat_xtables.h:57: erreur: ‘gid’ undeclared (first use in this function)
/root/xtables-addons-2.4/extensions/compat_xtables.h: Hors de toute fonction :
/root/xtables-addons-2.4/extensions/compat_xtables.h:60: erreur: conflicting types for ‘PDE_DATA’
include/linux/proc_fs.h:328: note: previous definition of ‘PDE_DATA’ was here
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:49: attention : ‘struct xt_action_param’ declared inside parameter list
/root/xtables-addons-2.4/extensions/xt_CHAOS.c: In function ‘xt_chaos_total’:
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:51: erreur: déréférencement d'un pointeur de type incomplet
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:60: erreur: storage size of ‘local_par’ isn’t known
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:61: erreur: déréférencement d'un pointeur de type incomplet
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:62: erreur: déréférencement d'un pointeur de type incomplet
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:62: attention : l'opérande à gauche de la virgule n'a pas d'effet
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:63: attention : l'opérande à gauche de la virgule n'a pas d'effet
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:60: attention : unused variable ‘local_par’
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:76: erreur: storage size of ‘local_par’ isn’t known
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:77: erreur: déréférencement d'un pointeur de type incomplet
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:78: erreur: déréférencement d'un pointeur de type incomplet
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:79: erreur: déréférencement d'un pointeur de type incomplet
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:81: erreur: déréférencement d'un pointeur de type incomplet
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:82: erreur: déréférencement d'un pointeur de type incomplet
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:76: attention : unused variable ‘local_par’
/root/xtables-addons-2.4/extensions/xt_CHAOS.c: Hors de toute fonction :
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:88: attention : ‘struct xt_action_param’ declared inside parameter list
/root/xtables-addons-2.4/extensions/xt_CHAOS.c: In function ‘chaos_tg’:
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:98: erreur: déréférencement d'un pointeur de type incomplet
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:102: erreur: storage size of ‘local_par’ isn’t known
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:103: erreur: déréférencement d'un pointeur de type incomplet
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:104: erreur: déréférencement d'un pointeur de type incomplet
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:105: erreur: déréférencement d'un pointeur de type incomplet
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:102: attention : unused variable ‘local_par’
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:114: erreur: déréférencement d'un pointeur de type incomplet
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:115: attention : passing argument 2 of ‘xt_chaos_total’ from incompatible pointer type
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:49: note: expected ‘const struct xt_action_param *’ but argument is of type ‘const struct xt_action_param *’
/root/xtables-addons-2.4/extensions/xt_CHAOS.c: Hors de toute fonction :
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:145: attention : initialization from incompatible pointer type
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:146: attention : initialization from incompatible pointer type
/root/xtables-addons-2.4/extensions/xt_CHAOS.c: In function ‘chaos_tg_init’:
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:155: erreur: implicit declaration of function ‘xt_request_find_match’
/root/xtables-addons-2.4/extensions/xt_CHAOS.c:155: attention : assignment makes pointer from integer without a cast
make[4]: *** [/root/xtables-addons-2.4/extensions/xt_CHAOS.o] Erreur 1
make[3]: *** [_module_/root/xtables-addons-2.4/extensions] Erreur 2
make[3]: quittant le répertoire « /usr/src/kernels/2.6.32-431.5.1.el6.x86_64 »
make[2]: *** [modules] Erreur 2
make[2]: quittant le répertoire « /root/xtables-addons-2.4/extensions »
make[1]: *** [all-recursive] Erreur 1
make[1]: quittant le répertoire « /root/xtables-addons-2.4 »
make: *** [all] Erreur 2

Répondre