Configurer le pare-feu UFW
Un VPS avec une IPv6 publique est joignable par tous dès qu'un service écoute. UFW (Uncomplicated Firewall) fournit une interface lisible au filtrage du noyau : vous décrivez les ports autorisés, il génère les règles IPv4 et IPv6. L'erreur classique est d'activer le pare-feu avant d'autoriser SSH, ce qui coupe la session en cours.
Autoriser SSH avant tout
sudo ufw allow 22/tcpSi vous avez changé le port SSH, autorisez le bon numéro. Vérifiez ce qui écoute réellement :
sudo ss -tlnp | grep sshNe vous fiez pas à la valeur par défaut : une règle sur le port 22 alors que sshd écoute sur 2222 vous verrouille. La console du panneau reste le recours, mais autant l'éviter.
Politique par défaut
sudo ufw default deny incoming
sudo ufw default allow outgoingTout trafic entrant non explicitement autorisé est refusé, tout trafic sortant est accepté. Cette base convient à un serveur web classique. Si votre application doit joindre une base distante, le sortant reste ouvert ; pour un serveur très fermé, vous pouvez restreindre plus tard, mais commencez simple pour ne pas casser les mises à jour.
HTTP, HTTPS et IPv6
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status verboseufw enable demande confirmation : répondez oui seulement après avoir autorisé SSH. Les règles doivent apparaître avec (v6). UFW filtre IPv6 quand IPV6=yes figure dans /etc/default/ufw ; c'est le cas par défaut sur Debian. Si la mention manque, corrigez ce fichier puis rechargez avec sudo ufw reload.
Pour activer un profil d'application fourni par un paquet :
sudo ufw app list
sudo ufw allow 'Nginx Full'Nginx Full couvre 80 et 443, en IPv4 comme en IPv6.
Docker et les règles contournées
Docker insère ses propres règles avant celles d'UFW. Un conteneur publié sur 0.0.0.0:8080 reste joignable depuis Internet même si UFW refuse 8080. C'est le piège le plus fréquent.
- Publiez les ports sur
127.0.0.1:8080:8080et passez par un reverse proxy Nginx. - Ou utilisez une solution dédiée comme
ufw-dockerpour synchroniser les chaînes. - Vérifiez depuis l'extérieur, pas seulement avec
ufw status.
Sur un conteneur système, Docker peut déjà rencontrer des erreurs de stockage ou de permissions : testez avant d'en dépendre.
Vérifier et dépanner
sudo ufw status numbered
sudo ufw delete NUMERO
sudo journalctl -u ufw --since todaystatus numbered donne les numéros pour supprimer une règle. Si vous perdez SSH après activation, rouvrez la console, sudo ufw disable, puis corrigez la règle avant de réactiver. Une règle deny placée avant une règle allow sur le même port gagne : l'ordre compte. Terminez par un test réel depuis une autre machine, en IPv4 et en IPv6, plutôt que de vous fier au seul affichage.
Publicité
Cet article vous a-t-il aidé ?
À lire aussi
- Configurer les clés SSHssh-keygen ed25519, ssh-copy-id, permissions et désactivation du mot de passe sans se verrouiller.
- Protéger SSH avec Fail2banInstaller Fail2ban sur Debian 13, régler la prison sshd et éviter de vous bannir vous-même.
- Créer un utilisateur sudo et sécuriser rootadduser, groupe sudo, test de connexion et désactivation de la connexion root en SSH.