Le 20/06/2015 12:02, Philippe Gras a
écrit :
En regardant vite fait : iptables -A INPUT -p tcp --dport 80 -s 54.77.203.73 -j DROP iptables -A INPUT -p tcp --dport 80 -s 162.158.68.167 -j REJECT --reject-with icmp-port-unreachable Comme discuté ici-même je crois, faut regrouper (pour la lisibilité) et rester sur du REJECT, pas DROP : iptables -A INPUT -p tcp --dport 80 -s 54.77.203.73,162.158.68.167 -j REJECT ---------- iptables -A INPUT -d 5.135.191.38 -p tcp --dport 80 -m string --to 70 --algo bm --string 'GET /w00tw00t.at.' -j DROP Ce genre de test sur du contenu, je le mettrais plutôt une fois que tout le reste marche. ----------- iptables -t filter -A INPUT -p icmp -j ACCEPT iptables -t filter -A OUTPUT -p icmp -j ACCEPT C'est un peu large comme accès, je mettrais plutôt du genre (exemple sur une chaine FORWARD à compléter selon besoins ): iptables -A FORWARD -i $lan -o $fai -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i $fai -o $lan -p icmp -m state --state ESTABLISHED -j ACCEPT iptables -A FORWARD -i $fai -o $lan -p icmp -m state --state RELATED --icmp-type destination-unreachable -j ACCEPT iptables -A FORWARD -i $fai -o $lan -p icmp -m state --state RELATED --icmp-type time-exceeded -j ACCEPT iptables -A FORWARD -i $fai -o $lan -p icmp -m state --state RELATED --icmp-type parameter-problem -j ACCEPT iptables -A FORWARD -i $fai -o $lan -p icmp -m state --state RELATED --icmp-type fragmentation-needed -j ACCEPT iptables -A FORWARD -i $fai -o $lan -p icmp -m state --state RELATED --icmp-type source-quench -j ACCEPT -------------- As-tu vraiment un DNS public ? : iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT Je n'ai pas regardé en détail, juste vite fait. Il faut reprendre à zéro ça sera plus simple en fonction de tes besoins et réécrire chaque règle en suivant la règle : 1) politique par défaut en DROP 2) on ACCEPT au cas par cas en sécurisant au maximum 3) On REJECT tout le reste avec éventuellement des logs. Samuel. |