UFW: Bloquer les requetes icmp

Bonjour,

Ma question est simple: est il possible par la commande sudo ufw deny d’interdire les requetes icmp?

Merci

ps: j’ai essayé de rajouter une ligne dans sysctl.conf:

net.ipv4.conf.icmp_echo_ignore_all = 1 mais j’avoue douter de son efficacité

Bonjour!
Pour ufw je ne sais pas mais avec iptables ça donne ceci :

Pour ufw je laisse d’autres répondre : )

[quote=“aytine”]Bonjour!
Pour ufw je ne sais pas mais avec iptables ça donne ceci :

Pour ufw je laisse d’autres répondre : )[/quote]

Merci pour ta réponse mais elle soulève une autre question…les deux sortes de commandes sont elles cumulatives?

[quote=“aytine”]Bonjour!
Pour ufw je ne sais pas mais avec iptables ça donne ceci :

Pour ufw je laisse d’autres répondre : )[/quote]

Plus simplement :

@aytine, avec ta commande, tu ne bloques QUE la requête ICMP faisant un message ECHO vers la station … et non, tu ne bloques pas l’ensemble des requêtes ICMP :wink:
cf : inetdoc.net/guides/iptables- … types.html

Quant à net.ipv4.conf.icmp_echo_ignore_all = 1, cela bloque au niveau système, la gestion du ping - l’équivalent de la règle donnée par aytine …

Je serais bien surpris que cela ne fonctionne pas !


Quant à UFW, apparemment il faudrait écrire :

Néanmoins, comme le dit la documentation, par défaut, avec UFW, toutes les connexions entrantes sont bloquées, et toutes les connexions sortantes sont acceptées avec suivi de l’état :

Donc, si le but est de bloquer ICMP en entrée, ça n’a aucun intérêt … selon la doc.


De même, je rappelle que bloquer les requêtes PING/PONG n’a pas de grand intérêt et pose souvent plus de problèmes que cela en résout.
Bloquer d’autres requêtes ICMP qui ne devraient pas avoir lieu semblent plus indiquer ! :wink:
PS : À ce-propos, je suis toujours en recherche de l’astuce qui permettrait de bloquer toute requête ICMP qui n’a pas de type ICMP - malheureusement, il apparaît qu’iptables ne sait pas gérer ce cas précis.


Pour finir, oui les règles du fichier sysctl.conf et iptables peuvent être cumulées … mais attention, à bien s’en souvenir, et à le gérer en conséquence :wink:


Je ne connais pas de méthode pour bloquer par le biais du fichier sysctl.conf, l’ensemble des requêtes ICMP !

Merci pour ta réponse

J’ai fait une copie de mon fichier sysctl.conf :slightly_smiling: et bloqué le spoofing et les requetes icmp car je me méfie des snoopers…

[quote=“Debianluver”]ps: j’ai essayé de rajouter une ligne dans sysctl.conf:

Tes doutes sont fondés.
D’une part, le paramètre net.ipv4.conf.icmp_echo_ignore_all n’existe pas. C’est net.ipv4.icmp_echo_ignore_all. D’autre part mettre ce paramètre à 1 n’a pas pour effet de bloquer les “requêtes ICMP” (expression vague) mais d’ignorer (et donc ne pas y répondre) toutes les requêtes ICMP de type “echo” (comme celles envoyées par la commande [mono]ping[/mono]) reçues. Il existe d’autres types de requêtes ICMP, bien que moins connues et utilisées.

La règle iptables proposée par aytine ne bloque que les paquets ICMP echo entrants (à condition d’être bien placée dans la chaîne).

Non, ce serait trop facile. On ne peut généralement pas combiner plusieurs générateurs de règles iptables, ils vont se marcher sur les pieds. D’une part l’initialisation d’ufw va effacer les règles existantes, et d’autre part l’ajout d’un règle avec iptables à la suite des règles mises en place par ufw n’aura pas forcément l’effet attendu car les règles précédentes auront peut-être traité le paquet d’une façon différente.

Un paquet ICMP a forcément un type, puisque c’est un champ de l’en-tête ICMP. C’est comme dire qu’un paquet IP n’a pas d’adresse source, ou qu’un paquet TCP n’a pas de port destination. Valide ou non, c’est une autre affaire.
Note : tout paquet ICMP n’est pas forcément une requête. C’est même le type ICMP qui définit s’il s’agit d’une requête, d’une réponse, d’une notification d’erreur… Sans type ICMP valide, on ne peut pas dire qu’il s’agit d’une requête.

Non, ce n’est pas équivalent puisque dans un cas le paquet peut créer une entrée de suivi de connexion et atteindre la couche ICMP et pas dans l’autre.

C’est quoi un snooper ?

[quote=“PascalHambourg”][quote=“Debianluver”]ps: j’ai essayé de rajouter une ligne dans sysctl.conf:

Tes doutes sont fondés.
D’une part, le paramètre net.ipv4.conf.icmp_echo_ignore_all n’existe pas. C’est net.ipv4.icmp_echo_ignore_all. [/quote]

Arff, du caca dans les yeux, moi … je n’avais pas vu l’erreur - trop fixé sur ‘icmp_echo_ignore_all’ …

Un paquet ICMP a forcément un type, puisque c’est un champ de l’en-tête ICMP. C’est comme dire qu’un paquet IP n’a pas d’adresse source, ou qu’un paquet TCP n’a pas de port destination. Valide ou non, c’est une autre affaire.
Note : tout paquet ICMP n’est pas forcément une requête. C’est même le type ICMP qui définit s’il s’agit d’une requête, d’une réponse, d’une notification d’erreur… Sans type ICMP valide, on ne peut pas dire qu’il s’agit d’une requête.[/quote]
Je te crois sur paroles …

Mais, j’avoue que j’apprécie énormément tes précisions qui me sont toujours précieuses - valables pour le reste, ci-bas.

Non, ce n’est pas équivalent puisque dans un cas le paquet peut créer une entrée de suivi de connexion et atteindre la couche ICMP et pas dans l’autre.
[/quote]

Étant donné la précision que tu apportes, en effet, ce n’est pas exactement pareil … mais le but est bien le même, n’est-ce pas !?

C’est quoi un snooper ?[/quote]
Je me suis posé la même question, j’ai donc cherché sur la toile.
D’aucune traduction donne ‘fureteur’, d’autre ‘espion’ … on comprend le sens, plaît-il !?!
Néanmoins, c’est bien la première fois que j’entends parler de cet anglicisme !

@pascal

Comme l’a dit Pengouin un snooper est quelqu’un qui “furête” et ca court vite en général… ( oui je sais mon humour…)

Et sinon effectivement je me souviens des paquets icmp qui trainent sur des captures wireshark et qui, effectivement n’ont rien à voir avec mes préoccupations.

Merci pour la remise au point.

Quel rapport entre le spoofing, l’ICMP et les snoopers ?

En faisant un arp - a j’ai vu une station sur mon réseau qui ne devait pas apparaître dans cette requete et donc j’envisage toutes les possibilité: que j’ai raison ou tort je ne sais pas mais je prend des mesures bonnes ou mauvaises

du coup j’ai interdit toutes les adresses de mon réseau sauf dns, gw

Je crains que tu aies pris des mesures inefficaces.

  1. Si l’attaquant est dans le réseau local, il n’a pas besoin d’ICMP pour scanner tout le réseau : ARP suffit, et iptables ne peut pas le bloquer.

  2. Iptables ne peut pas non plus protéger contre un spoofing bien fait (IP et MAC) sur le réseau local.

  3. Il découle du 2) que bloquer tout sauf DNS et passerelle ne protège pas contre le risque d’intrusion, l’attaquant pouvant usurper l’adresse d’une de ces machines. Au passage il est inutile d’autoriser les communications avec l’adresse IP de la passerelle pour que l’accès internet fonctionne.

Pour l’arp …exact… quelle est la solution alors? Me rendre invisible? mais comment?

Masquer mon adresse mac? la changer ( en utilisant un soft)

Plutôt que d’essayer vainement de te cacher, ce qui nécessite un switch configurable, tu ferais mieux de t’inquiéter de la présence sur ton LAN d’une machine qui n’est pas censée s’y trouver.

Il a p’tet peut de ce que pourrait faire un utilisateur (autorisé ou pas), depuis une machine autorisée… :confused:

oui :023

Et il peut faire quoi, cet utilisateur, précisement ?

Balancer un nmap ? lol.
Ping ta machine ? lol.

Ce qui peut faire, c’est de l’arp spoofing, ce qui requiert un switch de qualité pour mitigation (ou le contrôle de ta machine et de la gateway).

[quote=“haleth”]Et il peut faire quoi, cet utilisateur, précisement ?

Balancer un nmap ? lol.
Ping ta machine ? lol.

Ce qui peut faire, c’est de l’arp spoofing, ce qui requiert un switch de qualité pour mitigation (ou le contrôle de ta machine et de la gateway).[/quote]

?

[quote]
Il a p’tet peur de ce que pourrait faire un utilisateur (autorisé ou pas), depuis une machine autorisée… :/[/quote]
Que peut faire un utilisateur autorisé ou pas, depuis une machine autorisée ?

Quelques lectures intéressantes à propos d’ICMP - histoire de réaliser des faiblesses et autres abus - :

Le “travail” de recommandations de filtrage ICMP OPSEC :

Oula oui, c’est terrifiant.
Le méchant peut donc “cartographier le réseau” (brrr, j’en ai froid dans le dos), ou encore “mettre le réseau par terre” (bien que pour ce dernier point, le problème est au niveau réseau, pas de niveau de l’hôte).

Haa, et puis j’oubliais le must : le DOS avec de l’ICMP echo request ! Ben oui, je flood la cible avec des paquets forgés !

Pour information, jamais, JAMAIS, l’hôte ne peut se defendre contre une attaque DoS de type “congestion de tuyau”.
C’est toujours un tiers qui doit effectuer la mitigation.

Bref, merci pour le rappel : bloquer ICMP est un mélange entre autodestuction et méconnaissance.

NB: au passage, y’a un truc qui est intéressant, ICMP redirect.
edit: au temps pour moi, il est activé par défaut: echo “net.ipv4.conf.all.accept_redirects = 0” | sudo tee -a /etc/sysctl.conf