[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS] Syn flood, comment s'en débarrasser ?



Le 20/06/2015 12:31, Samuel a écrit :
Le 20/06/2015 12:02, Philippe Gras a écrit :
 
J’ai modifié le script qui établit les règles un peu tous les jours pour essayer de résoudre ce problème, alors
il est possible que je me sois mélangé les pinceaux.

Je vous l’ai mis sous la même url pour que vous puissiez deviner la chronologie des versions, parce que j’ai
commenté les versions précédentes et ne les ai pas écrasées.

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.

Il ne faut pas oublier de glisser en 1bis) les règles pour bloquer les ennuyeux (sur des ports ouverts) comme j'ai pu le voir :

1) politique par défaut en DROP
1bis) iptables -A INPUT -p tcp --dport 80 -s 54.77.203.73,162.158.68.167 -j REJECT
2) on ACCEPT au cas par cas en sécurisant au maximum
3) On REJECT tout le reste avec éventuellement des logs.

Samuel.

Reply to: