Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

iptables et cible -limit (et consideration sur les scans de ports)

5 réponses
Avatar
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 -+-

5 réponses

Avatar
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.

Avatar
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.


Avatar
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.


Avatar
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.

Avatar
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