L'administration de réseau et de serveur est l'un des domaines clés dans lesquels Linux est en fait préféré à tout autre système d'exploitation. Par conséquent, la plupart des administrateurs de centres de données connaissent bien la ligne de commande Linux.
Il peut y avoir des scénarios dans lesquels certains ports d'un serveur, qui devaient être fermés, sont ouverts et provoquent un trafic inattendu sur le serveur.
Aujourd'hui, nous allons apprendre à trouver et à fermer un port ouvert sous Linux.
Rechercher des ports ouverts sous Linux
Pour trouver les ports ouverts, nous utiliserons la commande ss , qui est préinstallé dans la plupart des distributions Linux courantes et remplace désormais la commande netstat, auparavant très populaire.
Exécutons la commande ss avec la syntaxe suivante, pour obtenir tous les TCP à l'écoute prises :
$ ss -tl
Ici, le 't'
signifie TCP et le 'l'
signifie Prises d'écoute.
De même pour obtenir toutes les écoutes UDP ports, exécutez :
$ ss -ul
Observez la sortie. Dans l'État ' colonne pour UDP , tous les ports ont l'état UNCONN , c'est-à-dire sans lien. Comme nous n'avons besoin que des ports qui écoutent activement, nous dirigeons la sortie et la filtrons avec la commande grep.
$ ss -ul | grep LISTEN
Nous pouvons également combiner le TCP et UDP sortie ensemble.
$ ss -tul | grep LISTEN
Un autre ajout qui peut être fait ici est :l'argument '-n'
. Dans la sortie ci-dessus, la commande résout le nom du service associé à un port :par exemple. HTTP , IPP , etc.
Avec l'argument '-n'
il affiche simplement le numéro de port qui écoute.
$ ss -tuln | grep LISTEN
Fermer les ports ouverts sous Linux
La manière manuelle de fermer un port ouvert sous Linux est assez fastidieuse et programmatique. Par conséquent, nous allons utiliser l'approche la plus simple :fermer les processus qui écoutent sur le port.
Nous devons appeler ss avec un autre argument, '-p'
pour lister le processus qui utilise chaque port (exécutez la commande en tant qu'utilisateur sudo).
$ sudo ss -tulnp | grep LISTEN
Comme indiqué ci-dessus, la dernière colonne répertorie les "utilisateurs ', c'est-à-dire les processus qui utilisent le numéro de port. Vous pouvez maintenant fermer le port en mettant fin au processus qui l'utilise. Par exemple, pour fermer le port 80 , il faut arrêter le processus ‘Apache2 '.
$ sudo service apache2 stop OR $ sudo systemctl stop apache2
Ainsi, nous avons réussi à fermer le port 80 et aucun processus ne l'écoute plus.
Conclusion
Dans cet article, nous avons appris comment rechercher et fermer un port ouvert sous Linux. De nombreux ports comme 22 (SSH ), 21 (Telnet ), etc. doivent rester fermés la plupart du temps, car ce sont les ports à partir desquels les cyberattaques peuvent survenir.
D'autres ports doivent également être fermés lorsque le processus de leur utilisation n'est plus nécessaire. Merci d'avoir lu et faites-nous part de vos réflexions dans les commentaires ci-dessous !