GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment afficher/vérifier les ports ouverts sur Ubuntu Linux

Certains logiciels Linux fonctionnent en écoutant les connexions entrantes. Un exemple simple serait un serveur Web, qui gère les demandes des utilisateurs chaque fois que quelqu'un navigue sur un site Web. En tant qu'administrateur ou utilisateur Linux, il est important de toujours savoir quels ports de votre système sont ouverts à Internet. Sinon, vous pourriez ne pas être au courant des connexions extérieures établies avec votre ordinateur, ce qui consomme de la bande passante et des ressources, en plus d'être une faille de sécurité potentielle.

Dans ce guide, nous verrons comment vérifier les ports ouverts sur Ubuntu Linux. Cela peut être fait avec plusieurs utilitaires de ligne de commande différents, que nous verrons en détail. Nous verrons également comment utiliser le pare-feu ufw d'Ubuntu pour s'assurer que les ports sont sécurisés. Alors, savez-vous quels ports de votre système sont ouverts ? Découvrons.

Dans ce didacticiel, vous apprendrez :

  • Comment vérifier les ports ouverts avec ss commande
  • Comment vérifier les ports ouverts avec l'utilitaire Nmap
  • Comment vérifier et ajouter des ports autorisés dans le pare-feu ufw

Vérification des ports ouverts sur Ubuntu Linux avec la commande ss

Configuration logicielle requise et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version du logiciel utilisée
Système Ubuntu Linux
Logiciel ss, Nmap, pare-feu ufw
Autre Accès privilégié à votre système Linux en tant que root ou via le sudo commande.
Conventions # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande
$ – nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié

Vérifiez les ports ouverts avec la commande ss

La commande ss peut être utilisée pour montrer quels ports écoutent les connexions. Il indique également de quels réseaux il accepte les connexions.

Nous vous recommandons d'utiliser le -ltn options avec la commande pour voir une sortie concise et pertinente. Regardons un exemple sur notre système de test.

$ sudo ss -ltn
State      Recv-Q     Send-Q         Local Address:Port            Peer Address:Port     Process     
LISTEN     0          4096           127.0.0.53%lo:53                   0.0.0.0:*                    
LISTEN     0          5                  127.0.0.1:631                  0.0.0.0:*                    
LISTEN     0          70                 127.0.0.1:33060                0.0.0.0:*                    
LISTEN     0          151                127.0.0.1:3306                 0.0.0.0:*                    
LISTEN     0          5                      [::1]:631                     [::]:*                    
LISTEN     0          511                        *:80                         *:* 

Nous pouvons voir que notre serveur écoute les connexions sur les ports 80, 3306 et 33060. Ce sont les ports bien connus associés à HTTP et MySQL.

Vous verrez également que le ss la sortie montre que les ports 53 et 631 sont dans un état d'écoute. Il s'agit respectivement du DNS et du protocole d'impression Internet. Ceux-ci sont activés par défaut, vous les verrez donc probablement écouter sur votre propre système. Le port DNS n'est pas réellement ouvert, mais il fournit plutôt une résolution de nom aux applications installées sur notre système.

Pour voir à quels processus appartiennent ces ports d'écoute, incluez le -p option dans votre commande.

$ sudo ss -ltnp
State    Recv-Q   Send-Q      Local Address:Port        Peer Address:Port   Process                                      
LISTEN   0        4096        127.0.0.53%lo:53               0.0.0.0:*       users:(("systemd-resolve",pid=530,fd=13))   
LISTEN   0        5               127.0.0.1:631              0.0.0.0:*       users:(("cupsd",pid=572,fd=7))              
LISTEN   0        70              127.0.0.1:33060            0.0.0.0:*       users:(("mysqld",pid=2320,fd=32))           
LISTEN   0        151             127.0.0.1:3306             0.0.0.0:*       users:(("mysqld",pid=2320,fd=34))           
LISTEN   0        5                   [::1]:631                 [::]:*       users:(("cupsd",pid=572,fd=6))              
LISTEN   0        511                     *:80                     *:*       users:(("apache2",pid=2728,fd=4),("apache2",pid=2727,fd=4),("apache2",pid=2725,fd=4))

Nous pouvons maintenant voir que systemd-resolve, cupsd, mysqld et apache2 sont les services qui utilisent les ports pour écouter les connexions entrantes.

Vérifier les ports ouverts avec nmap

Nmap est un outil de reconnaissance de réseau qui peut être utilisé pour vérifier les ports ouverts sur des hôtes distants. Cependant, nous pouvons également l'utiliser pour vérifier notre propre système afin d'obtenir une liste rapide des ports ouverts.

Normalement, nous spécifions une adresse IP distante à analyser par Nmap. Au lieu de cela, nous pouvons analyser notre propre système en spécifiant localhost dans la commande.

$ sudo nmap localhost
Starting Nmap 7.80 ( https://nmap.org ) at 2021-03-12 20:43 EST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000012s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
80/tcp   open  http
631/tcp  open  ipp
3306/tcp open  mysql

Nmap done: 1 IP address (1 host up) scanned in 0.18 seconds

Vérifiez quels ports sont ouverts dans le pare-feu ufw

Il y a une grande mise en garde que vous devez garder à l'esprit. Lors de l'utilisation du ss ou nmap localhost commandes sur notre système local, nous contournons le pare-feu. En effet, ces commandes affichent les ports qui sont en état d'écoute, mais cela ne signifie pas nécessairement que les ports sont ouverts à Internet, car notre pare-feu peut refuser les connexions.

Vérifiez l'état du pare-feu ufw avec la commande suivante.

$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

À partir de la sortie, nous pouvons voir que ufw refuse les connexions entrantes. Étant donné que les ports 80 et 3306 n'ont pas été ajoutés en tant qu'exceptions, HTTP et MySQL ne peuvent pas recevoir de connexions entrantes, malgré ss et nmap signaler qu'ils sont en état d'écoute.

Ajoutons des exceptions pour ces ports avec les commandes suivantes.

$ sudo ufw allow 80/tcp
Rule added
Rule added (v6)
$ sudo ufw allow 3306/tcp
Rule added
Rule added (v6)

Nous pouvons vérifier à nouveau l'état de ufw, pour voir que les ports sont maintenant ouverts.

$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
80/tcp                     ALLOW IN    Anywhere                  
3306/tcp                   ALLOW IN    Anywhere                  
80/tcp (v6)                ALLOW IN    Anywhere (v6)             
3306/tcp (v6)              ALLOW IN    Anywhere (v6)

Maintenant, nos deux ports sont ouverts dans le pare-feu et en état d'écoute. Pour en savoir plus sur le pare-feu ufw, y compris des exemples de commandes, consultez notre guide sur l'installation et l'utilisation du pare-feu ufw sous Linux.

Réflexions finales

Dans ce guide, nous avons vu comment utiliser le ss commande, ainsi que la commande nmap utilitaire pour vérifier les ports d'écoute sur Ubuntu Linux. Nous avons également appris à vérifier le pare-feu ufw pour voir quels ports sont ouverts et ajouter des exceptions si nécessaire.

Si un port est dans un état d'écoute et est autorisé à traverser le pare-feu, il doit être ouvert aux connexions entrantes. Mais cela dépend également de votre routeur ou d'autres périphériques réseau situés entre votre ordinateur et Internet, car ils peuvent avoir leurs propres règles qui bloquent les connexions entrantes.


Ubuntu
  1. Comment vérifier les ports ouverts sous Linux avec netstat, lsof et nmap

  2. Comment vérifier la version du noyau Linux dans Ubuntu ?

  3. Comment ouvrir des ports dans Ubuntu / Debian

  4. Vérifier la disponibilité sur le serveur Ubuntu Linux - Comment faire ?

  5. Ubuntu - Comment ouvrir un fichier .bak sous Linux ?

Comment ouvrir un port sur Ubuntu 20.04

Comment vérifier les ports ouverts sur Debian 10

Comment ouvrir des livres ePub dans Ubuntu Linux

Comment ouvrir un terminal dans Ubuntu Linux

Comment vérifier les erreurs dans Ram via Linux ?

Comment vérifier les ports ouverts sous Linux ?