Affichez les connexions réseau de votre serveur Linux avec netstat


  • FrançaisFrançais


  • J’ai partagé quelques premières étapes importantes pour vous aider à gérer votre serveur Linux personnel dans un article précédent. J’ai brièvement mentionné la surveillance des connexions réseau pour les ports d’écoute, et je souhaite développer cela en utilisant le netstat commande pour les systèmes Linux.

    La surveillance des services et l’analyse des ports sont des pratiques standard de l’industrie. Il existe de très bons logiciels comme Prometheus pour aider à automatiser le processus, et SELinux pour aider à contextualiser et protéger l’accès au système. Cependant, je pense que comprendre comment votre serveur se connecte à d’autres réseaux et appareils est essentiel pour établir une base de référence de ce qui est normal pour votre serveur, ce qui vous aide à reconnaître les anomalies pouvant suggérer un bogue ou une intrusion. En tant que débutant, j’ai découvert que le netstat La commande fournit des informations importantes sur mon serveur, à la fois pour la surveillance et le dépannage du réseau.

    Netstat et des outils de surveillance de réseau similaires, regroupés dans le paquet net-tools, affiche des informations sur les connexions réseau actives. Étant donné que les services exécutés sur des ports ouverts sont souvent vulnérables à l’exploitation, la pratique d’une surveillance régulière du réseau peut vous aider à détecter rapidement les activités suspectes.

    Installer netstat

    Netstat est souvent préinstallé sur les distributions Linux. Si netstat n’est pas installé sur votre serveur, installez-le avec votre gestionnaire de paquets. Sur un système basé sur Debian :

    $ sudo apt-get install net-tools

    Pour les systèmes basés sur Fedora :

    $ dnf install net-tools

    Utiliser netstat

    A lui seul, le netstat La commande affiche toutes les connexions établies. Vous pouvez utiliser le netstat options ci-dessus pour spécifier davantage la sortie prévue. Par exemple, pour afficher toutes les connexions d’écoute et de non-écoute, utilisez la --all (-a pour faire court). Cela renvoie beaucoup de résultats, donc dans cet exemple, je dirige la sortie vers head pour afficher uniquement les 15 premières lignes de sortie :

    $ netstat --all | head -n 15
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    tcp        0      0 *:27036                 *:*                     LISTEN      
    tcp        0      0 localhost:27060         *:*                     LISTEN      
    tcp        0      0 *:16001                 *:*                     LISTEN      
    tcp        0      0 localhost:6463          *:*                     LISTEN      
    tcp        0      0 *:ssh                   *:*                     LISTEN      
    tcp        0      0 localhost:57343         *:*                     LISTEN      
    tcp        0      0 *:ipp                   *:*                     LISTEN      
    tcp        0      0 *:4713                  *:*                     LISTEN      
    tcp        0      0 10.0.1.222:48388        syd15s17-in-f5.1e:https ESTABLISHED
    tcp        0      0 10.0.1.222:48194        ec2-35-86-38-2.us:https ESTABLISHED
    tcp        0      0 10.0.1.222:56075        103-10-125-164.va:27024 ESTABLISHED
    tcp        0      0 10.0.1.222:46680        syd15s20-in-f10.1:https ESTABLISHED
    tcp        0      0 10.0.1.222:52730        syd09s23-in-f3.1e:https ESTABLISHED

    Pour afficher uniquement les ports TCP, utilisez le --all et --tcp option, ou -at pour faire court:

    $ netstat -at | head -n 5
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address   Foreign Address  State      
    tcp        0      0 *:27036         *:*              LISTEN      
    tcp        0      0 localhost:27060 *:*              LISTEN      
    tcp        0      0 *:16001         *:*              LISTEN

    Pour afficher uniquement les ports UDP, utilisez le --all et --udp option, ou -au pour faire court:

    $ netstat -au | head -n 5
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address     Foreign Address    State      
    udp        0      0 *:27036           *:*                                
    udp        0      0 10.0.1.222:44741  224.0.0.56:46164   ESTABLISHED
    udp        0      0 *:bootpc          

    Les options de netstat sont souvent intuitives. Par exemple, pour afficher tous les ports TCP et UDP en écoute avec l’ID de processus (PID) et l’adresse numérique :

    $ sudo netstat --tcp --udp --listening --programs --numeric
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address      Foreign Addr  State   PID/Program name    
    tcp        0      0 0.0.0.0:111        0.0.0.0:*     LISTEN  1/systemd            
    tcp        0      0 192.168.122.1:53   0.0.0.0:*     LISTEN  2500/dnsmasq        
    tcp        0      0 0.0.0.0:22         0.0.0.0:*     LISTEN  1726/sshd            
    tcp        0      0 127.0.0.1:631      0.0.0.0:*     LISTEN  1721/cupsd          
    tcp        0      0 127.0.0.1:6010     0.0.0.0:*     LISTEN  4023/sshd: tux@  
    tcp6       0      0 :::111             :::*          LISTEN  1/systemd            
    tcp6       0      0 :::22              :::*          LISTEN  1726/sshd            
    tcp6       0      0 ::1:631            :::*          LISTEN  1721/cupsd          
    tcp6       0      0 ::1:6010           :::*          LISTEN  4023/sshd: tux@  
    udp        0      0 0.0.0.0:40514      0.0.0.0:*             1499/avahi-daemon:  
    udp        0      0 192.168.122.1:53   0.0.0.0:*             2500/dnsmasq        
    udp        0      0 0.0.0.0:67         0.0.0.0:*             2500/dnsmasq        
    udp        0      0 0.0.0.0:111        0.0.0.0:*             1/systemd            
    udp        0      0 0.0.0.0:5353       0.0.0.0:*             1499/avahi-daemon:  
    udp6       0      0 :::111             :::*                  1/systemd            
    udp6       0      0 :::44235           :::*                  1499/avahi-daemon:  
    udp6       0      0 :::5353            :::*                  1499/avahi-daemon:

    La version courte de cette combinaison courante est -tulpn.

    Pour afficher des informations sur un service spécifique, filtrez avec grep:

    $ sudo netstat -anlp | grep cups
    tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1721/cupsd           tcp6       0      0 ::1:631                 :::*                    LISTEN      1721/cupsd
    unix  2      [ ACC ]     STREAM     LISTENING     27251    1/systemd /var/run/cups/cups.sock
    unix  2      [ ]         DGRAM                    59530    1721/cupsd
    unix  3      [ ]         STREAM     CONNECTED     55196    1721/cupsd /var/run/cups/cups.sock

    Prochaines étapes

    Une fois que vous avez exécuté le netstat , vous pouvez prendre des mesures pour sécuriser votre système en vous assurant que seuls les services que vous utilisez activement écoutent sur votre réseau.

    1. Reconnaître les ports et les services couramment exploités. En règle générale, fermez les ports que vous n’utilisez pas réellement.
    2. Soyez à l’affût des numéros de port inhabituels et apprenez à reconnaître les ports légitimes utilisés sur votre système.
    3. Portez une attention particulière aux erreurs SELinux. Parfois, tout ce que vous avez à faire est de mettre à jour les contextes pour correspondre à une modification légitime que vous avez apportée à votre système, mais lisez les erreurs pour vous assurer que SELinux ne vous alerte pas d’une activité suspecte ou malveillante.

    Si vous constatez qu’un port exécute un service suspect, ou si vous souhaitez simplement fermer un port que vous n’utilisez plus, vous pouvez refuser manuellement l’accès au port via des règles de pare-feu en suivant ces étapes :

    Si vous utilisez firewall-cmd, exécutez ces commandes :

    $ sudo firewall-cmd –remove-port=<port number>/tcp
    $ sudo firewall-cmd –runtime-to-permanent

    Si vous utilisez UFW, exécutez la commande suivante :

    $ sudo ufw deny <port number>

    Ensuite, arrêtez le service lui-même en utilisant systemctl:

    $ systemctl stop <service>

    Apprendre netstat

    Netstat est un outil utile pour collecter rapidement des informations sur les connexions réseau de votre serveur. La surveillance régulière du réseau est importante pour apprendre à connaître votre système et vous aide à assurer la sécurité de votre système. Pour intégrer cette étape dans votre routine administrative, vous pouvez utiliser des outils de surveillance du réseau comme netstat ou ss, ainsi que le port open source des scanners tels que Nmap ou des renifleurs comme Wireshark, qui autorisent les tâches planifiées.

    Comme les serveurs hébergent de plus grandes quantités de données personnelles, il est de plus en plus important d’assurer la sécurité des serveurs personnels. En comprenant comment votre serveur se connecte à Internet, vous pouvez réduire la vulnérabilité de votre machine, tout en bénéficiant de la connectivité croissante de l’ère numérique.

    Source

    La Rédaction

    L'équipe rédactionnnelle du site

    Pour contacter personnellement le taulier :

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    Copy code