Netfilter / module string

bonjour,

j’essaye de mettre en œuvre le module string avec iptables mais ça passe pas :

lorsque je tape
~# iptables -I INPUT -p tcp --dport 80 -m string --string “nimportequoi” --algo bm -j DROP
il me répond…
iptables: No chain/target/match by that name

idem avec
~# iptables -I INPUT -p tcp --dport 80 -m string --string “nimportequoi” --algo kmp -j DROP

et cela que je mette DROP, ACCEPT, que je change le port de destination, le protocole ect…
si par contre j’enleve le “-m string --string “nimportequoi” --algo kmp” ça passe évidement…
J’ai fait pas mal d’essais et j’y arrive pas :

pour info : ma config
debian etch
kernel 2.6.15
iptables 1.3.6

j’ai bien
/lib/iptables/libipt_string.so

avec tous ces petits copains…
/lib/iptables/libipt_addrtype.so
/lib/iptables/libipt_ah.so
/lib/iptables/libipt_CLASSIFY.so
/lib/iptables/libipt_condition.so
/lib/iptables/libipt_connlimit.so
/lib/iptables/libipt_connmark.so
/lib/iptables/libipt_CONNMARK.so
/lib/iptables/libipt_conntrack.so
/lib/iptables/libipt_DNAT.so
/lib/iptables/libipt_dscp.so
/lib/iptables/libipt_DSCP.so
/lib/iptables/libipt_dstlimit.so
/lib/iptables/libipt_ecn.so
/lib/iptables/libipt_ECN.so
/lib/iptables/libipt_esp.so
/lib/iptables/libipt_fuzzy.so
/lib/iptables/libipt_helper.so
/lib/iptables/libipt_icmp.so
/lib/iptables/libipt_IPMARK.so
/lib/iptables/libipt_iprange.so
/lib/iptables/libipt_ipv4options.so
/lib/iptables/libipt_IPV4OPTSSTRIP.so
/lib/iptables/libipt_length.so
/lib/iptables/libipt_limit.so
/lib/iptables/libipt_LOG.so
/lib/iptables/libipt_mac.so
/lib/iptables/libipt_mark.so
/lib/iptables/libipt_MARK.so
/lib/iptables/libipt_MASQUERADE.so
/lib/iptables/libipt_MIRROR.so
/lib/iptables/libipt_mport.so
/lib/iptables/libipt_multiport.so
/lib/iptables/libipt_NETLINK.so
/lib/iptables/libipt_NETMAP.so
/lib/iptables/libipt_NOTRACK.so
/lib/iptables/libipt_nth.so
/lib/iptables/libipt_osf.so
/lib/iptables/libipt_owner.so
/lib/iptables/libipt_physdev.so
/lib/iptables/libipt_pkttype.so
/lib/iptables/libipt_policy.so
/lib/iptables/libipt_pool.so
/lib/iptables/libipt_POOL.so
/lib/iptables/libipt_psd.so
/lib/iptables/libipt_quota.so
/lib/iptables/libipt_random.so
/lib/iptables/libipt_realm.so
/lib/iptables/libipt_recent.so
/lib/iptables/libipt_REDIRECT.so
/lib/iptables/libipt_REJECT.so
/lib/iptables/libipt_ROUTE.so
/lib/iptables/libipt_rpc.so
/lib/iptables/libipt_SAME.so
/lib/iptables/libipt_sctp.so
/lib/iptables/libipt_set.so
/lib/iptables/libipt_SET.so
/lib/iptables/libipt_SNAT.so
/lib/iptables/libipt_standard.so
/lib/iptables/libipt_state.so
/lib/iptables/libipt_string.so
/lib/iptables/libipt_TARPIT.so
/lib/iptables/libipt_TCPLAG.so
/lib/iptables/libipt_tcpmss.so
/lib/iptables/libipt_TCPMSS.so
/lib/iptables/libipt_tcp.so
/lib/iptables/libipt_time.so
/lib/iptables/libipt_tos.so
/lib/iptables/libipt_TOS.so
/lib/iptables/libipt_TRACE.so
/lib/iptables/libipt_ttl.so
/lib/iptables/libipt_TTL.so
/lib/iptables/libipt_u32.so
/lib/iptables/libipt_udp.so
/lib/iptables/libipt_ULOG.so
/lib/iptables/libipt_unclean.so
/lib/iptables/libipt_XOR.so

donc, si quelqu’un avait une idée, je serais assez preneur…

Merci d’avance.

Est-ce que le noyau a le module ipt_string ou xt_string ?
D’ailleurs d’où sort ce noyau 2.6.15 ? Jamais vu ça dans une version stable de Debian.

bonjour,

c’est une machine que je loue chez ikoula depuis 2 ans environ…

uname -r me donne ca :
2.6.15.2-1ikl
ca doit etre un kernel a eux…

pour les modules du noyau :
lsmod me donne
Module Size Used by
ipt_limit 3712 0
ipt_multiport 3584 0
iptable_nat 8708 1
ip_nat 19756 1 iptable_nat
ip_conntrack 49208 2 iptable_nat,ip_nat
iptable_filter 4096 0
ip_tables 22912 4 ipt_limit,ipt_multiport,iptable_nat,iptable_filter
rhinefet 45600 0

mais modprobe ipt_string m’insulte… et je le vois pas non plus si je fais un modconf dans …/ipv4/netfilter/

Merci

Regarde plutôt dans /boot/config-2.6.15.2-1ikl.

Vérification faite, la correspondance string est incluse dans les sources du noyau standard depuis la version 2.6.14, Ikoula aurait quand même pu l’activer dans son 2.6.15…

Ceci dit, ils n’ont rien de plus récent ? Depuis le temps, le noyau 2.6.15 doit commencer à être bien troué. Si je ne m’abuse iptables 1.3.6 est la version de Debian etch (oldstable), qui contient des noyaux 2.6.18 et 2.6.24 toujours maintenus. Ils ne conviendraient pas ?

Salut,

j’ai pas mal bossé sur le 2.6.24 sur des serveurs “maison”, mais c’est vrai que j’ai toujours du mal a me dire, tiens si j’upgradais un serveur ou j’ai pas d’accès physique…

je vais leur laisser un petit mail avant pour savoir comment ca se passe en cas de plantage (ce qui n’arrive jamais sur debian, sauf quand on a pas d’accès physique la la machine…)

la suite plus tard, mais merci quand meme…
Kloy

Si tu as vraiment peur de redémarrer la machine avec un nouveau noyau (et si tu n’as pas peur de conserver un noyau troué), tu peux éventuellement récupérer les sources du noyau actuel (2.6.15.2 a priori), importer le fichier /boot/config-2.6.15.2-1ikl en .config, activer la correspondance string en module avec make menuconfig, compiler les modules, et copier le module ipt_string.ko dans /lib/modules/(etc). Pas très propre, mais ça peut marcher.