iptables et cible -limit (et consideration sur les scans de ports)
5 réponses
Kevin
Bonjour,
je lis mes logs qui sont pas mal remplis de "junk". J'aimerai limiter un
peu tout ca.
Dans mes regles -j LOG j'ai besoin d'ajouter une cible -m limit, ok?
Par exemple, pour les requetes entrantes vers named (refusees):
iptables -A INPUT -i eth1 -p udp --dport 53 -m limit --limit=1/s -j LOG
--log-prefix " requete vers named"
Et la, je n'ai qu'un log par seconde au maximum. J'ai bon?
Il m'arrive souvent de me prendre un flot enorme de requetes vers le
port 53 la meme seconde provenant d'un gros paquet d'IP differentes.
Est-ce qu'on peut penser qu'il s'agit la d'un nmap avec decoy?
D'autre part, j'ai souvent des series de requetes avec le port 55555 comme
port source vers le port 53 udp. C'est un outil de SK qui utilise ce
port source par defaut?
Enfin, je voudrais limiter aussi l'ecriture des ports entrants 135, 139
445 et 4444. Mais la, y a t'il moyen de limiter par IP.
Exemple, une machine me balance en quelques secondes plusieurs dizaines
de requetes. Ca je souhaite limiter. Mais si une autre entretemps s'y
met, j'aimerai quand meme avoir une trace. Et la, je lis le man d'iptables,
je ne vois pas trop quelle syntaxe utiliser.
D'autre part, pour limiter ce flot, est ce que le fait d'utiliser un
-j DROP ou un -j REJECT a une influence? J'ai essaye les deux, mais ca
ne m'a pas l'air vraiment probant. L'un des deux est il plus efficace?
Merci
--
Kevin
NOOON! Pas ce bouton!
-+- Les 100 choses que vous n'aimez pas entendre de la part du sysadmin -+-
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
You
Kevin DENIS wrote:
Enfin, je voudrais limiter aussi l'ecriture des ports entrants 135, 139 445 et 4444. Mais la, y a t'il moyen de limiter par IP. Exemple, une machine me balance en quelques secondes plusieurs dizaines de requetes. Ca je souhaite limiter. Mais si une autre entretemps s'y met, j'aimerai quand meme avoir une trace. Et la, je lis le man d'iptables, je ne vois pas trop quelle syntaxe utiliser.
J'ai vu beaucoup de scripts iptables avec des if et fi... Il devrait être possible d'attribuer une variable à l'ip, comme on en adresse une à l'ip dynamique... et d'établir ainsi de nouvelles règles à partir de cette/ces variable(s)
Il devrait même être possible de la récupérer dans les logs avec grep...
Pour m'aventurer un peu plus loin, je dirais que... La nuance, ici, c'est que l'ip dynamique, une fois attribuée, est "fixe". Dans le cas de plusieurs adresses que l'on va chercher dans les logs, avec un certains temps, ça doit encore un peu se compliquer et là, ma théorie m'abandonne :-(
Une autre solution, plus simple, en ce qui concerne uniquement la lecture des logs, est de les traiter directement. Iptables (ou la doc sur le site de NetFilter), à ce sujet, renvoie alors assez naturellement à la documentation locale... Ce qui concerne encore la sécurité mais plus nécessairement le FW.
J'en suis un peu là aussi pour le moment... Alternativement, n'hésite pas à me courrieler si tes questions sortent un peu trop de la charte ou si tu veux en discuter plus rapidement.
Chris.
Kevin DENIS wrote:
Enfin, je voudrais limiter aussi l'ecriture des ports entrants 135,
139 445 et 4444. Mais la, y a t'il moyen de limiter par IP. Exemple,
une machine me balance en quelques secondes plusieurs dizaines de
requetes. Ca je souhaite limiter. Mais si une autre entretemps s'y
met, j'aimerai quand meme avoir une trace. Et la, je lis le man
d'iptables, je ne vois pas trop quelle syntaxe utiliser.
J'ai vu beaucoup de scripts iptables avec des if et fi... Il devrait
être possible d'attribuer une variable à l'ip, comme on en adresse une à
l'ip dynamique... et d'établir ainsi de nouvelles règles à partir de
cette/ces variable(s)
Il devrait même être possible de la récupérer dans les logs avec grep...
Pour m'aventurer un peu plus loin, je dirais que... La nuance, ici,
c'est que l'ip dynamique, une fois attribuée, est "fixe". Dans le cas de
plusieurs adresses que l'on va chercher dans les logs, avec un certains
temps, ça doit encore un peu se compliquer et là, ma théorie m'abandonne :-(
Une autre solution, plus simple, en ce qui concerne uniquement la
lecture des logs, est de les traiter directement. Iptables (ou la doc
sur le site de NetFilter), à ce sujet, renvoie alors assez naturellement
à la documentation locale... Ce qui concerne encore la sécurité mais
plus nécessairement le FW.
J'en suis un peu là aussi pour le moment... Alternativement, n'hésite
pas à me courrieler si tes questions sortent un peu trop de la charte ou
si tu veux en discuter plus rapidement.
Enfin, je voudrais limiter aussi l'ecriture des ports entrants 135, 139 445 et 4444. Mais la, y a t'il moyen de limiter par IP. Exemple, une machine me balance en quelques secondes plusieurs dizaines de requetes. Ca je souhaite limiter. Mais si une autre entretemps s'y met, j'aimerai quand meme avoir une trace. Et la, je lis le man d'iptables, je ne vois pas trop quelle syntaxe utiliser.
J'ai vu beaucoup de scripts iptables avec des if et fi... Il devrait être possible d'attribuer une variable à l'ip, comme on en adresse une à l'ip dynamique... et d'établir ainsi de nouvelles règles à partir de cette/ces variable(s)
Il devrait même être possible de la récupérer dans les logs avec grep...
Pour m'aventurer un peu plus loin, je dirais que... La nuance, ici, c'est que l'ip dynamique, une fois attribuée, est "fixe". Dans le cas de plusieurs adresses que l'on va chercher dans les logs, avec un certains temps, ça doit encore un peu se compliquer et là, ma théorie m'abandonne :-(
Une autre solution, plus simple, en ce qui concerne uniquement la lecture des logs, est de les traiter directement. Iptables (ou la doc sur le site de NetFilter), à ce sujet, renvoie alors assez naturellement à la documentation locale... Ce qui concerne encore la sécurité mais plus nécessairement le FW.
J'en suis un peu là aussi pour le moment... Alternativement, n'hésite pas à me courrieler si tes questions sortent un peu trop de la charte ou si tu veux en discuter plus rapidement.
Chris.
You
You wrote
Kevin DENIS wrote:
Enfin, je voudrais limiter aussi l'ecriture des ports entrants 135, 139 445 et 4444. Mais la, y a t'il moyen de limiter par IP. Exemple, une machine me balance en quelques secondes plusieurs dizaines de requetes. Ca je souhaite limiter. Mais si une autre entretemps s'y met, j'aimerai quand meme avoir une trace. Et la, je lis le man d'iptables, je ne vois pas trop quelle syntaxe utiliser.
Je pense que c'est en grosse partie ce que tu cherches: http://www.netfilter.org/documentation/HOWTO/fr/netfilter-extensions-HOWTO-3.html#ss3.16
Le patch recent:
Ce patch par Stephen Frost ajoute un nouveau match qui vous permet de créer dynamiquement une liste d'adresses IP et ensuite de matcher des paquets par rapport à cette liste de différentes manières.
Par exemple, si vous voulez créer une liste `lesmechants' contenant l'adresse IP des gens qui essayent de se connecter au port 139 sur votre firewall, pour pouvoir ensuite les bloquer pendant 60 secondes, faites comme suit : (...)
Bonne chance,
Chris.
You wrote
Kevin DENIS wrote:
Enfin, je voudrais limiter aussi l'ecriture des ports entrants 135,
139 445 et 4444. Mais la, y a t'il moyen de limiter par IP.
Exemple, une machine me balance en quelques secondes plusieurs
dizaines de requetes. Ca je souhaite limiter. Mais si une autre
entretemps s'y met, j'aimerai quand meme avoir une trace. Et la, je
lis le man d'iptables, je ne vois pas trop quelle syntaxe
utiliser.
Je pense que c'est en grosse partie ce que tu cherches:
http://www.netfilter.org/documentation/HOWTO/fr/netfilter-extensions-HOWTO-3.html#ss3.16
Le patch recent:
Ce patch par Stephen Frost <sfrost@snowman.net> ajoute un nouveau match
qui vous permet de créer dynamiquement une liste d'adresses IP et
ensuite de matcher des paquets par rapport à cette liste de différentes
manières.
Par exemple, si vous voulez créer une liste `lesmechants' contenant
l'adresse IP des gens qui essayent de se connecter au port 139 sur votre
firewall, pour pouvoir ensuite les bloquer pendant 60 secondes, faites
comme suit : (...)
Enfin, je voudrais limiter aussi l'ecriture des ports entrants 135, 139 445 et 4444. Mais la, y a t'il moyen de limiter par IP. Exemple, une machine me balance en quelques secondes plusieurs dizaines de requetes. Ca je souhaite limiter. Mais si une autre entretemps s'y met, j'aimerai quand meme avoir une trace. Et la, je lis le man d'iptables, je ne vois pas trop quelle syntaxe utiliser.
Je pense que c'est en grosse partie ce que tu cherches: http://www.netfilter.org/documentation/HOWTO/fr/netfilter-extensions-HOWTO-3.html#ss3.16
Le patch recent:
Ce patch par Stephen Frost ajoute un nouveau match qui vous permet de créer dynamiquement une liste d'adresses IP et ensuite de matcher des paquets par rapport à cette liste de différentes manières.
Par exemple, si vous voulez créer une liste `lesmechants' contenant l'adresse IP des gens qui essayent de se connecter au port 139 sur votre firewall, pour pouvoir ensuite les bloquer pendant 60 secondes, faites comme suit : (...)
Bonne chance,
Chris.
You
You wrote:
Kevin DENIS wrote:
Enfin, je voudrais limiter aussi l'ecriture des ports entrants 135, 139 445 et 4444. Mais la, y a t'il moyen de limiter par IP. Exemple, une machine me balance en quelques secondes plusieurs dizaines de requetes. Ca je souhaite limiter. Mais si une autre entretemps s'y met, j'aimerai quand meme avoir une trace. Et la, je lis le man d'iptables, je ne vois pas trop quelle syntaxe utiliser.
Encore une remarque...
Linux 2.4 Packet Filtering HOWTO (par Rusty) 11. Mise en Garde sur le Filtre de Paquets "[...] Le logging est utile quand tu réalises un firewall si quelquechose ne fonctionne pas, mais sur un firewall de production, combines le avec la concordance `limit', pour eviter que quelqu'un ne satures tes logs."
Dans ce cas-ci, tu dropes avec limit et tu récupères /ensuite/ avec log
L'astuce, c'est juste qu'il faut droper /avant/ de logguer. L'ordre des règles ayant toute leur importance.
Chris.
You wrote:
Kevin DENIS wrote:
Enfin, je voudrais limiter aussi l'ecriture des ports entrants 135,
139 445 et 4444. Mais la, y a t'il moyen de limiter par IP. Exemple,
une machine me balance en quelques secondes plusieurs dizaines de
requetes. Ca je souhaite limiter. Mais si une autre entretemps s'y
met, j'aimerai quand meme avoir une trace. Et la, je lis le man
d'iptables, je ne vois pas trop quelle syntaxe utiliser.
Encore une remarque...
Linux 2.4 Packet Filtering HOWTO (par Rusty)
11. Mise en Garde sur le Filtre de Paquets
"[...] Le logging est utile quand tu réalises un firewall si
quelquechose ne fonctionne pas, mais sur un firewall de production,
combines le avec la concordance `limit', pour eviter que quelqu'un ne
satures tes logs."
Dans ce cas-ci, tu dropes avec limit et tu récupères /ensuite/ avec log
L'astuce, c'est juste qu'il faut droper /avant/ de logguer. L'ordre des
règles ayant toute leur importance.
Enfin, je voudrais limiter aussi l'ecriture des ports entrants 135, 139 445 et 4444. Mais la, y a t'il moyen de limiter par IP. Exemple, une machine me balance en quelques secondes plusieurs dizaines de requetes. Ca je souhaite limiter. Mais si une autre entretemps s'y met, j'aimerai quand meme avoir une trace. Et la, je lis le man d'iptables, je ne vois pas trop quelle syntaxe utiliser.
Encore une remarque...
Linux 2.4 Packet Filtering HOWTO (par Rusty) 11. Mise en Garde sur le Filtre de Paquets "[...] Le logging est utile quand tu réalises un firewall si quelquechose ne fonctionne pas, mais sur un firewall de production, combines le avec la concordance `limit', pour eviter que quelqu'un ne satures tes logs."
Dans ce cas-ci, tu dropes avec limit et tu récupères /ensuite/ avec log
L'astuce, c'est juste qu'il faut droper /avant/ de logguer. L'ordre des règles ayant toute leur importance.
Chris.
You
Kevin DENIS wrote:
D'autre part, pour limiter ce flot, est ce que le fait d'utiliser un -j DROP ou un -j REJECT a une influence? J'ai essaye les deux, mais ca ne m'a pas l'air vraiment probant. L'un des deux est il plus efficace?
De mémoire...
-j DROP Tu refuses, sans répondre -j REJECT Tu indiques que tu refuses
Habituellement, on drope, par défaut, tous les paquets.
Chris.
Kevin DENIS wrote:
D'autre part, pour limiter ce flot, est ce que le fait d'utiliser un
-j DROP ou un -j REJECT a une influence? J'ai essaye les deux, mais ca
ne m'a pas l'air vraiment probant. L'un des deux est il plus efficace?
De mémoire...
-j DROP
Tu refuses, sans répondre
-j REJECT
Tu indiques que tu refuses
Habituellement, on drope, par défaut, tous les paquets.
D'autre part, pour limiter ce flot, est ce que le fait d'utiliser un -j DROP ou un -j REJECT a une influence? J'ai essaye les deux, mais ca ne m'a pas l'air vraiment probant. L'un des deux est il plus efficace?
De mémoire...
-j DROP Tu refuses, sans répondre -j REJECT Tu indiques que tu refuses
Habituellement, on drope, par défaut, tous les paquets.
Chris.
Kevin
Le 30 Oct 2003 16:53:43 GMT, You a ecrit: |> D'autre part, pour limiter ce flot, est ce que le fait d'utiliser un |> -j DROP ou un -j REJECT a une influence? J'ai essaye les deux, mais ca |> ne m'a pas l'air vraiment probant. L'un des deux est il plus efficace? | | Habituellement, on drope, par défaut, tous les paquets. | Ca depend de la politique par defaut, ou de la derniere regle.
En fait ma question porte plus sur le comportement du ver en face:
Il est completement abruti et lance ses scans de port de maniere aleatoire, ou dans le cas d'un icmp-host-unreachable, il passe a l'IP suivante? Dans ce cas une regle iptables en REJECT peut eviter de me bouffer de la BP (une seule tentative de la part du ver) et des logs. Ou alors, s'il voit que la pile IP repond a l'autre bout, il continue a l'acharnement, et donc un drop est preferable (il tente deux-trois fois puis abandonne, lasse).
Mais pour savoir ca, il faut avoir etudie les vers en face. Ce que je n'ai ni le temps, ni les competences pour le faire. D'ou ma question sur fcs. Certains l'ont peut etre fait, et des regles bien choisies pourraient avoir leur importance.
De maniere subjective, apres mes petits tests, j'ai l'impression que les vers sont indifferents a ce que dit la machine en face.
-- Kevin
Le 30 Oct 2003 16:53:43 GMT, You a ecrit:
|> D'autre part, pour limiter ce flot, est ce que le fait d'utiliser un
|> -j DROP ou un -j REJECT a une influence? J'ai essaye les deux, mais ca
|> ne m'a pas l'air vraiment probant. L'un des deux est il plus efficace?
|
| Habituellement, on drope, par défaut, tous les paquets.
|
Ca depend de la politique par defaut, ou de la derniere regle.
En fait ma question porte plus sur le comportement du ver en face:
Il est completement abruti et lance ses scans de port de maniere
aleatoire, ou dans le cas d'un icmp-host-unreachable, il passe a
l'IP suivante? Dans ce cas une regle iptables en REJECT peut eviter de
me bouffer de la BP (une seule tentative de la part du ver) et des logs.
Ou alors, s'il voit que la pile IP repond a l'autre bout, il continue
a l'acharnement, et donc un drop est preferable (il tente deux-trois
fois puis abandonne, lasse).
Mais pour savoir ca, il faut avoir etudie les vers en face. Ce que
je n'ai ni le temps, ni les competences pour le faire. D'ou ma question
sur fcs. Certains l'ont peut etre fait, et des regles bien choisies
pourraient avoir leur importance.
De maniere subjective, apres mes petits tests, j'ai l'impression que
les vers sont indifferents a ce que dit la machine en face.
Le 30 Oct 2003 16:53:43 GMT, You a ecrit: |> D'autre part, pour limiter ce flot, est ce que le fait d'utiliser un |> -j DROP ou un -j REJECT a une influence? J'ai essaye les deux, mais ca |> ne m'a pas l'air vraiment probant. L'un des deux est il plus efficace? | | Habituellement, on drope, par défaut, tous les paquets. | Ca depend de la politique par defaut, ou de la derniere regle.
En fait ma question porte plus sur le comportement du ver en face:
Il est completement abruti et lance ses scans de port de maniere aleatoire, ou dans le cas d'un icmp-host-unreachable, il passe a l'IP suivante? Dans ce cas une regle iptables en REJECT peut eviter de me bouffer de la BP (une seule tentative de la part du ver) et des logs. Ou alors, s'il voit que la pile IP repond a l'autre bout, il continue a l'acharnement, et donc un drop est preferable (il tente deux-trois fois puis abandonne, lasse).
Mais pour savoir ca, il faut avoir etudie les vers en face. Ce que je n'ai ni le temps, ni les competences pour le faire. D'ou ma question sur fcs. Certains l'ont peut etre fait, et des regles bien choisies pourraient avoir leur importance.
De maniere subjective, apres mes petits tests, j'ai l'impression que les vers sont indifferents a ce que dit la machine en face.