Lorsque l’on intéresse à la sécurité informatique, on peut entendre parler de port réseau ouvert.
Selon comment, un pirate peut utiliser pour s’introduire dans un système.
En effet, cela peut être utilisé comme porte d’entrée afin de pirater votre PC.
Ainsi dans cet article, nous abordons les ports réseaux et les implications de sécurité.
Comment lister les ports ouverts sur son PC ?
Comment fermer un port pour éviter les piratages ?
Voici donc un article sur ports ouverts et la sécurité sur Windows et Linux.

Table des matières
Qu’est ce que les ports réseaux ?
Un port réseau est un point d’entré ou de sortie réseau qu’une application ou le système d’exploitation peut utiliser.
Ce dernier se caractérise par un numéro, par exemple le port 139, le port 445.
Les services internet comme un service WEB, service DNS, service mail utilise par convention des numéros spécifiques.
Par exemple, un serveur WEB tourne sur le port 80 (HTTP) et 443 (HTTP).
Lorsque vous établissez une connexion vers une machine distance, vous vous connectez à un port distant en particulier
En général sur ce dernier une application est en cours de fonctionnement afin de répondre.
Par exemple, un serveur WEB, un serveur FTP, un serveur de jeux, etc.
Sur Windows, le fichier C:\Windows\System32\drivers\etc\services liste les ports avec les services.
Ainsi le port pour les connexions HTTP est le port 80.
Ainsi, ci-dessous, on voit que le PC :
- ouvre une connexion sortante depuis le port 1026 vers le site malekal.com qui tourne sur le port distant 443
- ouvre une autre connexion sortante depuis le port 1025 vers le google.fr à l’adresse 80
Et donc :
- Sur le serveur malekal.com se trouve un serveur WEB qui ouvre le port 443 en écoute. Ce dernier peut alors recevoir des connexions provenant d’appareil sur internet
- De même sur google.fr des serveurs tournent sur le port 80 en attente de connexion
Plus de détails :
Les états des ports : ouverts, fermés
Un port ouvert est donc un port en écoute et attente de connexion entrante.
Par exemple, un serveur WEB ouvre les ports 80 et 443 par défaut et attends que des clients (navigateurs WEB) s’y connecte pour délivrer les pages WEB.
Par défaut Windows ou Linux ouvre des ports liés à des services réseaux (RPC, etc), il est donc normal d’avoir des ports ouverts.
Ainsi cela ne sert à rien de tenter de fermer tous les ports ouverts à tout prix.
En réalité les ports réseaux ont plusieurs états.
Ouvert (Listening)
Une application en cours de fonctionne ouvre un port dans le système d’exploitation.
Elle accepte alors les connexions entrantes vers ce dernier.
On peut ouvrir un port sur différents protocoles, par exemple TCP ou UDP.
Fermé (closed)
Le port est fermé (closed) est n’accepte aucune connexion entrante.
Filtré (filtered)
Une application ou équipement empêche d’atteindre le port.
En général, il s’agit d’un pare-feu ou une règle de routage qui ne transmet pas le paquet.
Non filtré
On peut accéder au port mais on ne connaît pas l’état ouvert ou fermé.
Les ports ouverts, sécurité et malwares
Deux aspects sont donc prendre en compte.
Puisque le service est en court de fonctionnement et en attente de connexion, ce dernier peut permettre une intrusion.
Si le service compte une vulnérabilité, un attaquant peut exploiter celle-ci pour exécuter un logiciel malveillant ou s’introduire dans le système.
Une technique d’attaque et de découverte consiste à vérifier tous les ports ouverts d’une machine pour énumérer les applications et services en cours de fonctionnement.
On appelle cela le scan de ports ou balayage de ports, plus d’informations :
Enfin les vers informatiques (worms) tirent partie de cela en visant des vulnérabilités logicielles connues sur des services par défaut de Windows ou Linux.
Dans les années 2000, les backdoor fonctionnaient en mode serveur sur les ordinateurs infectés.
C’est à dire qu’un port de attente de connexion était ouvert, le pirate se connectait à ce dernier et donc à la backdoor pour contrôler l’ordinateur infecté.
Seulement, avec la multiplication des routeurs, ce fonctionnement n’a pu perdurer.
De nos jours, les trojan et autres menaces informatiques n’ouvrent plus de port en écoute et ne fonctionne plus en mode serveur.
Cela a cause des routeurs ou box qui empêche la connexion direct vers l’ordinateur infecté.
Ainsi ces derniers établissent des connexions sortantes vers un serveur de contrôle que l’on nomme C&C .
En général il s’agit d’un serveur WEB avec des pages spécifiques.
Le pirate contrôle alors les ordinateurs en donnant des ordres aux ordinateurs infectés depuis le serveur via une liste d’attente de tâche.
Enfin, le cheval de troie récupère les ordres en se connectant à ce dernier.
Plus d’informations :
Lister les ports ouverts
Les scans depuis internet
Il existe des services en ligne qui permettent de vérifier les ports ouverts.
Voici quelques services de ports scans :
En effet, ce dernier n’étant pas directement accessible puisqu’il est placé derrière votre routeur.
Par exemple ci-dessous, les ports sont filtrés car le routeur embarque un pare-feu.
Sous GNU/Linux
Sur Linux, la commande netstat permet de vérifier les connexions établies mais aussi de lister les ports en écoute (LISTENING).
Cette commande netstat accepte beaucoup de paramètres.
Pour lister les connexions en écoute, vous pouvez utiliser le commande netstat de cette manière :
netstat -taupe |grep LISTEN
On obtient alors une liste avec les numéros des ports, le PID du processus (identifiant du processus) et le nom du processus.
root@tuxgateway: ~$ netstat -taupe|grep LISTEN
tcp 0 0 *:2049 *:* LISTEN root 3006 2014/rpc.nfsd
tcp 0 0 *:4002 *:* LISTEN root 3021 2016/rpc.mountd
tcp 0 0 *:3335 *:* LISTEN eggdrop 1030325 23103/eggdrop
tcp 0 0 *:smux *:* LISTEN root 2955 1984/snmpd
tcp 0 0 *:mysql *:* LISTEN root 2305 1825/mysqld
tcp 0 0 localhost.localho:imap2 *:* LISTEN root 1964 1640/couriertcpd
tcp 0 0 *:sunrpc *:* LISTEN root 1603 1395/portmap
tcp 0 0 *:www *:* LISTEN root 3227 2038/apache
tcp 0 0 *:auth *:* LISTEN root 2246 1774/gidentd
tcp 0 0 *:ftp *:* LISTEN root 2962 2008/xinetd
tcp 0 0 *:ssh *:* LISTEN root 2912 1990/sshd
tcp 0 0 *:921 *:* LISTEN root 2992 2011/rpc.statd
tcp 0 0 *:smtp *:* LISTEN root 2653 1960/master
- La première colonne affiche le protocole
- Les colonnes de types : *:2049 affiche l’adresse locale suivi du port, ici * équivaut à toutes les adresses de la machine
- la colonne *:* équivaut à n’importe quelle adresse distante sur n’importe quel port
- la colonne LISTEN indique que le port local est en écoute, la colonne suivante indique l’utilisateur a partir duquel le programme ouvrant le port a été lancé
- L’avant dernière colonne vous donne le PID du processus ayant ouvert le port
- Enfin la dernière colonne vous donne le nom du processus ayant ouvert le port
Sous Windows
Netstat existe aussi sur Windows mais est plus limité que sur Linux.
Vous devez ouvrir l’invite de commandes puis dans celle-ci, saisissez :
netstat -ao
Les ports en écoute se listent en premier avec comme état LISTENING.
Depuis Windows Vista, le moniteur de ressources permet de lister les connexions de manières graphiques.
Bien entendu, il existe de multiples applications pour lister les connexions o ports ouverts.
- Pour lister les ports ouverts sur Windows, reportez-vous à ce dernier : Comment lister les ports ouverts sur Windows
- Pour vérifier certains ports : Comment vérifier si un port est ouvert ou utilisé sur Windows
- Pour lister les connexions établies sur Windows, suivre ce lien : Lister les connexions réseau sur Windows
Ci-dessous les ports en écoute depuis le moniteur de ressources de Windows.
Enfin cette vidéo vous montre comment afficher, lister et suivre les connexions réseaux établies par les processus et applications de Windows.
Comment fermer les ports ouverts
Pour fermer les ports réseaux ou rendre ce dernier inaccessible, il y a deux méthodes :
- Arrêter le programme à l’origine de l’ouverture du port
- Filtrer l’accès aux ports avec un pare-feu par exemple
Sur Linux
Sur Linux, utilisez le système de package de votre distribution afin de désinstaller ce dernier.
Enfin si vous désirez garder l’application, vous pouvez la désactiver du démarrage.
Sous GNU/Linux, ce sont généralement des dameons qui ouvrent des ports, arrêtez alors le service et daemon:
- Sur des distributions de type Redhat/Mandrake : chkconfig <daemon> –level 234 off
- sur des distributions de type Debian : update-rc.d <daemon> -f remove
Sur ces dernières, suivre l’article :
GNU/Linux : Utilisez Iptables ou sharewall pour filtrer les connexions, des projets permettent de générer des règles à partir de GUI comme Firewall Builder ou Firestarter
Sur Windows
Avec Windows, vous pouvez désactiver le programme au démarrage : Supprimer les programmes au démarrage de Windows
S’il s’agit d’un service Windows alors passez ce dernier en démarrage manuel :
- Sur votre clavier, appuyez sur la touche Windows
- puis dans la fenêtre exécutez, saisissez services.msc
- Dans la liste, double-cliquez sur le service puis dans type de démarrage, choisissez manuel.
Enfin la dernière solution consiste à filtrer les connexions vers le port afin de prévenir les connexions.
Pour cela, vous devez utiliser un pare-feu ou firewall.