UFW est un outil de configuration de pare-feu pour les iptables qui est inclus dans Ubuntu par défaut. Sous forme d’aide-mémo, ce guide vous permettra de trouver rapidement les commandes UFW qui créeront des règles de pare-feu iptables qui sont utiles dans les scénarios classiques du quotidien. Ceci intègre des exemples UFW d’autorisation et de blocage de plusieurs services par port, interface de réseau ou adresse IP source.
N’oubliez pas que vous pouvez vérifier votre règlement UFW actuel avec sudo ufw status
ou sudo ufw status verbose
.
Pour bloquer toutes les connexions réseau qui proviennent d’une adresse IP spécifique, 15.15.15.51
par exemple, exécutez la commande suivante :
- sudo ufw deny from 15.15.15.51
Dans cet exemple, from 15.15.15.51
spécifie une adresse IP source de « 15.15.15.51 ». Si vous le souhaitez, vous pouvez spécifier ici un sous-réseau, tel que 15.15.15.0/24
à la place. L’adresse IP source peut être spécifiée dans toute règle de pare-feu, notamment une règle allow.
Pour bloquer les connexions d’une adresse IP spécifique, par exemple 15.15.15.51
à une interface réseau spécifique, par exemple eth0
, utilisez la commande suivante :
- sudo ufw deny in on eth0 from 15.15.15.51
C’est la même chose que dans l’exemple précédent, en ajoutant in on eth0
. Vous pouvez spécifier l’interface réseau dans n’importe quelle règle de pare-feu. C’est un excellent moyen de limiter la règle à un réseau spécifique.
Si vous utilisez un serveur cloud, vous voudrez probablement autoriser les connexions SSH entrantes (port 22) afin de pouvoir vous connecter à votre serveur et le gérer. Cette section vous montre de quelle manière configurer votre pare-feu avec plusieurs règles liées au SSH.
Pour autoriser toutes les connexions SSH entrantes, exécutez la commande suivante :
- sudo ufw allow ssh
Voici une autre syntaxe qui vous permettra de spécifier le numéro de port du service SSH :
- sudo ufw allow 22
Pour autoriser les connexions SSH entrantes à partir d’une adresse IP ou d’un sous-réseau spécifique, vous devez spécifier la source. Par exemple, si vous souhaitez autoriser l’intégralité du sous-réseau 15.15.15.0/24
, vous devez exécuter la commande suivante :
- sudo ufw allow from 15.15.15.0/24 to any port 22
Vous pouvez utiliser Rsync, qui fonctionne sur le port 873, pour transférer des fichiers d’un ordinateur à un autre.
Pour autoriser les connexions rsync entrantes à partir d’une adresse IP ou d’un sous-réseau spécifique, vous devez spécifier l’adresse IP source et le port de destination. Par exemple, si vous souhaitez autoriser que l’intégralité du sous-réseau 15.15.15.0/24
soit en mesure de rsync sur votre serveur, exécutez la commande suivante :
- sudo ufw allow from 15.15.15.0/24 to any port 873
Les serveurs Web, comme Apache et Nginx, écoutent généralement les requêtes des connexions HTTP et HTTPS sur le port 80 et 443, respectivement. Si votre politique pour le trafic entrant est configurée sur drop ou deny par défaut, il vous faudra créer des règles qui permettront à votre serveur de répondre à ces requêtes.
Pour autoriser toutes les connexions HTTP entrantes (port 80), exécutez la commande suivante :
- sudo ufw allow http
Vous pouvez également utiliser une autre syntaxe en spécifiant le numéro de port du service HTTP :
- sudo ufw allow 80
Exécutez la commande suivante pour autoriser toutes les connexions HTTPS entrantes (port 443) :
- sudo ufw allow https
Vous pouvez également utiliser une autre syntaxe en spécifiant le numéro de port du service HTTPS :
- sudo ufw allow 443
Si vous souhaitez autoriser le trafic à la fois HTTP et HTTPS, vous pouvez créer une règle unique qui autorise les deux ports. Pour autoriser toutes les connexions HTTP et HTTPS entrantes (port 443), exécutez la commande suivante :
- sudo ufw allow proto tcp from any to any port 80,443
Notez que vous devez indiquer le protocole en utilisant proto tcp
lorsque vous spécifiez plusieurs ports.
MySQL écoute les connexions des clients sur le port 3306. Si un client utilise votre serveur de base de données MySQL sur un serveur distant, vous devez avoir la garantie de bien autoriser ce trafic.
Pour autoriser les connexions MySQL entrantes à partir d’une adresse IP ou d’un sous-réseau spécifique, vous devez spécifier la source. Par exemple, si vous souhaitez autoriser l’intégralité du sous-réseau 15.15.15.0/24
, vous devez exécuter la commande suivante :
- sudo ufw allow from 15.15.15.0/24 to any port 3306
Disons que vous disposez par exemple d’une interface réseau privée eth1
, vous devez utiliser la commande suivante pour autoriser les connexions MySQL sur une interface réseau spécifique :
- sudo ufw allow in on eth1 to any port 3306
PostgreSQL écoute les connexions des clients sur le port 5432. Si un client utilise votre serveur de base de données PostgreSQL sur un serveur distant, vous devez avoir la garantie de bien autoriser ce trafic.
Pour autoriser les connexions PostgreSQL entrantes à partir d’une adresse IP ou d’un sous-réseau spécifique, vous devez spécifier la source. Par exemple, si vous souhaitez autoriser l’intégralité du sous-réseau 15.15.15.0/24
, vous devez exécuter la commande suivante :
- sudo ufw allow from 15.15.15.0/24 to any port 5432
La deuxième commande qui autorise le trafic sortant des connexions PostgreSQL established, n’est nécessaire que si la politique OUTPUT
n’est pas défini sur ACCEPT
.
Disons que vous disposez par exemple d’une interface réseau privée eth1
, vous devez utiliser la commande suivante pour autoriser les connexions PostgreSQL sur une interface réseau spécifique :
- sudo ufw allow in on eth1 to any port 5432
La deuxième commande qui autorise le trafic sortant des connexions PostgreSQL established, n’est nécessaire que si la politique OUTPUT
n’est pas défini sur ACCEPT
.
Les serveurs de courrier électronique, comme Sendmail et Postfix, écoutent sur une variété de ports en fonction des protocoles utilisés pour livrer les courriels. Si vous utilisez un serveur de messagerie, vous devez déterminer les protocoles que vous utilisez et autoriser les types de trafic applicables. Nous allons également vous montrer de quelle manière créer une règle pour bloquer les courriels SMTP sortants.
Si votre serveur ne doit pas envoyer de courriel sortant, il vous faudra bloquer ce type de trafic. Pour bloquer les courriels SMTP sortants, qui utilise le port 25, exécutez la commande suivante :
- sudo ufw deny out 25
Vous configurez votre pare-feu de sorte qu’il drop tout le trafic sortant sur le port 25. Si vous devez rejeter un autre service en fonction de son numéro de port, vous pouvez l’utiliser à la place du port 25, vous devez simplement le remplacer.
Pour permettre à votre serveur de répondre aux connexions SMTP, port 25, exécutez la commande suivante :
- sudo ufw allow 25
Remarque : il est courant que les serveurs SMTP utilisent le port 587 pour le courrier sortant.
Pour permettre à votre serveur de répondre aux connexions IMAP, port 143, exécutez la commande suivante :
- sudo ufw allow 143
Pour permettre à votre serveur de répondre aux connexions IMAPS, port 993, exécutez la commande suivante :
- sudo ufw allow 993
Pour permettre à votre serveur de répondre aux connexions POP3, port 110, exécutez la commande suivante :
- sudo ufw allow 110
Pour permettre à votre serveur de répondre aux connexions POP3S, port 995, exécutez la commande suivante :
- sudo ufw allow 995
Ainsi, vous devriez couvrir plusieurs des commandes que l’on utilise couramment pour configurer un pare-feu en utilisant UFW. Bien entendu, UFW est un outil très flexible. N’hésitez pas à combiner les commandes avec différentes options selon vos besoins spécifiques si elles ne sont pas couvertes ici.
Bonne chance !
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!