Comment ouvrir des ports et lister les ports ouverts sous Linux
Lors du travail avec des réseaux sous Linux, il peut être nécessaire d’ouvrir ou de fermer un port réseau. La gestion des ports est essentielle pour la sécurité — moins il y a de ports ouverts dans un système, moins il y a de vecteurs d’attaque potentiels. De plus, si un port est fermé, un attaquant ne peut pas recueillir d’informations sur le service fonctionnant sur ce port spécifique.
Ce guide explique comment ouvrir ou fermer des ports et comment vérifier les ports ouverts sur des distributions Linux telles que Ubuntu/Debian et CentOS/RHEL à l’aide de pare-feu comme ufw, firewalld et iptables.
Nous allons démontrer ce processus sur deux distributions Linux : Ubuntu 22.04 et CentOS 9, exécutées sur un VPS Hostman. Toutes les commandes présentées ici fonctionnent sur n’importe quelle distribution basée sur Debian ou RHEL.
Qu’est-ce qu’un port réseau ? Copier le lien
Les ports sont utilisés pour accéder à des applications et des protocoles spécifiques. Par exemple, un serveur peut héberger à la fois un serveur web et une base de données — les ports dirigent le trafic vers le service approprié. Techniquement, un port réseau est un entier non négatif allant de 0 à 65535.
-
Ports réservés (0–1023) : utilisés par des protocoles et services réseau populaires comme SSH (port 22), FTP (port 21), HTTP (port 80) et HTTPS (port 443).
-
Ports enregistrés (1024–49151) : peuvent être utilisés par des applications spécifiques pour la communication.
- Ports dynamiques (49152–65535) : utilisés pour des connexions temporaires et peuvent être attribués dynamiquement à des applications.
Ouvrir des ports sur les distributions Linux basées sur Debian Copier le lien
Sur les systèmes basés sur Debian (Ubuntu, Debian, Linux Mint, etc.), vous pouvez utiliser ufw (Uncomplicated Firewall).
ufw est préinstallé sur la plupart des distributions basées sur APT. Pour vérifier s’il est installé :
ufw versionSi une version s’affiche, ufw est installé. Sinon, installez-le avec :
apt update && apt -y install ufwPar défaut, ufw est inactif, ce qui signifie que tous les ports sont ouverts. Vous pouvez vérifier son statut avec :
ufw statusPour l’activer :
ufw enableVous devrez confirmer avec y. Notez que l’activation d’ufw peut interrompre les connexions SSH en cours. Par défaut, ufw bloque tout le trafic entrant et autorise tout le trafic sortant.
Pour vérifier la politique par défaut :
cat /etc/default/ufw
Ouvrir des ports avec ufw Copier le lien
Pour ouvrir un port :
ufw allow <port_number>Exemple — ouvrir le port 22 pour SSH :
ufw allow 22Vous pouvez ouvrir plusieurs ports en les séparant par des virgules et en spécifiant le protocole (tcp ou udp) :
ufw allow 80,443,8081,8443/tcp
ufw allow 80,443,8081,8443/udpAu lieu des numéros de port, vous pouvez utiliser le nom du service (défini dans /etc/services).

Exemple — ouvrir Telnet (port 23) :
ufw allow telnetRemarque : Vous ne pouvez pas spécifier plusieurs noms de services à la fois. Sinon, ufw renverra une erreur :

Pour ouvrir une plage de ports :
ufw allow <start_port>:<end_port>/<protocol>Exemple :
ufw allow 8000:8080/tcpFermer des ports avec ufw Copier le lien
Pour fermer un port :
ufw deny <port_number>Exemple — fermer le port 80 :
ufw deny 80Vous pouvez également utiliser le nom du service. Exemple — fermer FTP (port 21) :
ufw deny ftpVérifier les ports ouverts dans ufw Copier le lien
Pour lister tous les ports ouverts et fermés :
ufw status
Ou pour une vue plus détaillée :
ufw status verboseOuvrir un port sur les distributions Linux basées sur RHEL Copier le lien
Les distributions basées sur RHEL (CentOS 7+, RHEL 7+, Fedora 18+, OpenSUSE 15+) utilisent par défaut firewalld.
Ouvrir des ports avec firewalld Copier le lien
Vérifiez si firewalld est installé :
firewall-offline-cmd -VSi une version s’affiche, firewalld est installé. Sinon, installez-le :
dnf install firewalldPar défaut, firewalld est désactivé. Vérifiez son statut :
firewall-cmd --statePour l’activer :
systemctl start firewalldOuvrir le port 8080 pour TCP :
firewall-cmd --zone=public --add-port=8080/tcp --permanent--zone=public: Spécifie la zone pour la règle.--add-port=8080/tcp: Spécifie le port et le protocole.--permanent: Enregistre la règle de façon permanente.

Vous pouvez aussi ouvrir un service en utilisant son nom, par exemple HTTP (port 80) :
firewall-cmd --zone=public --add-service=http --permanentAppliquer les changements :
firewall-cmd --reloadFermer des ports avec firewalld Copier le lien
Pour fermer un port par numéro :
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
Ou par nom de service :
firewall-cmd --zone=public --remove-service=http --permanentToujours recharger après modification :
firewall-cmd --reloadLister les ports ouverts avec firewalld Copier le lien
Pour lister tous les ports ouverts :
firewall-cmd --list-portsGérer les ports avec iptables Copier le lien
Contrairement à ufw et firewalld, iptables est préinstallé sur de nombreuses distributions (Ubuntu, Debian, RHEL, Rocky Linux, AlmaLinux).
Ouvrir des ports avec iptables Copier le lien
Pour ouvrir le port 8182 pour les connexions entrantes :
iptables -A INPUT -p tcp --dport 8182 -j ACCEPT-A INPUT: Ajoute une règle à la chaîne INPUT.-p tcp: Spécifie le protocole.--dport 8182: Spécifie le port à ouvrir.-j ACCEPT: Autorise le trafic sur ce port.
Pour les connexions sortantes :
iptables -A OUTPUT -p tcp --dport 8182 -j ACCEPTPour ouvrir une plage de ports :
iptables -A INPUT -p tcp --match multiport --dports 1024:2000 -j ACCEPTFermer des ports avec iptables Copier le lien
Pour fermer un port :
iptables -A INPUT -p tcp --dport 8182 -j DROPFermer une plage de ports :
iptables -A INPUT -p tcp --match multiport --dports 1024:2000 -j DROPSauvegarder les règles iptables Copier le lien
Par défaut, les règles iptables sont perdues après un redémarrage. Copier le lien
Pour les sauvegarder de façon permanente, installez iptables-persistent.
Pour les systèmes basés sur APT :
apt update && apt -y install iptables-persistentPour les systèmes basés sur DNF :
dnf -y install iptables-persistentSauvegarder les règles actuelles :
iptables-saveLes règles seront automatiquement rechargées au prochain redémarrage.
Afficher les ports ouverts avec iptables Copier le lien
Lister toutes les règles et ports ouverts :
iptables -L -v -nLister uniquement les règles IPv4 :
iptables -SLister les règles IPv6 :
ip6tables -SConclusion Copier le lien
Dans ce guide, nous avons montré comment ouvrir et fermer des ports réseau sous Linux et comment vérifier les ports actuellement ouverts à l’aide de trois outils différents : ufw, firewalld et iptables. Une bonne gestion des ports réduit les risques d’attaques réseau potentielles et aide à dissimuler des informations sur les services utilisant ces ports.