La notion de port ouvert et la sécurité

Dans cette article, nous aborderons la notion de port et la sécurité qui en découle. Une fois n’est pas coutume, cet article s’adresse aussi bien aux utilisateurs Windows qu’aux utilisateurs sous GNU/Linux.

Pour les utilisateurs Windows, vous pouvez aussi lire en parallèle : Lister les connexions établies sur Windows
Pour les lenteurs réseaux, il est aussi conseillé de lire le sujet : Lenteur/Problème connexion/WEB

La notion de port ouvert et la sécurité

Qu’est ce que sont les ports?

Un port est un point d’entré à un service (service WEB, service DNS, service MAIL,…) en cours de fonctionnement sur un équipement (pc, serveur, routeur, etc) connecté à un réseau.
Concrètement chaque ordinateur possède un peu plus de 65000 ports.

Lorsque vous établissez une connexion vers un serveur, ordinateur etc, vous vous connectez à un port particulier où tourne un service : un serveur WEB, un serveur FTP, un serveur de messagerie instantanée (MSN, AOL messenger, Yahoo! Messenger, etc..).
Cela permet à une seule machine de faire tourner plusieurs services sur des ports différents.

La notion de port ouvert et la sécurité

Les ports, la 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 prendre 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 : Scan de ports réseaux
Les vers informatiques (worms) tirent partie de cela en visant des vulnérabilités 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.
Ces derniers établissent des connexions sortantes vers un serveur de contrôle que l’on nomme C&C .
Généralement, 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 sur le serveur, le cheval de troie y récupère les ordres.
Plus d’informations : Comment fonctionnent les trojans

Lister les ports ouverts

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.
Mais surtout 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 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

Enfin, cette vidéo vous montre comment afficher, lister et suivre les connexions réseaux établies par les processus et applications de Windows.

CurrPorts

CurrPorts est un programme qui permet de lister les connexions établies et les ports en écoute (comme le fait la commande netstat).
CurrPort permet aussi de fermer une connexion (Close Selected TCP Connections) ou tuer le processus à l’origine de la connexion établie (Kill Processes of Selected Ports)
Vérifier les ports ouverts exploités par les vers
Il est aussi possible de générer un rapport des ports ouverts dans la totalité ou par un processus en particulier.
Vérifier les ports ouverts exploités par les vers

X-Netstat

X-Netstat est un logiciel sniffer, c.a.d. un outil qui permet d’observer le trafic sur un réseau par l’entremise d’une carte réseau ethernet ou d’une carte réseau sans fil, etc. et de capturer les informations qui y circulent. Son utilité est donc de diagnostiquer d’éventuels problèmes ou des processus suspects ou dit plus clairement, une attaque!
Télécharger X-Netstat
Observez le traffic réseau

Moniteur de ressources de Windows

Windows est capable de lister et indiquer les connexions établies depuis le Moniteur de ressources.
La liste des connexions par protocole, port et processus source sont indiqués.

Pour accéder au Moniteur de ressources :

  • Menu Démarrer et tape taskmgr puis clic sur OK.
  • Cliquez sur l’onglet Performances puis en bas sur Moniteur de ressources
  • Cliquez sur l’onglet Réseau pour obtenir les connexions réseaux établies.

Pare-feu avancé de Windows Vista

Fermer les ports ouverts

Pour fermer les ports, il suffit simplement d’arrêter le programme a l’origine de l’ouverture du port. Si ce dernier se lance au démarrage de l’ordinateur, vous pouvez utiliser Msconfig pour le supprimer du démarrage : L’utilitaire Windows MsConfig

Sous GNU/Linux, ce sont généralement des dameons qui ouvrent des ports, arretez alors le daemond :

  • Sur des distributions de type Redhat/Mandrake : chkconfig <daemon> –level 234 off
  • sur des distributions de type Debian : update-rc.d <daemon> -f remove

Vous pouvez ensuite installer un firewall (pare-feu), un firewall est un programme qui filtre les connexions.

Liens autour des connexions réseaux

Quelques autres articles autour du réseau et notamment sur Windows :

Fiddler permet de monitorer les connexions HTTP par les navigateurs WEB : Fiddler : Monitorer le traffic HTTP

Pour aller plus loin dans l’analyse réseau, vous pouvez utiliser un outil comme WireShark, voir la page consacrée à cet outil : WireShark : sniff/analyse réseau

WireShark : Sniff/Analyse réseau

(Visité 1 774 fois, 3 visites ce jour)

Vous pouvez aussi lire...

Les Tags : #Windows10 - #Windows - #Tutoriel - #Virus - #Antivirus - #navigateurs WEB - #Securité - #Réseau - #Internet