Alors voici quelques commandes utile pour ouvrir un flux multicast sur un serveur Centos disposant de deux interfaces réseaux :
Achives de la catégorie ‘iptable’
2013
Iptable : Limiter le nombre de connexions par IP
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --name BLACKLIST --set iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --name BLACKLIST --update --seconds 10 --hitcount 10 --rttl -j DROP
Avec les deux règles précédentes je refuse (DROP) les nouvelles (-m state –state NEW) connexions entrantes (-A INPUT) au port http (–dport 80) qui atteignent le taux de 10 connexions (–hitcount 10) sur une période de 10 secondes (–seconds 10) et qui utilisent le protocol tcp (-p tcp).
La première règle sert à mettre à jour l’adresse IP dans la liste BLACKLIST et la seconde règle permet de limiter les connexions.
Bloquer les attaquants sur une période plus grande que le taux
Le problème des règles précédentes est que l’adresse IP attaquante est bloquée sur une période glissante qui n’est que de 10 secondes.
Pour bloquer sur une période différentes que celle qui définit par le taux limite j’ai mis en place les règles suivantes :
Création d’une nouvelle chaine BLACKLIST :
iptables -N BLACKLIST
Lorsqu’un paquet arrive dans la chaine BLACKLIST on le drop et on ajoute son IP dans la liste BLACKLIST :
iptables -A BLACKLIST -m recent --name BLACKLIST --set -j DROP
On bloque les paquets pour une période de 60 secondes :
iptables -A INPUT -m recent --update --name BLACKLIST --seconds 60 --rttl -j DROP
Quand un paquet arrive en entrée sur le port 80 on met son IP dans la liste COUNTER :
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --name COUNTER --set
Si un paquet arrive en entrée et qu’il dépasse le taux on le redirige dans la chaine BLACKLIST :
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --name COUNTER --update --seconds 10 --hitcount 10 --rttl -j BLACKLIST
http://dev.petitchevalroux.net/linux/iptable-limiter-nombre-connexions-par-linux.342.html