Iptables, scans et logs

Le
Vinc Teteve
Bonjour à tous,

Je suis en train d'essayer de configurer le firewall d'un serveur sous
Debian. J'essaye de faire un LOG + DROP pour les scans TCP.
Voici un extrait (le début "problématique") de "iptables -L -n -v" :

Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 PKTTYPE = broadcast
1 40 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
2551 172K check-flags all -- * * 0.0.0.0/0 0.0.0.0/0
2551 172K TCP_FLAGS all -- * * 0.0.0.0/0 0.0.0.0/0
2551 172K last-check all -- * * 0.0.0.0/0 0.0.0.0/0
1496 129K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state
RELATED,ESTABLISHED
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp option=!2
flags:0x02/0x02

Chain BADFLAGS (5 references)
pkts bytes target prot opt in out source destination
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 4
prefix `IPT-BADFLAGS:'
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0

Chain LOG_DROP (0 references)
pkts bytes target prot opt in out source destination
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 6/hour burst
1 LOG flags 2 level 4 prefix `Drop-Ban-IP:'
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0

Chain TCP_FLAGS (2 references)
pkts bytes target prot opt in out source destination
0 0 BADFLAGS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x11/0x01
0 0 BADFLAGS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x18/0x08
0 0 BADFLAGS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x30/0x20
0 0 BADFLAGS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x05/0x05
0 0 BADFLAGS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x3F/0x2B

Chain check-flags (2 references)
pkts bytes target prot opt in out source destination
0 0 LOG tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x3F/0x29
limit: avg 3/min burst 5 LOG flags 0 level 4 prefix `NMAP-XMAS:'
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x3F/0x29
0 0 LOG tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x3F/0x3F
limit: avg 3/min burst 5 LOG flags 0 level 4 prefix `XMAS:'
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x3F/0x3F
0 0 LOG tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x3F/0x37
limit: avg 3/min burst 5 LOG flags 0 level 4 prefix `XMAS-PSH:'
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x3F/0x37
0 0 LOG tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x3F/0x00
limit: avg 3/min burst 5 LOG flags 0 level 4 prefix `NULL-SCAN:'
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x3F/0x00
0 0 LOG tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x06
limit: avg 3/min burst 5 LOG flags 0 level 4 prefix `SYN/RST:'
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x06
0 0 LOG tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x03/0x03
limit: avg 3/min burst 5 LOG flags 0 level 4 prefix `SYN/FIN:'
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x03/0x03

Chain last-check (2 references)
pkts bytes target prot opt in out source destination
21 1052 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp
flags:0x17/0x02 limit: avg 5/sec burst 5
9 360 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x17/0x04
limit: avg 1/sec burst 5
9 252 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 8 limit:
avg 1/sec burst 5

(Je sais, il est un peu "excessif" sur certains points, mais c'est pour
apprendre/comprendre)
Je lance un/des scans avec nmap (nmap -sN mon.serveur.tld && nmap -sF
mon.serveur.tld && nmap -sXmon.serveur.tld) depuis mon desktop, et
aucune inscription n'apparaît dans les fichiers de log (ni iptables.log,
ni kern.log). Et pour cause, aucun paquet n'est matché par les règles
"anti-scan".

Je ne comprends pas pourquoi, et je ne sais pas où chercher (pas
d'erreur apparaissant dans les logs). Auriez-vous une piste ?

Cdt

--
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: http://lists.debian.org/4ED2B39C.7080004@gmail.com
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jean-Yves F. Barbier
Le #24009161
On Sun, 27 Nov 2011 23:03:08 +0100
Vinc Teteve
a pô marché mon iptables



http://www.ossramblings.com/using_iptables_rate_limiting_to_prevent_portsca ns

--
When a person goes on a diet, the first thing he loses is his temper.

--
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: http://lists.debian.org/
vincent.etevenaux
Le #24009281
J'ai déjà lu ce site, mais mon pitoyable anglais n'a pas dû m'aider à
comprendre correctement...
Mon but étant de comprendre le fonctionnement, pour pouvoir ensuite
l'adapter et l'affiner.
Je ne comprends pas pourquoi un scan NULL-SYN (par exemple) n'est pas
matché par la règle :
0 0 LOG tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x3F/0x00
limit: avg 3/min burst 5 LOG flags 0 level 4 prefix `NULL-SCAN:'
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x3F/0x00
Après, l'efficacité de cette règle en soi est secondaire. Je cherche
donc quelle est la partie que j'ai ratée, ou mal comprise...
Mais c'est clair que "ça marche sûrement, mais ça mârche pô comme je
veux..." :/

Le 27/11/2011 23:26, Jean-Yves F. Barbier a écrit :
On Sun, 27 Nov 2011 23:03:08 +0100
Vinc Teteve
a pô marché mon iptables


http://www.ossramblings.com/using_iptables_rate_limiting_to_prevent_portscans




--
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: http://lists.debian.org/
Vinc Teteve
Le #24009301
Désolé, je me suis planté d'adresse pour répondre. Mais je suis toujours
preneur d'une piste ou d'une explication... :)

Le 27/11/2011 23:54, vincent.etevenaux a écrit :
J'ai déjà lu ce site, mais mon pitoyable anglais n'a pas dû m'aider à
comprendre correctement...
Mon but étant de comprendre le fonctionnement, pour pouvoir ensuite
l'adapter et l'affiner.
Je ne comprends pas pourquoi un scan NULL-SYN (par exemple) n'est pas
matché par la règle :
0 0 LOG tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x3F/0x00
limit: avg 3/min burst 5 LOG flags 0 level 4 prefix `NULL-SCAN:'
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x3F/0x00
Après, l'efficacité de cette règle en soi est secondaire. Je cherche
donc quelle est la partie que j'ai ratée, ou mal comprise...
Mais c'est clair que "ça marche sûrement, mais ça mârche pô comme je
veux..." :/

Le 27/11/2011 23:26, Jean-Yves F. Barbier a écrit :
On Sun, 27 Nov 2011 23:03:08 +0100
Vinc Teteve
a pô marché mon iptables


http://www.ossramblings.com/using_iptables_rate_limiting_to_prevent_portscans








--
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: http://lists.debian.org/
Jean-Yves F. Barbier
Le #24009341
On Sun, 27 Nov 2011 23:54:48 +0100
"vincent.etevenaux"
J'ai déjà lu ce site, mais mon pitoyable anglais n'a pas dà » m'aider à
comprendre correctement...



et translate.google.com c'est pour les chiens?

Mon but étant de comprendre le fonctionnement, pour pouvoir ensuite
l'adapter et l'affiner.
Je ne comprends pas pourquoi un scan NULL-SYN (par exemple) n'est pas
matché par la règle :



Null-syn ne veut non seulement rien dire, mais est en plus impossible.

--
Obviously the only rational solution to your problem is suicide.

--
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: http://lists.debian.org/
Jean-Michel OLTRA
Le #24009681
Bonjour,


Le dimanche 27 novembre 2011, vincent.etevenaux a écrit...


Je ne comprends pas pourquoi un scan NULL-SYN (par exemple) n'est pas
matché par la règle :
0 0 LOG tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x3F/0x00
limit: avg 3/min burst 5 LOG flags 0 level 4 prefix `NULL-SCAN:'
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x3F/0x00
Après, l'efficacité de cette règle en soi est secondaire. Je cherche
donc quelle est la partie que j'ai ratée, ou mal comprise...
Mais c'est clair que "ça marche sûrement, mais ça mârche pô comme je
veux..." :/



Je ne me rappelle plus de ton test (nmap ? hping ?), mais si tu envoies
un syn, alors tu n'es plus dans le masque 0x00, qui représente « aucun
drapeau mis », puisque tu en as un (ALL/NONE en fait).

--
jm

--
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: http://lists.debian.org/
Vinc Teteve
Le #24010321
Mes excuses d'avoir autant abrégé mes réponses, et m'être emmêlé les
pinceaux... Je reprends donc :
Malgré une lecture en anglais de ce site (je comprends un minimum
syndical la langue de Shakespeare), une traduction de
translate.google.com, une demande de vérification d'un ami (anglophone
mais non informaticien), je n'ai toujours pas compris mon erreur.
J'y ai bien compris que mes règles ne sont pas optimales, et qu'il y a
mieux : "Not that I'm telling you to not use the above code, in fact
it's a good first step."
Mon but n'est pas de trouver la règle la plus efficace contre des scans
qui n'arriveront probablement jamais jusqu'à mon petit serveur.

J'ai cafouillé en disant NULL-SYN au lieu de NULL-SCAN. (man nmap : Scan
Null (-sN) : N'active aucun des bits (les drapeaux de l'en-tête TCP vaut 0))
Je vais rejeter lâchement la faute sur la fatigue d'un w-e studieux... :)

Pour résumer correctement ma question : pourquoi mes règles ne sont pas
vérifiées lors d'un scan ? Où chercher l'erreur ?
Je vois bien augmenter le nombre de paquets qui passent par chaque
règle, mais aucun n'est "intercepté"...

Pour anticiper quelques remarques plus ou moins affables, ça fait 3
semaines que j'épluche les sites et docs sur iptables, sans trouver.
Je viens donc chercher conseil, n'ayant pas trouvé de réponse malgré mes
recherches...

Cdt

Le 28/11/2011 00:19, Jean-Yves F. Barbier a écrit :
On Sun, 27 Nov 2011 23:54:48 +0100
"vincent.etevenaux"
J'ai déjà lu ce site, mais mon pitoyable anglais n'a pas dû m'aider à
comprendre correctement...


et translate.google.com c'est pour les chiens?

Mon but étant de comprendre le fonctionnement, pour pouvoir ensuite
l'adapter et l'affiner.
Je ne comprends pas pourquoi un scan NULL-SYN (par exemple) n'est pas
matché par la règle :


Null-syn ne veut non seulement rien dire, mais est en plus impossible.




--
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: http://lists.debian.org/
Publicité
Poster une réponse
Anonyme