[HS] Syn flood, comment s'en débarrasser ?
Le
Philippe Gras

Bonjour,
ça fait un mois environ que j’ai des trucs comme ça avec netstat =
-antp :
=
--=
tcp 0 0 X.XXX.XXX.XX:3306 174.36.59.12:36852 =
SYN_RECV -
tcp 0 0 X.XXX.XXX.XX:3306 174.36.59.12:53921 =
SYN_RECV -
tcp 0 0 X.XXX.XXX.XX:3306 174.36.59.12:56058 =
SYN_RECV -
tcp 0 0 X.XXX.XXX.XX:3306 174.36.59.12:16231 =
SYN_RECV -
tcp 0 0 X.XXX.XXX.XX:3306 174.36.59.12:30945 =
SYN_RECV -
tcp 0 0 X.XXX.XXX.XX:3306 186.2.161.165:1675 =
SYN_RECV -
tcp 0 0 X.XXX.XXX.XX:3306 174.36.59.12:58255 =
SYN_RECV -
=
--=
D’après ce que je comprends, la requête aboutit sur un port lambda =
et demande
quelque chose sur celui de MySQL. Le service tourne sur un socket, il =
n’y a rien
dans la colonne du PID.
Normalement, ma policy est DROP sur Netfilter.
1° Je ne comprends pas comment des requêtes peuvent être =
traitées sur des
ports fermés.
2° J’ai ajouté un module pour loguer les IP et les paquets, =
mais apparemment
rien n’aboutit.
3° Dois-je m’inquiéter de cet état de choses ?=
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: https://lists.debian.org/2B0C09E9-A3CD-496A-8BE9-7B463ADCF473@worldonline.fr
ça fait un mois environ que j’ai des trucs comme ça avec netstat =
-antp :
=
--=
tcp 0 0 X.XXX.XXX.XX:3306 174.36.59.12:36852 =
SYN_RECV -
tcp 0 0 X.XXX.XXX.XX:3306 174.36.59.12:53921 =
SYN_RECV -
tcp 0 0 X.XXX.XXX.XX:3306 174.36.59.12:56058 =
SYN_RECV -
tcp 0 0 X.XXX.XXX.XX:3306 174.36.59.12:16231 =
SYN_RECV -
tcp 0 0 X.XXX.XXX.XX:3306 174.36.59.12:30945 =
SYN_RECV -
tcp 0 0 X.XXX.XXX.XX:3306 186.2.161.165:1675 =
SYN_RECV -
tcp 0 0 X.XXX.XXX.XX:3306 174.36.59.12:58255 =
SYN_RECV -
=
--=
D’après ce que je comprends, la requête aboutit sur un port lambda =
et demande
quelque chose sur celui de MySQL. Le service tourne sur un socket, il =
n’y a rien
dans la colonne du PID.
Normalement, ma policy est DROP sur Netfilter.
1° Je ne comprends pas comment des requêtes peuvent être =
traitées sur des
ports fermés.
2° J’ai ajouté un module pour loguer les IP et les paquets, =
mais apparemment
rien n’aboutit.
3° Dois-je m’inquiéter de cet état de choses ?=
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: https://lists.debian.org/2B0C09E9-A3CD-496A-8BE9-7B463ADCF473@worldonline.fr
Vous avez vérifié la configuration d'iptables des fois qu'une 'porte'
ne soit pas resté ouverte ?
Le 19/06/2015 15:28, Philippe Gras a écrit :
--
Guillaume
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
J'ai moi aussi ce type de requêtes sans que cela soit vraiment du synflood. J'entends par synflood, une masse énorme de requête qui viendrait à faire loader mes serveurs.
Dans votre cas, qui semble être comme le miens, on peut ignorer ces requêtes.
Néanmoins, il est intéressent de s'assurer que le nombre de SYN_RECV n'avoisine pas la valeur tcp_max_syn_backlog.
Sur Debian la valeur par défaut est 2048. Si c'était le cas, vous pouvez activer tcp_syncookies
Plus info ici => https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt
En dernier recours, si votre serveur ne répond plus il faut ce tourner vers des solutions de mitigation de trafic cela doit se faire en amont de votre serveur.
Félix.
Le 19/06/2015 15:45, Guillaume a écrit :
--
Félix Defrance
PGP: 0x0F04DC57
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Comment puis-je vérifier la configuration dÂ’iptables ?
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Philippe Gras
bonjour,
utiliser (root ) cette instruction dans un terminal : iptables -L
merci de bien vouloir rendre compte sur la liste
slt
bernard
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Le 19/06/2015 16:31, Philippe Gras a écrit :
[...]
iptables -L -n
Samuel.
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=windows-1252
Le 19 juin 2015 à 17:29, Samuel
http://enpret.com/iptables-n-l.txt
Je mets ça en lien parce quÂ’elle est vachement longueÂ…
Il y a bien écrit "Chain INPUT (policy DROP)"
Mais est-ce avec garantie du gouvernement ou cÂ’est moi
qui interprète mal ?
Merci à tous pour toute ces ressources et je suis en train
de les consulter une à uneÂ…
--Apple-Mail=_56B358F7-9730-4FFC-94B2-263587C9EE37
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=windows-1252
--Apple-Mail=_56B358F7-9730-4FFC-94B2-263587C9EE37--
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=windows-1252
Le 20 juin 2015 à 00:32, Guillaume
Oui, en effet. Ce nÂ’est peut être pas une bonne chose, mais est-ce quÂ’on nÂ’est pas
obligé de faire comme ça de toute façon pour accéder aux données des sites sur le
port 80 ? Je nÂ’en sais fichtre rien !
Oui, et bizarrement et contrairement à ce que paraît indiquer netstat, aucun paquet
nÂ’est filtré sur le port 3306. Ce qui me ramène dÂ’ailleurs au problème précédent.
Par contre chaque matin, jÂ’ai des trucs bizarres dans Logwatch, avec des quantités
phénoménales de requêtes :
--------------------- iptables firewall Begin ------------------------
Listed by source hosts:
Logged 10992 packets on interface eth0
From 61.160.224.128 - 1 packet to tcp(21)
From 69.90.188.220 - 1 packet to tcp(80)
From 78.113.230.91 - 1 packet to tcp(80)
From 82.124.236.16 - 99 packets to tcp(21)
From 85.159.232.115 - 1 packet to tcp(21)
From 95.213.131.236 - 114 packets to tcp(80)
From 103.16.26.71 - 2 packets to tcp(21)
From 104.27.191.40 - 5359 packets to tcp(80)
From 141.101.75.41 - 1 packet to tcp(80)
From 141.101.104.61 - 707 packets to tcp(80)
From 173.245.50.94 - 3 packets to tcp(80)
From 178.19.104.138 - 1 packet to tcp(21)
From 188.114.110.64 - 16 packets to tcp(80)
From 195.154.209.237 - 1 packet to tcp(80)
From 198.41.128.61 - 59 packets to tcp(80)
From 198.41.140.60 - 3069 packets to tcp(80)
From 198.41.141.60 - 1556 packets to tcp(80)
From 218.77.79.43 - 1 packet to tcp(21)
---------------------- iptables firewall End -------------------------
Ce qui pourrait se traduire par cela :
--------------------- Kernel Begin ------------------------
WARNING: Segmentation Faults in these executables
php5-fpm : 2 Time(s)
---------------------- Kernel End -------------------------
--Apple-Mail=_42D637CA-90D5-49AC-9A0A-269EA8BE67A7
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=windows-1252
<meta content="text/html; charset=windows-1252" http-equiv="Content-Type">
<div bgcolor="#FFFFFF" text="#000000">
Si j'ai bien lu tu laisses passer le trafic MySQL pour tout le monde
avant de logger. <br>
Vous pouvez ajouter l'option '-v' à iptables pour voir les compteurs<br>
<br>
iptables -nvL <br>
<div class="moz-cite-prefix">Le 20/06/2015 00:10, Philippe Gras a
écrit :<br>
</div>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<br>
<div>
a écrit :</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">Bonjour,<br>
<br>
Le 19/06/2015 16:31, Philippe Gras a écrit :<br>
<br>
[...]<br>
<br>
<blockquote type="cite">Comment puis-je vérifier la
configuration dÂ’iptables ?<br>
</blockquote>
<br>
iptables -L -n<br>
</blockquote>
<div><br>
</div>
<div><br>
</div>
<div>Je mets ça en lien parce quÂ’elle est vachement longueÂ…</div>
<div><br>
</div>
<div>Il y a bien écrit "<span style="white-space: pre-wrap;">Chain
INPUT (policy DROP)"</span>
<div><br>
</div>
<div>Mais est-ce avec garantie du gouvernement ou cÂ’est moi</div>
<div>qui interprète mal ?</div>
<div><br>
</div>
<div>Merci à tous pour toute ces ressources et je suis en train</div>
<div>de les consulter une à uneÂ…</div>
<div><br>
</div>
<blockquote type="cite"><br>
Samuel.<br>
<br>
-- <br>
Lisez la FAQ de la liste avant de poser une question :<br>
<br>
Pour vous DESABONNER, envoyez un message avec comme objet
"unsubscribe"<br>
vers En cas de soucis, contactez EN ANGLAIS
Archive: <br>
</blockquote>
</div>
<br>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Guillaume</pre>
</div>
</blockquote></div><br></body></html>
--Apple-Mail=_42D637CA-90D5-49AC-9A0A-269EA8BE67A7--
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
J'ai du mal à lire avec -L ..
Pourquoi serait-il étonnant que les paquets SYN passent puisque la
première règle à apparaître stipule qu'elle "ACCEPT" toutes les
connexions sur le port 3306 ?
Pourquoi y a t-il une limite de paquets sur ce même port quelques lignes
en dessous ( qui ne sera donc jamais atteinte puisque tout les paquets
ont déjà été accepté comme l'a fait remarquer Guillaume pour celle des
"LOG" ) ?
Une config normal de netfilter =>
1-On drop les badboys
2-On LOG éventuellement les cas particuliers que l'on souhaite surveiller.
3-On fait notre filtrage sur ce que l'on "ACCEPT" ( et il faut bien
comprendre que l'ordre des règles est important => si on ACCEPT tout en
premier lieu, les règles suivante ne seront jamais traversées / appliquées )
4-On LOG éventuellement le reste
5-On revient au DROP par défaut pour tout les autres paquets.
Pour le pid, je ne suis pas sur ... mais étant donné que SYN/TCP = kernel ... je suppose que MySQL n'a encore rien reçu à cet instant
précis: donc pas de pid.
Pour le port 80 ... je n'ai pas compris ton interrogation.
Je pense que tu es bon pour un voyage sur les HOW-TO de netfilter, je
vois des choses très étrange.
http://www.netfilter.org/documentation/HOWTO/fr/
--
Josh
On 20/06/2015 00:58, Philippe Gras wrote:
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=windows-1252
Le 20 juin 2015 à 10:46, Samuel
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.
--Apple-Mail=_CFECEBA1-BB5C-4822-9E51-E658B852CAD3
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=windows-1252
<meta content="text/html; charset=windows-1252" http-equiv="Content-Type">
<div bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Le 20/06/2015 00:58, Philippe Gras a
écrit :<br>
</div>
<meta http-equiv="Context-Type" content="text/html;
charset=windows-1252">
<br>
<div>
a écrit :</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">
<div> Si j'ai bien lu tu laisses passer le trafic MySQL pour
tout le monde avant de logger.<br>
</div>
</blockquote>
<div><br>
</div>
Oui, en effet. Ce nÂ’est peut être pas une bonne chose, mais
est-ce quÂ’on nÂ’est pas</div>
<div>obligé de faire comme ça de toute façon pour accéder aux
données des sites sur le</div>
<div>port 80 ? Je nÂ’en sais fichtre rien !<br>
<blockquote type="cite">
<div> <br>
Vous pouvez ajouter l'option '-v' à iptables pour voir les
compteurs<br>
<br>
iptables -nvL<br>
</div>
</blockquote>
<div><br>
</div>
Oui, et bizarrement et contrairement à ce que paraît indiquer
netstat, aucun paquet</div>
<div>nÂ’est filtré sur le port 3306. Ce qui me ramène dÂ’ailleurs au
problème précédent.</div>
</blockquote>
<br>
[...]<br>
<br>
Je lis plus facilement les commandes iptables, mais comme quelqu'un
te l'a fait remarquer les règles ont l'air un peu brouillon.<br>
<br>
Très tôt, tu as cette règle dans la section INPUT : --Apple-Mail=_CFECEBA1-BB5C-4822-9E51-E658B852CAD3--
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Pour faire une parenthèse :
D'autres me reprendront si je me trompe, mais ce genre de traitement de
contenu n'est pas recommandé avec netfilter.
Par exemple ta commande empêchera d'envoyer via webmail un email avec le
texte 'matché'.
Il vaut mieux travailler au niveau applicatif avec par exemple (pour ton
exemple du port 80) un module apache : modsecurity ou même les
rewriterules du module 'rewrite' d'apache qui collent à ton besoin.
Mais c'est un autre travail...
Samuel.
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/