Ignorer les réinitialisations de connexions en cours de fermeture
Protège contre une astuce qui met fin à une connexion en envoyant une fausse réinitialisation pendant sa fermeture.
Pourquoi il compte
Après la fermeture d’une connexion TCP, le noyau en garde l’état un moment, appelé TIME-WAIT, pour que des paquets tardifs ne soient pas pris pour une nouvelle connexion. Un paquet de réinitialisation forgé envoyé pendant cette période peut détruire l’état trop tôt, ouvrant la voie à la confusion et au détournement. C’est le TIME-WAIT assassination.
Comment il fonctionne
Met net.ipv4.tcp_rfc1337 à 1. Les paquets RST arrivant sur un socket en TIME-WAIT sont alors ignorés au lieu d’écourter cet état.
À qui il s'adresse
Convient à presque toute machine. Cela s’écarte légèrement du comportement TCP strict dans le sens que suggère le RFC 1337, donc une équipe avec du matériel réseau inhabituel peut vouloir tester d’abord.
Ce que vous pouvez remarquer
Rien au quotidien. La connexion se comporte comme toujours, protection activée, et aucun outil réseau ne cesse de fonctionner à cause d’elle.
Le vérifier sur votre ordinateur
Lire la valeur actuelle :
sysctl net.ipv4.tcp_rfc1337 L'appliquer à la main
La définir maintenant (jusqu'au prochain redémarrage) :
sudo sysctl -w net.ipv4.tcp_rfc1337=1 La conserver après les redémarrages, dans un fichier qui vous appartient :
sudo tee /etc/sysctl.d/90-net-tcp-rfc1337.conf <<'EOF'
net.ipv4.tcp_rfc1337 = 1
EOF
sudo sysctl --system L'annuler
Supprimez le fichier et redémarrez, ou remettez l'ancienne valeur avec sysctl -w.
Réglages liés
Sources
- Linux Hardening Guide (madaidans)
- 2.2.2