Recherche sur le site Web

Premiers pas avec UFW (pare-feu simple) sur Ubuntu 22.04


UFW ou Uncomplicated Firewall est une application permettant de gérer un pare-feu basé sur iptables sur Ubuntu. UFW est l'outil de configuration de pare-feu par défaut pour Ubuntu Linux et offre un moyen convivial de configurer le pare-feu. La commande UFW est identique à l'anglais, elle est donc facile à retenir. Le pare-feu UFW prend en charge IPv4 et IPv6.

UFW fournit également une application GUI. Si vous utilisez un bureau GNOME, vous pouvez installer gufw ; si vous utilisez un bureau KDE, vous pouvez installer kcm-ufw.

Conditions préalables

  • Version Ubuntu entre le 16.04 et le 22.04. Les versions plus récentes d'Ubuntu devraient également fonctionner.
  • privilèges root

Que couvre ce didacticiel ?

  1. Installation d'UFW.
  2. La syntaxe de base des commandes UFW.
  3. La commande UFW Autoriser et Refuser.
  4. Commandes UFW avancées.
  5. Suppression d'une règle dans UFW.
  6. Désactivez et réinitialisez UFW.

Installation d'UFW

Par défaut, UFW devrait déjà être installé sur Ubuntu 20.04. Vous pouvez tester cela avec la commande :

which ufw

S'il ne renvoie pas le chemin d'accès à la commande comme indiqué ci-dessus, installez UFW avec la commande apt suivante :

sudo apt install ufw

Exécutez ensuite la commande suivante pour activer UFW :

sudo ufw enable

Résultat :

Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

La commande UFW de base

La commande "ufw activate" activera UFW avec les règles par défaut. Vous pouvez vérifier qu'UFW est en cours d'exécution en exécutant cette commande :

sudo ufw status verbose

Résultat :

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

Si vous souhaitez désactiver ou désactiver UFW, vous pouvez utiliser :

sudo ufw disable

Résultat :

Firewall stopped and disabled on system startup

La commande UFW Autoriser et Refuser

1. Commande d'autorisation UFW

UFW refusera toutes les connexions entrantes après l’avoir activé. La première chose à faire est donc d'autoriser l'accès SSH au serveur si vous souhaitez gérer le système à distance. La commande "ufw allow sshport" autorise l'accès par SSH, remplacez SSHPORT par le port du service SSH, le port SSH par défaut est 22.

sudo ufw allow 22

Résultat :

Rules updated
Rules updated (v6) #For IPv6

Si vous souhaitez autoriser les connexions entrantes sur le port 22 pour TCP uniquement, ajoutez à la fin de la commande "/tcp" comme indiqué dans l'exemple suivant.

sudo ufw allow 22/tcp

Lorsque le service auquel vous souhaitez autoriser l'accès écoute sur son port par défaut, vous pouvez utiliser le nom du service au lieu du numéro de port. Cela facilite l'ouverture du port car vous ne connaissez peut-être pas le port. UFW recherchera pour vous le numéro de port correct dans /etc/services.

Cette commande ouvrira le port SSH par défaut :

sudo ufw allow ssh

Vérifiez maintenant la règle avec :

sudo ufw status

2. Commande de refus UFW

La commande « deny » fonctionne de manière similaire à la commande « allow » et est utilisée pour fermer un port dans le pare-feu :

Option Refuser avec port :

sudo ufw deny 80

Résultat :

Rule updated
Rule updated (v6)

Exemple pour « refuser » avec le nom du service. Dans cet exemple, je bloquerai le port http/80 :

sudo ufw deny http

Remarque :

Tous les ports et leurs noms de services sont répertoriés dans le fichier "/etc/services".

Commandes UFW avancées

Nous allons maintenant approfondir la syntaxe des commandes UFW, apprendre à autoriser des plages de parties (par exemple, pour les ports passifs FTP) et à accéder à partir d'une seule adresse IP ou d'un seul sous-réseau.

1. Autoriser une plage de ports

Vous pouvez autoriser une gamme de ports dans UFW. Certains services comme FTP ou IRC utilisent une gamme de ports pour communiquer avec leurs clients.

Pour cet exemple, nous autoriserons la plage de ports utilisée par ircd sur mon serveur. La plage va du port 6660 à 6670 :

sudo ufw allow 6660:6670/tcp
sudo ufw allow 6660:6670/udp

La commande permettra les connexions aux ports 6660-6670 via les protocoles TCP et UDP.

2. Autoriser une adresse IP spécifique

Et vous pouvez ajouter une adresse IP spécifique pour autoriser l'accès à tous les services en ajoutant l'option "de". C'est par ex. utile si vous avez une adresse IP statique à la maison ou au bureau et que vous souhaitez autoriser l'accès à tous les services de votre serveur à partir de là. La commande ci-dessous permettra à l'IP 192.168.1.106 d'accéder à tous les ports du serveur :

sudo ufw allow from 192.168.1.106

Résultat :

Rule added

3. Autoriser le sous-réseau

Si vous souhaitez autoriser toutes les adresses IP sur votre sous-réseau, vous pouvez ajouter le sous-réseau IP (plage d'adresses IP) à la commande UFW comme ceci :

sudo ufw allow from 192.168.1.1/24

Résultat :

WARN: Rule changed after normalization
Rule added

4. Autoriser l'accès depuis une adresse IP spécifique à un port

Si vous souhaitez autoriser l'accès à un port à partir d'une adresse IP spécifique uniquement, vous pouvez combiner les commandes UFW que nous avons apprises ci-dessus.

Par exemple, seule l'adresse IP 192.168.1.106 peut accéder au port ssh 22 TCP, et les autres adresses IP seront rejetées depuis ce port, vous pouvez utiliser le commande suivante :

sudo ufw allow from 192.168.1.106 proto tcp to any port 22

Résultat :

Rule added

5. Autoriser tout le trafic entrant vers un port spécifique

Si vous souhaitez autoriser tout le trafic sur le port 80, vous pouvez utiliser cette commande :

sudo ufw allow to any port 80

Suppression d'une règle de pare-feu UFW

Dans cette section, vous apprendrez comment supprimer une règle enregistrée dans UFW. Vous pouvez utiliser la commande "delete" pour supprimer la règle ufw. Veuillez taper la commande "ufw delete" suivie de l'option que vous souhaitez supprimer, autoriser ou refuser.

Voici quelques exemples :

Suppression de la règle SSH d'autorisation avec le nom du service :

sudo ufw delete allow ssh

Résultat :

Rule deleted
Rule deleted (v6)

Cette commande supprimera la règle "allow ssh". soyez prudent, ne vous enfermez pas du serveur.

Supprimez la règle "deny" sur le port 80 :

sudo ufw delete deny 80

Résultat :

Rule deleted
Rule deleted (v6)

Si vous disposez d'une règle complexe, il existe un moyen simple d'identifier et de supprimer la règle par son ID de règle. Exécutez la commande suivante pour obtenir une liste de toutes les règles avec leurs ID :

sudo ufw status numbered

Résultat :

Status: active

To Action From
-- ------ ----
[ 1] 22/tcp ALLOW IN Anywhere
[ 2] 22/tcp (v6) ALLOW IN Anywhere (v6)

Supprimez maintenant la règle SSH pour IPv6 uniquement en utilisant le numéro de la règle :

sudo ufw delete 2

Désactiver et réinitialiser UFW

Si vous souhaitez désactiver UFW sans supprimer vos règles, vous pouvez utiliser la commande "disable" :

sudo ufw disable

Résultat :

Firewall stopped and disabled on system startup

Si vous souhaitez désactiver complètement UFW et supprimer toutes les règles, vous pouvez utiliser la commande "reset" :

sudo ufw reset

Résultat :

Resetting all rules to installed defaults. This may disrupt existing ssh
connections. Proceed with operation (y|n)? y
Backing up 'after6.rules' to '/etc/ufw/after6.rules.20150918_190351'
Backing up 'user.rules' to '/lib/ufw/user.rules.20150918_190351'
Backing up 'after.rules' to '/etc/ufw/after.rules.20150918_190351'
Backing up 'before.rules' to '/etc/ufw/before.rules.20150918_190351'
Backing up 'before6.rules' to '/etc/ufw/before6.rules.20150918_190351'
Backing up 'user6.rules' to '/lib/ufw/user6.rules.20150918_190351'

Conclusion

UFW (Uncomplicated Firewall) est l'outil de configuration de pare-feu par défaut dans Ubuntu. Les commandes UFW sont similaires à l'anglais, ce qui les rend faciles à utiliser et à mémoriser. Ce didacticiel UFW est un guide pour démarrer avec ce bel outil de pare-feu. Si vous souhaitez en savoir plus sur UFW, vous pouvez accéder au wiki Ubuntu ou à la page de manuel ufw.

Articles connexes: