Problème iptables "Invalid argument"
Résolu
Akrostik
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonjour,
Je dispose d'un serveur web tournant sous debian lenny 5.0, étant souvent victime d'attaques SYN/DOS j'aimerais configurer quelques règles, en suivant des tutorials (http://gregoire-penverne.fr/56-Debian+-+Prot%E9ger+son+serveur+des+attaques+DoS.html
Je rentre donc cette règle :
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW -m recent --set --name WEB
Tout se passe bien,
Le problème, c'est lorsque j'essaye de mettre cette règle :
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 10 --hitcount 50 --rttl --name WEB -j DROP
J'ai une erreur (invalid argument), pourtant quand je la rentre sur un VPS , ça marche nickel, sur le serveur dédié et sur le VPS la version d'iptables est la même (1.4.2)
J'ai beau chercher, je comprends pas pourquoi il met cette erreur, je pense que c'est un problème de modules mais vu que le message n'est pas très explicatif je sais pas quoi faire...
Cordialement,
Je dispose d'un serveur web tournant sous debian lenny 5.0, étant souvent victime d'attaques SYN/DOS j'aimerais configurer quelques règles, en suivant des tutorials (http://gregoire-penverne.fr/56-Debian+-+Prot%E9ger+son+serveur+des+attaques+DoS.html
Je rentre donc cette règle :
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW -m recent --set --name WEB
Tout se passe bien,
Le problème, c'est lorsque j'essaye de mettre cette règle :
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 10 --hitcount 50 --rttl --name WEB -j DROP
J'ai une erreur (invalid argument), pourtant quand je la rentre sur un VPS , ça marche nickel, sur le serveur dédié et sur le VPS la version d'iptables est la même (1.4.2)
J'ai beau chercher, je comprends pas pourquoi il met cette erreur, je pense que c'est un problème de modules mais vu que le message n'est pas très explicatif je sais pas quoi faire...
Cordialement,
A voir également:
- Iptables: invalid argument. run `dmesg' for more information.
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Information d'identification réseau - Guide
- Press f1 to run setup - Forum Windows
- Invalid configuration information please run setup program - Forum BIOS
- Temple run 2 - Télécharger - Jeux vidéo
2 réponses
Salut,
man iptables
:~$ sudo cat /sys/module/xt_recent/parameters/ip_pkt_list_tot
20
Chez moi la valeur est 20
Voici un exemple (20 ça passe, 21 non)
:~$ sudo iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 10 --hitcount 21 --name WEB -j DROP
iptables: Invalid argument. Run 'dmesg' for more information.
:~$ sudo iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 10 --hitcount 20 --name WEB -j DROP
GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108
man iptables
--hitcount
....The maximum value for the hitcount parameter is given by the "ip_pkt_list_tot" parameter of the xt_recent kernel module.
Exceeding this value on the command line will cause the rule to be rejected.
:~$ sudo cat /sys/module/xt_recent/parameters/ip_pkt_list_tot
20
Chez moi la valeur est 20
Voici un exemple (20 ça passe, 21 non)
:~$ sudo iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 10 --hitcount 21 --name WEB -j DROP
iptables: Invalid argument. Run 'dmesg' for more information.
:~$ sudo iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 10 --hitcount 20 --name WEB -j DROP
GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108
Bonjour lami20j,
Merci, effectivement c'était ça qui coinçait !
Petite précision pour les personnes souhait changer la valeur :
chmod u+w /sys/module/xt_recent/parameters/ip_pkt_list_tot
echo 50 > /sys/module/xt_recent/parameters/ip_pkt_list_tot
chmod u-w /sys/module/xt_recent/parameters/ip_pkt_list_tot
Remplacer 50 par la valeur voulue
Merci, effectivement c'était ça qui coinçait !
Petite précision pour les personnes souhait changer la valeur :
chmod u+w /sys/module/xt_recent/parameters/ip_pkt_list_tot
echo 50 > /sys/module/xt_recent/parameters/ip_pkt_list_tot
chmod u-w /sys/module/xt_recent/parameters/ip_pkt_list_tot
Remplacer 50 par la valeur voulue
Salut,
Petite précision pour les personnes souhait changer la valeur :
Je ne suis pas d'accord ;-) Voici 3 raisons :
1. Ton changement ne sera plus valable au moment de redémarrage de la machine vu que sys est un système virtuel.
2. Ce genre de modification vaut mieux le faire en root
3. Il faut eviter de changer les droits
Sinon, voici une manière de le faire
Test de la commande
:~$ sudo iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 10 --hitcount 201 --name WEB -j DROP
iptables: Invalid argument. Run 'dmesg' for more information.
:~$ sudo iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 10 --hitcount 200 --name WEB -j DROP
Pour que la modification soit prise en compte en cas de redémarrage il faut configurer soit modprobe.conf soir voir dans le répertoire /etc/modprobe.d
Petite précision pour les personnes souhait changer la valeur :
Je ne suis pas d'accord ;-) Voici 3 raisons :
1. Ton changement ne sera plus valable au moment de redémarrage de la machine vu que sys est un système virtuel.
2. Ce genre de modification vaut mieux le faire en root
3. Il faut eviter de changer les droits
Sinon, voici une manière de le faire
:~$ sudo cat /sys/module/xt_recent/parameters/ip_pkt_list_tot 20 :~$ sudo rmmod xt_recent :~$ sudo modprobe xt_recent ip_pkt_list_tot=200 :~$ sudo cat /sys/module/xt_recent/parameters/ip_pkt_list_tot 200
Test de la commande
:~$ sudo iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 10 --hitcount 201 --name WEB -j DROP
iptables: Invalid argument. Run 'dmesg' for more information.
:~$ sudo iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 10 --hitcount 200 --name WEB -j DROP
Pour que la modification soit prise en compte en cas de redémarrage il faut configurer soit modprobe.conf soir voir dans le répertoire /etc/modprobe.d