Wiki DNSprobe · Ports & services exposés

Ports : services exposés sur votre serveur

La section Ports indique quels ports TCP de votre serveur sont accessibles depuis Internet et met en évidence les services qui peuvent être inutiles ou risqués.

Lorsque votre domaine pointe vers une adresse IP, DNSprobe peut effectuer un petit scan ciblé d’une liste de ports bien connus sur cette IP. Il ne s’agit pas d’un scan de vulnérabilités, mais simplement d’un test de connexion TCP sur ces ports.

Les ports ouverts correspondent à des services à l’écoute sur le serveur : serveur web, serveur de courriel, panneau de contrôle, etc. Certains sont attendus, d’autres peuvent indiquer des protocoles obsolètes ou des services internes exposés par erreur.

Limiter les ports ouverts à ceux dont vous avez réellement besoin réduit la surface d’attaque, simplifie les règles de pare-feu et améliore la posture de sécurité globale de votre hébergement.

1. Comment DNSprobe vérifie les ports ouverts

DNSprobe effectue un scan TCP très léger sur une petite liste de ports couramment utilisés sur les serveurs d’hébergement. L’objectif est de vous donner un aperçu rapide de ce qui est joignable publiquement, sans balayer tous les ports possibles.

Pourquoi c’est important

Chaque port ouvert est une porte d’entrée vers un service qui doit être maintenu, patché et surveillé. Des services inutiles ou des protocoles vieillissants augmentent votre exposition aux attaques et aux mauvaises configurations.

Comment le test est effectué

Pour chaque IP associée à votre domaine, DNSprobe tente d’établir une courte connexion TCP vers une liste ciblée de ports bien connus. Cette liste inclut les ports web (80, 443, 8000, 8080, 8888), les ports de courriel (25, 110, 143, 465, 587, 993, 995), le DNS (53), SSH/SFTP et ses variantes (22, 9999), les services de transfert de fichiers (FTP/TFTP/rsync sur 20, 21, 69, 873), les panneaux d’hébergement (cPanel sur 2082–2083/2086–2087, DirectAdmin sur 2222), les bases de données (SQL Server 1433, Oracle 1521, MySQL/MariaDB 3306, Sybase 5000, PostgreSQL 5432, MongoDB 27017–27018), ainsi que des services de cache et d’accès distant comme Redis (6379), RDP (3389) et VNC (5900–5902). Si la connexion réussit, le port est indiqué comme ouvert avec le nom de service correspondant.

Bonnes pratiques

  • N’ouvrez que les ports strictement nécessaires pour votre site web et la livraison des courriels.
  • Limitez l’accès aux ports d’administration (SSH, panneaux de contrôle, etc.) à des adresses IP de confiance ou à un VPN.
  • Revoyez régulièrement la liste des ports ouverts après des changements de configuration ou des migrations de serveur.

2. Ports web et DNS courants

Sur un serveur d’hébergement typique, certains ports sont normalement ouverts au public. DNSprobe les considère comme attendus tant qu’ils correspondent au rôle du serveur.

  • 80/tcp – HTTP non chiffré. Souvent utilisé uniquement pour rediriger les visiteurs vers HTTPS. Idéalement, le site lui-même devrait être servi en HTTPS sur le port 443.
  • 443/tcp – HTTPS. Port principal pour le trafic web sécurisé et celui qui doit généralement rester ouvert pour tout le monde.
  • 53/tcp – DNS sur TCP. Utilisé par les serveurs de noms autoritaires pour certaines réponses volumineuses et les transferts de zone (lorsqu’ils sont restreints).
  • 22/tcp – SSH (accès distant). Légitime, mais devrait être limité aux administrateurs et protégé par une authentification forte.
  • 2222/tcp – Port alternatif SSH ou panneau de contrôle (par exemple DirectAdmin). Lui aussi devrait être restreint à des IP de confiance.

En plus de 80 et 443, DNSprobe vérifie également certains ports HTTP alternatifs comme 8000, 8080 et 8888, ainsi que les ports courants des panneaux d’hébergement (par exemple cPanel sur 2082/2083/2086/2087 et DirectAdmin sur 2222). Si l’un de ces ports apparaît comme ouvert, assurez-vous que l’interface correspondante doit réellement être exposée et qu’elle est correctement sécurisée (HTTPS, authentification forte, restrictions d’IP lorsque possible).

3. Ports liés au courriel

Les serveurs de courriel exposent plusieurs ports pour SMTP, POP3 et IMAP, en clair et en chiffré. DNSprobe les liste pour vous permettre de vérifier que seules les variantes modernes et sécurisées sont visibles.

  • 25/tcp – SMTP entre serveurs de courriel. Normalement ouvert uniquement sur les relais de réception. Sur certains hébergements mutualisés, le port 25 est restreint ou filtré.
  • 110/tcp – POP3 en clair. Conserve surtout pour compatibilité, mais devrait être évité au profit de POP3 chiffré (995).
  • 143/tcp – IMAP en clair. Comme POP3, la variante chiffrée sur le port 993 est fortement recommandée.
  • 465/tcp – Ancien SMTPS (SMTP sur SSL). Encore utilisé par certains clients mais souvent remplacé par STARTTLS sur le port 587.
  • 587/tcp – Soumission SMTP avec STARTTLS. Port recommandé pour l’envoi authentifié depuis les clients.
  • 993/tcp – IMAPS (IMAP sur SSL/TLS). Port recommandé pour un accès sécurisé aux boîtes aux lettres.
  • 995/tcp – POP3S (POP3 sur SSL/TLS). Port recommandé pour un accès POP3 sécurisé.

Dans la mesure du possible, encouragez vos utilisateurs à configurer leurs clients courriel avec les ports chiffrés (993/995/587) et désactivez les équivalents en clair s’ils ne sont plus nécessaires.

4. Ports risqués ou suspects

Certains ports sont connus pour être particulièrement sensibles lorsqu’ils sont laissés ouverts sur Internet. Cela inclut les protocoles en clair obsolètes (FTP, Telnet, POP3/IMAP sans chiffrement), les bureaux à distance (RDP, VNC), les bases de données écoutant sur une IP publique (MySQL, PostgreSQL, MongoDB, SQL Server, Oracle, Sybase) et les ports d’administration internes qui n’étaient pas destinés à être accessibles de partout. DNSprobe signale ces ports comme « suspects » pour que vous puissiez les examiner attentivement.

  • 21/tcp – FTP en clair. Les identifiants et les données circulent sans chiffrement, ce qui les rend faciles à intercepter. Préférez SFTP (via SSH) ou des gestionnaires de fichiers en HTTPS.
  • 23/tcp – Telnet. Shell distant entièrement non chiffré, obsolète sur les systèmes modernes et qui ne devrait jamais être exposé publiquement.
  • 3306/tcp – MySQL / MariaDB. Ouvrir votre serveur de base de données directement sur Internet est rarement nécessaire et crée une très grande surface d’attaque.
  • 3389/tcp – RDP (Remote Desktop Protocol). Très ciblé par les attaques par force brute et les ransomwares lorsqu’il est exposé sans protection supplémentaire.
  • Any high port open to the world – Les ports élevés utilisés par des services de test, des outils de debug, des environnements de développement ou des points d’accès SSH/HTTP alternatifs peuvent exposer des fonctionnalités internes qui n’étaient pas prévues pour être publiques. Vérifiez systématiquement tout port ouvert inattendu et fermez-le s’il n’est pas explicitement requis.

Lorsque DNSprobe affiche le message « Ports suspects détectés », cela ne signifie pas que le serveur est déjà compromis, mais au moins qu’un service (par exemple FTP sur 21, Telnet sur 23, une base de données sur 3306/5432/27017, Redis sur 6379, RDP sur 3389 ou VNC sur 5900–5902) mérite une analyse de sécurité. Fermez ou restreignez ces ports s’ils ne sont pas strictement nécessaires.

5. Recommandations de durcissement

Réduire le nombre de ports ouverts et restreindre l’accès aux services d’administration sont des étapes essentielles pour durcir votre infrastructure.

Pare-feu et contrôles réseau

  • Utilisez un pare-feu local (iptables/nftables, firewalld, UFW, CSF, etc.) pour n’autoriser explicitement que les ports requis.
  • Limitez les ports d’administration (SSH, RDP, panneaux de contrôle) à des adresses IP spécifiques ou à un sous-réseau VPN.
  • Placez les interfaces d’administration derrière un bastion ou un VPN plutôt que de les exposer directement à Internet.

Configuration des services

  • Désactivez ou désinstallez les services inutilisés afin qu’ils ne puissent pas être réouverts par erreur.
  • Privilégiez les alternatives chiffrées (SFTP au lieu de FTP, API HTTPS au lieu de protocoles en clair, etc.).
  • Activez la limitation de débit et la détection d’intrusion (par exemple fail2ban) sur les services qui doivent rester exposés.

Un examen régulier des ports ouverts, combiné à une bonne gestion des mises à jour, réduit considérablement la probabilité de succès d’une attaque.

* Certains hébergeurs peuvent déplacer votre compte vers une adresse IP plus verrouillée, où seuls les ports strictement nécessaires (souvent 80 et 443 pour HTTP/HTTPS) sont ouverts.
Si vous êtes en hébergement mutualisé et ne contrôlez pas vous-même le pare-feu, demandez à votre fournisseur s’il offre ce type d’IP durcie ou de profil de sécurité renforcé.

6. Tester les ports ouverts manuellement depuis votre propre terminal

DNSprobe vérifie si les ports de service courants (comme HTTP/HTTPS et les ports de messagerie) sont joignables depuis Internet. Vous pouvez reproduire des tests similaires depuis un terminal pour confirmer que les ports attendus sur votre hôte sont ouverts et répondent correctement.

Linux : utiliser nc (netcat) et nmap

Sur la plupart des distributions Linux, les outils nc (netcat) et nmap sont disponibles dans les dépôts. Les commandes suivantes tentent de se connecter aux ports Web et mail les plus courants sur votre hôte et, en option, réalisent un petit scan TCP :

                nc -vz example.com 80 443 25 587 993 995
    
                # Optionnel : utiliser nmap pour un contrôle TCP plus détaillé sur le même ensemble de ports    
                nmap -p 80,443,25,587,993,995 example.com
        

macOS : utiliser nc et nmap

Sous macOS, vous pouvez utiliser nc depuis le Terminal et, si installé, nmap pour des vérifications plus avancées. Les commandes ci-dessous essaient d’ouvrir des connexions TCP sur les ports Web et mail typiques, puis effectuent un scan rapide des ports :

                nc -vz example.com 80 443 25 587 993 995
    
                # Optionnel : utiliser nmap pour un contrôle TCP plus détaillé sur le même ensemble de ports    
                nmap -p 80,443,25,587,993,995 example.com
        

Windows : utiliser Test-NetConnection avec PowerShell

Sous Windows, PowerShell inclut la commande Test-NetConnection, qui permet de tester si un port TCP donné est joignable sur un hôte. Exécutez les commandes suivantes depuis une fenêtre PowerShell pour vérifier d’abord les ports Web, puis les principaux ports de messagerie :

                Test-NetConnection example.com -Port 80
                Test-NetConnection example.com -Port 443
    
                REM Optionnel : tester les principaux ports SMTP/IMAP/POP3 utilisés pour la livraison des courriels et l’accès sécurisé aux boîtes    
                Test-NetConnection example.com -Port 25
                Test-NetConnection example.com -Port 587
                Test-NetConnection example.com -Port 993
                Test-NetConnection example.com -Port 995
        

Important : ne scannez que des hôtes et ports que vous possédez ou que vous êtes autorisé à tester. Les scans de ports et tentatives de connexion répétées vers des systèmes tiers peuvent être considérés comme intrusifs ou abusifs par certains fournisseurs.

Résumé : interpréter les résultats de Ports

Si DNSprobe ne liste que les ports attendus pour le web et le courriel, sans ports risqués ou inattendus mis en évidence, votre exposition externe est probablement raisonnable pour un serveur d’hébergement.

Si des ports suspects sont détectés, considérez le rapport comme une occasion de nettoyer les anciens services, de durcir le pare-feu et de vérifier qu’aucun élément non prévu n’est resté accessible après des migrations ou des dépannages.

Besoin d’aide pour interpréter vos ports ouverts ?

Utilisez la section Ports en complément des sections WWW, SSL et Courriel pour obtenir une vue d’ensemble de l’exposition de votre serveur. En cas de doute, demandez à votre hébergeur ou à votre administrateur système de réviser la configuration.

⚙️ Configuration