Que sont les redirections ICMP et doivent-elles être bloquées?

22

Après avoir activé ufw et l'auditeur de sécurité Tiger, je vois des avertissements disant:

The system accepts ICMP redirection messages

Que sont les messages de redirection ICMP? Doivent-ils être désactivés pour des raisons de sécurité? Si oui, quelle est la bonne façon de le faire en utilisant le pare-feu ufw?

jrdioko
la source

Réponses:

28

Selon cet article

Il existe certains cas où des paquets ICMP peuvent être utilisés pour attaquer un réseau. Bien que ce type de problème ne soit pas courant aujourd'hui, il existe des situations où de tels problèmes se produisent. C'est le cas avec la redirection ICMP ou le paquet ICMP Type 5. Les redirections ICMP sont utilisées par les routeurs pour spécifier de meilleurs chemins de routage à partir d'un réseau, en fonction du choix de l'hôte, ce qui affecte fondamentalement la façon dont les paquets sont routés et les destinations.

Grâce aux redirections ICMP, un hôte peut découvrir quels réseaux sont accessibles à partir du réseau local et quels sont les routeurs à utiliser pour chacun de ces réseaux. Le problème de sécurité vient du fait que les paquets ICMP, y compris la redirection ICMP, sont extrêmement faciles à truquer et, fondamentalement, il serait plutôt facile pour un attaquant de forger des paquets de redirection ICMP.

L'attaquant peut alors essentiellement modifier les tables de routage de votre hôte et diriger le trafic vers des hôtes externes sur un chemin de son choix; le nouveau chemin est maintenu actif par le routeur pendant 10 minutes. En raison de ce fait et des risques de sécurité impliqués dans un tel scénario, il est toujours recommandé de désactiver les messages de redirection ICMP (les ignorer) de toutes les interfaces publiques.

Vous devez modifier le fichier /etc/sysctl.conf

et changer

###################################################################
# Additional settings - these settings can improve the network
# security of the host and prevent against some network attacks
# including spoofing attacks and man in the middle attacks through
# redirection. Some network environments, however, require that these
# settings are disabled so review and enable them as needed.
#
# Do not accept ICMP redirects (prevent MITM attacks)
#net.ipv4.conf.all.accept_redirects = 0
#net.ipv6.conf.all.accept_redirects = 0
# _or_
# Accept ICMP redirects only for gateways listed in our default
# gateway list (enabled by default)
# net.ipv4.conf.all.secure_redirects = 1
#
# Do not send ICMP redirects (we are not a router)
#net.ipv4.conf.all.send_redirects = 0

À

###################################################################
# Additional settings - these settings can improve the network
# security of the host and prevent against some network attacks
# including spoofing attacks and man in the middle attacks through
# redirection. Some network environments, however, require that these
# settings are disabled so review and enable them as needed.
#
# Do not accept ICMP redirects (prevent MITM attacks)
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
# _or_
# Accept ICMP redirects only for gateways listed in our default
# gateway list (enabled by default)
# net.ipv4.conf.all.secure_redirects = 1
#
# Do not send ICMP redirects (we are not a router)
net.ipv4.conf.all.send_redirects = 0

Appliquez ensuite les modifications des paramètres du noyau ci-dessus avec:

$ sudo sysctl -p
Manish Sinha
la source
Merci. Vous devez probablement également décommenter ces lignes, non? :)
jrdioko
Oh oui. Mon erreur. Mis à jour.
Manish Sinha
4
Vous devez le faire pour accepter les modifications: sudo sysctl -p
Je ne pense pas que la définition de net.ipv4.conf.all.accept_redirects = 0 ne fasse rien; notez l' or_ dans le fichier. Si je lis correctement secure_redirects [ frozentux.net/ipsysctl-tutorial/chunkyhtml/… ], cela remplace le net.ipv4.conf.all.accept_redirects = 0
gerardw
3

Gardez à l'esprit que si le transfert est désactivé (nous ne sommes pas un routeur), la valeur de net.ipvX.conf.all.accept_redirects sera la valeur spécifique à l'interface ORed, par exemple net.ipvX.conf.eth0.accept_redirects. send_redirects est toujours OR.

Le correctif complet serait alors:

net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
net.ipv4.conf.default.send_redirects = 0

Pour pouvoir utiliser les paramètres par défaut, les interfaces réseau doivent être à nouveau configurées.

Marek
la source