Lister les ports ouverts sur un VPS
« Port ouvert » recouvre deux réalités : un processus écoute sur la machine, et ce port est joignable depuis l'extérieur. Un service peut écouter sur 127.0.0.1 sans être exposé, ou écouter sur 0.0.0.0 tout en étant bloqué par le pare-feu. Pour auditer un VPS, il faut vérifier les deux côtés.
Voir ce qui écoute
sudo ss -tulpnLes options se lisent ainsi : -t TCP, -u UDP, -l sockets en écoute, -p processus, -n ports numériques. Sans sudo, le nom des processus des autres utilisateurs n'apparaît pas.
La colonne d'adresse locale indique la portée :
127.0.0.1:5432: accessible uniquement depuis la machine.0.0.0.0:80: toutes les interfaces IPv4.[::]:80: toutes les interfaces IPv6, et souvent IPv4 selon la configuration.[::1]:6379: boucle locale IPv6 uniquement.
Pour cibler un port :
sudo ss -tlnp 'sport = :80'
sudo ss -tunlp
ss -t state establishednetstat -tulpn donne un résultat comparable si net-tools est installé, mais ss est l'outil actuel. sudo lsof -i -P -n est utile pour relier un port à un processus et à ses fichiers.
Distinguer écoute et accessibilité
Un port en écoute n'est pas forcément joignable. Vérifiez le pare-feu local :
sudo ufw status verbose
sudo nft list rulesetPuis testez depuis une autre machine que le VPS, jamais depuis lui-même, car une connexion locale contourne le filtrage externe :
nc -6 -vz VOTRE_IPV6 80
curl -6 -I http://VOTRE_IPV6Un scan nmap est acceptable uniquement sur votre propre VPS et avec modération :
nmap -6 -Pn -p 22,80,443 VOTRE_IPV6N'élargissez pas le scan à des plages qui ne vous appartiennent pas. Attention aussi à Docker : un port publié avec -p peut contourner UFW et être exposé malgré une politique de refus, car Docker insère ses propres règles.
Fermer ce qui est inutile
Pour chaque port, identifiez le service :
sudo ss -tlnp 'sport = :3000'
ps -fp PID
systemctl status nom-du-serviceSi le service n'est pas nécessaire, arrêtez-le et désactivez-le au démarrage. S'il doit rester local, configurez-le pour écouter sur 127.0.0.1 plutôt que sur 0.0.0.0. Enfin, appliquez une politique de refus par défaut et n'ouvrez que le nécessaire :
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw allow 80,443/tcpNe tuez pas un processus inconnu sans l'avoir identifié : il peut s'agir d'un composant système ou d'un service dont dépend votre application.
Vérifier
sudo ss -tulpn
sudo ufw statusAprès fermeture, le port doit disparaître de ss et le test externe doit échouer. Refaites le contrôle après un redémarrage : un service enabled peut rouvrir un port que vous croyiez fermé. Conservez SSH et la console noVNC accessibles pendant toute modification du pare-feu.
Publicité
Cet article vous a-t-il aidé ?
À lire aussi
- Réinstaller son VPS sans perdre ses donnéesSauvegarder ce qui doit l'être, réinstaller depuis le dashboard et remettre le service en ligne.
- Désactiver les services inutilesInventorier ce qui tourne, désactiver sans casser SSH ni le réseau et vérifier après redémarrage.
- Redémarrer, arrêter et vérifier son VPSRedémarrer proprement, utiliser les actions du panneau et contrôler l'état après démarrage.