Kategorie: Linux

Vérification des ports d'écoute dans les systèmes Linux

Internet n'est plus un endroit sûr depuis longtemps, il vaut la peine de voir pour qui on laisse la porte ouverte et à quoi elle mène. Les ports sont un tel équivalent des portes dans les réseaux informatiques.

Quand on sait quelles applications on utilise, nous saurons alors quoi ajouter à nos propres règles de pare-feu iptables ou à notre liste blanche UDP:

Comment faire?

Sur la plupart des systèmes, la commande est suffisante:

netstat -l

Comment le lire?

Au début, cela ressemble à un plat de pâtes italien, mais il suffit de regarder de plus près que le résultat de cette commande est une mine de connaissances

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 *:ssh                   *:*                     LISTEN     
tcp        0      0 *:40833                 *:*                     LISTEN     
tcp        0      0 localhost:27017         *:*                     LISTEN     
tcp        0      0 localhost:mysql         *:*                     LISTEN     
tcp        0      0 *:sunrpc                *:*                     LISTEN     
tcp        0      0 *:46834                 *:*                     LISTEN     
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN     
tcp6       0      0 [::]:43937              [::]:*                  LISTEN     
tcp6       0      0 [::]:57793              [::]:*                  LISTEN     
tcp6       0      0 [::]:sunrpc             [::]:*                  LISTEN     
udp        0      0 localhost:608           *:*                                
udp        0      0 *:674                   *:*                                
udp        0      0 *:59774                 *:*                                
udp        0      0 *:bootpc                *:*                                
udp        0      0 *:sunrpc                *:*                                
udp        0      0 *:41251                 *:*                                
udp6       0      0 [::]:674                [::]:*                             
udp6       0      0 [::]:43086              [::]:*                             
udp6       0      0 [::]:40189              [::]:*                             
udp6       0      0 [::]:sunrpc             [::]:*                             
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     7424585  /tmp/mongodb-27017.sock
unix  2      [ ACC ]     STREAM     LISTENING     24344048 /run/user/1000/systemd/private
unix  2      [ ACC ]     STREAM     LISTENING     7467947  /run/user/1002/systemd/private
unix  2      [ ACC ]     STREAM     LISTENING     7459911  /run/user/1001/systemd/private
unix  2      [ ACC ]     SEQPACKET  LISTENING     7951     /run/udev/control
unix  2      [ ACC ]     STREAM     LISTENING     7885     /run/systemd/journal/stdout
unix  2      [ ACC ]     STREAM     LISTENING     7931     /run/lvm/lvmetad.socket
unix  2      [ ACC ]     STREAM     LISTENING     7952     /run/lvm/lvmpolld.socket
unix  2      [ ACC ]     STREAM     LISTENING     13305    /var/lib/lxd/unix.socket
unix  2      [ ACC ]     STREAM     LISTENING     13303    /run/uuidd/request
unix  2      [ ACC ]     STREAM     LISTENING     13304    /var/run/dbus/system_bus_socket
unix  2      [ ACC ]     STREAM     LISTENING     13306    /run/acpid.socket
unix  2      [ ACC ]     STREAM     LISTENING     13307    /run/snapd.socket
unix  2      [ ACC ]     STREAM     LISTENING     13308    /run/snapd-snap.socket
unix  2      [ ACC ]     STREAM     LISTENING     14766    @ISCSIADM_ABSTRACT_NAMESPACE
unix  2      [ ACC ]     STREAM     LISTENING     24019    /run/systemd/private
unix  2      [ ACC ]     STREAM     LISTENING     42459    /var/run/mysqld/mysqld.sock
unix  2      [ ACC ]     STREAM     LISTENING     45141    /run/rpcbind.sock

Après ce résultat, nous pouvons conclure que ce système exécute MySQL et MongoDB.

Vous avez MySQL:

tcp        0      0 localhost:mysql         *:*                     LISTEN     

MySQL utilise le port par défaut 3306 et c'est une application assez connue depuis de nombreuses années, donc l'application nous dit immédiatement que c'est le port utilisé par MySQL au lieu du numéro de port

A tu MongoDB:

tcp        0      0 localhost:27017         *:*                     LISTEN     

Mongo est moins connu et beaucoup plus jeune, c'est là que le port nous est affiché 27017.

Nous pouvons également utiliser netstat -ln, alors nous obtiendrons une liste de tous les ports sans détecter ce qui est quoi.

Les deux applications ont localhost: devant le port pour qu'ils n'écoutent que localement, c'est-à-dire qu'ils ne sont pas accessibles de l'extérieur via le réseau. C'est une solution sûre car il vaut mieux ne pas donner accès à notre base de données à des étrangers, même si elle est protégée par mot de passe.
Par exemple, si nous autorisons l'accès de l'extérieur, il se peut qu'à l'avenir il y ait une faille qui vous permet de vous connecter sans mot de passe et nous oublierons la mise à jour et le problème est prêt.

Ici, nous pouvons voir un serveur SSH à l'écoute sur un port standard:

tcp        0      0 *:ssh                   *:*                     LISTEN    

Il est exposé à l'extérieur, mais SSH est une application éprouvée et d'une manière ou d'une autre, nous devons également accéder au serveur, alors ne vous inquiétez pas trop tant que nous avons un mot de passe long et généré de manière aléatoire ou que nous nous connectons avec une paire de clés (publique et privée).

On a aussi une curiosité au fond:

unix  2      [ ACC ]     STREAM     LISTENING     42459    /var/run/mysqld/mysqld.sock

C'est un port, mais pas vraiment. C'est une prise (prise de courant) qui permet à l'application de se connecter non pas via une adresse réseau standard mais via un fichier. Certaines applications prennent en charge la connexion via des sockets UNIX, et en voici un exemple. Ces fichiers ne sont en aucun cas exposés au monde, ils sont une bonne solution pour connecter des services sur un serveur avec différents utilisateurs car vous pouvez modifier les droits des utilisateurs sur cette ressource comme n'importe quel autre fichier sur le disque.

Ça ne marche pas!

Si nous n'avons pas une telle commande dans le système comme netstat, vous devez installer le paquet net-tools.
Dans le cas de Debian et de ses dérivés, par ex.. Ubuntu exécute simplement ces commandes pour l'installer:

apt-get update
apt-get install net-tools

Suffisant pour CentOS et autres dérivés RHEL:

yum install net-tools

Linux

Udostępnij
Opublikowane przez
Linux

articles récents

KeePass2 2.52 w Ubuntu 22.04

Le guide ci-dessous décrit comment installer KeePass sur Ubuntu. Całość wykonamy za pomocą kilku poleceń

2 years temu

Installation de l'éditeur Master PDF dans Ubuntu 22.04

Master PDF Editor est un programme PDF complet, qui comprend de nombreuses fonctionnalités. Oprócz tworzenia i edycji

2 years temu

iotop - surveillance de la mémoire

Iotop jest prostym narzędziem dla systemów Uniksowych umożliwiającym monitorowanie użycia dowolnego nośnika pamięci flash/hdd/ssd w

2 years temu

Exécutez plusieurs commandes dans une tâche cron

Vous pouvez séparer deux ou plusieurs commandes avec des points-virgules (;), Point-virgule (;): służy do oddzielania

2 years temu

Changer les données exif d'une photo dans le terminal Linux

Poniższy poradnik opisuje w jaki sposób za pomocą konsoli możemy dokonać edycji danych zdjęcia exif.

2 years temu

Installation du serveur Rocket.Chat sur Rocky Linux 8

Le guide suivant décrit comment installer Rocket.Chat sur Rocky Linux 8 Całość bardzo prosto zainstalujemy

2 years temu