Comment connaître et voir les ports ouverts sous Linux

Parmi les tâches d'administration, il y en a une au niveau de la sécurité qui est essentielle pour la sécurité de l'ensemble de l'infrastructure et ce sont les ports du système. Pour cela, nous devons garder à l'esprit que chaque application qui nécessite une connexion à l'ordinateur, soit via Internet, soit via le réseau local, aura besoin de ports de connexion à cet effet, ces ports sont appelés ports d'écoute, et ce type de connexions peut avoir deux directions qui sont entrantes et sortantes.

Le statut d'un port peut être ouvert, filtré, fermé ou sans filtre, mais nous devons porter une attention particulière aux ports ouverts car certaines politiques de sécurité de l'organisation peuvent être violées via ces ports.

Solvetic expliquera comment nous pouvons voir les ports actuellement ouverts sous Linux et ainsi déterminer s'il faut ou non prendre des mesures de gestion.

1. Comment valider les ports sous Linux en utilisant netstat


La commande netstat (network statistics) a été développée afin d'afficher une liste de toutes les connexions actives sur un ordinateur, y compris celles entrantes et sortantes.

La méthode de base pour exécuter netstat sous Linux est la ligne suivante :

 sudo netstat -ltup
Les paramètres utilisés sont :
  • La valeur -l indique à netstat d'imprimer toutes les sockets d'écoute.
  • La valeur -t affiche toutes les connexions TCP.
  • Avec la valeur -u, nous verrons toutes les connexions UDP.
  • Avec -p, il est possible d'imprimer en écoutant le nom de l'application ou du programme sur le port.

Le résultat sera le suivant :

AGRANDIR

Si on veut imprimer des valeurs numériques à la place des noms de services, il faudra ajouter le paramètre n :

 sudo netstat -lntup
Nous verrons ce qui suit :

AGRANDIR

Avec netstat, il sera possible d'utiliser la commande grep pour déterminer quelle application écoute via un port particulier, par exemple, si nous voulons voir quels ports Apache utilise :

 sudo netstat -lntup | grep "apache2"
Mais il sera également possible de préciser le port à valider :
 sudo netstat -lntup | grep " : 80"
Certains des paramètres supplémentaires à utiliser avec netstat sont :

Afficher toutes les connexions et tous les ports en mode écoute


Il affiche les applications et les fichiers exécutables qui sont chargés de créer des connexions sur les ports d'écoute
 -b

Générer des statistiques Ethernet
 -et

Affiche les ports et les adresses au format numérique
 -n

Il permet de voir l'identité de chaque processus (PID) impliqué
 -ou alors

Affiche les connexions via des protocoles tels que TCP, UDP, TCPv6 ou UDPv6
 -p

Afficher la table des routes
 -r

Générer des statistiques par protocoles
 -s

Il est utilisé avec -b, et de cette façon vous pouvez voir les séquences de composants impliqués dans la création d'une connexion
 -v

2. Comment valider les ports à l'aide de la commande ss Linux


La commande SS est intégrée au package IPROUTE2 et permet d'afficher les statistiques des sockets, ce type de sockets peut être TCP, UDP, PACKET, DCCP, RAW, UNIX et plus.

Les informations que l'on peut obtenir avec la commande SS sont :

  • Informations sur les sockets TCP et UDP avec des détails beaucoup plus complets.
  • Connexions établies par SSH, FTP, HTTP, HTTP et plus.
  • Connexions à l'ordinateur serveur X.
  • Filtrez par statut comme SYN-RECV, SYN-SENT, TIME-WAIT en utilisant les adresses et les ports.
  • Déterminez quel type de sockets TCP sont dans l'état FIN-WAIT-1.

Avec la commande suivante nous allons afficher tous les ports d'écoute pour les connexions TCP et UDP en valeur numérique :

 sudo ss -lntu

AGRANDIR

3. Comment valider les ports à l'aide de la commande Nmap Linux


La commande Nmap (Network Mapper) est l'une des solutions les plus complètes non seulement pour valider les ports d'écoute mais pour effectuer beaucoup plus de tâches d'administration au niveau du réseau puisqu'avec elle il est possible d'exécuter des balayages ping, scanner des ports, identifier des services, effectuer la découverte d'adresses IP et de système d'exploitation et plus encore.

C'est l'un des utilitaires les plus pratiques pour les administrateurs car grâce à Nmap, nous pouvons explorer des réseaux locaux ou externes, effectuer des analyses de sécurité, des audits de réseau, rechercher des hôtes en direct, des systèmes d'exploitation, des filtres de paquets, etc.

Pour installer Nmap, nous devons exécuter l'une des commandes suivantes :

 sudo apt install nmap (Debian / Ubuntu) sudo yum install nmap (CentOS / RHEL) sudo dnf install nmap (Fedora)
Après cela, pour analyser tous les ports ouverts ou d'écoute sous Linux, nous allons exécuter la commande suivante :
 sudo nmap -n -PN -sT -sU -p- localhost

AGRANDIR

Certains des paramètres à utiliser avec Nmap sont :

Analyse de protocole

 s0

Analyse ACK
 -sA

Analyse Windows
 -sW

Analyse RPC
 -Monsieur

Liste / Analyse DNS
 -sL

Balayage inactif
 -Oui

Sans ping
 -Po

ping TCP
 -TP

Ping SYN
 -

Ping ICMP
 -PI

Ping TCP et ICMP
 -PB

Date et heure ICMP
 -PB

Masque de réseau ICMP
 -PM

Sortie normale
 -sur

Sortie XML
 -bœuf

Sortie greffable
 -oG

Toutes les sorties
 -oA

Exécuter une analyse sérieuse avec 300 secondes entre les analyses
 -T Paranoïaque

Exécute une analyse en série avec un intervalle de 15 secondes entre les analyses
 -T sournois

Effectue un scan en série avec un intervalle de 4 secondes entre les scans
 -T poli

Balayage parallèle
 -T Normal

4. Comment valider les ports à l'aide de la commande Lsof Linux


La commande lsof est un outil grâce auquel il sera possible de répertorier les fichiers ouverts dans le système avec des détails tels que les fichiers qu'un certain processus (PID) ou utilisateur garde ouverts et avec des détails tels que le port utilisé par ces services.

Pour lister tous les fichiers Internet et réseau, nous devons utiliser l'option -i, avec cette commande une combinaison de noms de services et de ports numériques est affichée :

 sudo lsof -i

AGRANDIR

Si nous voulons voir quelle application utilise un port spécifique, nous pouvons exécuter ce qui suit :

 sudo lsof -i: 80
Avec n'importe laquelle de ces options, il sera possible d'afficher les ports ouverts sous Linux et d'avoir un meilleur contrôle sur eux.

wave wave wave wave wave