Démarrer avec UFW (Uncomplicated Firewall) sur Ubuntu 20.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 du pare-feu par défaut pour Ubuntu Linux et offre un moyen convivial de configurer le pare-feu. La commande UFW est semblable à la langue anglaise, les commandes sont donc faciles à retenir. Le pare-feu UFW prend en charge IPv4 et IPv6.

UFW fournit aussi une application GUI, si tu utilises un bureau GNOME tu peux installer gufw, ou si tu utilises un bureau KDE tu peux installer kcm-ufw.

Conditions préalables

  • Version d’Ubuntu comprise entre 15.04 et 21.04. Les versions Ubuntu plus récentes devraient également fonctionner.
  • privilèges root

Qu’est-ce qui est couvert par ce tutoriel ?

  1. Installation d’UFW.
  2. La syntaxe de base des commandes UFW.
  3. La commande UFW Allow et Deny.
  4. Commandes UFW avancées.
  5. Suppression d’une règle dans UFW.
  6. Désactiver et réinitialiser UFW.

Installation d’UFW

Par défaut, UFW devrait déjà être installé sur ubuntu 20.04. Tu peux le tester avec la commande :

which ufw

Si elle ne renvoie pas le chemin d’accès à la commande, alors installe UFW avec la commande apt suivante :

sudo apt-get install ufw

Pour les commandes suivantes, utilise les privilèges sudo ou root. Tu peux devenir utilisateur root avec la commande :

sudo -s

Exécute ensuite la commande suivante pour activer UFW :

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 enable » activera UFW avec les règles par défaut. Tu peux vérifier que l’UFW fonctionne en lançant cette commande :

ufw status verbose

Résultat :

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

Si tu veux désactiver ou éteindre UFW, tu peux utiliser :

ufw disable

Résultat :

Firewall stopped and disabled on system startup

Activer UFW

La commande UFW Allow et Deny

1. Commande UFW Allow

UFW refusera toutes les connexions entrantes une fois que tu l’auras activé. La première chose à faire est donc d’autoriser l’accès SSH au serveur si tu veux gérer le système à distance. La commande « ufw allow sshport » permet l’accès par SSH, remplace SSHPORT par le port du service SSH, le port SSH par défaut est 22.

ufw allow 22

Résultat :

Rules updated
Rules updated (v6) #For IPv6

Si tu veux autoriser les connexions entrantes sur le port 22 pour TCP uniquement, ajoute à la fin de la commande « /tcp » comme dans l’exemple suivant.

ufw allow 22/tcp

Lorsque le service auquel tu veux autoriser l’accès écoute sur son port par défaut, tu peux utiliser le nom du service au lieu du numéro de port. Cela facilite l’ouverture du port car il se peut que tu ne connaisses pas le port. UFW recherchera alors pour toi le numéro de port correct dans /etc/services.

Cette commande ouvrira le port SSH par défaut :

ufw allow ssh

Vérifie maintenant la règle avec :

ufw status

Autoriser SSH dans UFW

2. Commande UFW Deny

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

Refuser avec l’option Port :

ufw deny 80

Résultat :

Rule added
Rule added (v6)

L'UFW refuse la commande.

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

ufw deny http

L'UFW refuse le http.

Remarque :

Tu peux voir tous les ports et leurs noms de service dans le fichier « /etc/services ».

Commandes UFW avancées

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

1. Autoriser une plage de ports

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

Dans cet exemple, nous allons autoriser la plage de ports utilisée par ircd sur mon serveur. La plage de ports est de 6660 à 6670 :

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

La commande autorisera les connexions aux ports 6660-6670 via le protocole TCP et UDP.

2. Autoriser une adresse IP spécifique

Tu peux aussi ajouter une adresse IP spécifique pour autoriser l’accès à tous les services en ajoutant l’option« from« . C’est par exemple utile si tu as une IP statique à la maison ou au bureau et que tu veux autoriser l’accès à tous les services de ton serveur à partir de là. La commande ci-dessous autorisera l’IP 192.168.1.106 à accéder à tous les ports du serveur :

ufw allow from 192.168.1.106

Résultat :

Rule added

3. Autoriser le sous-réseau

Si tu veux autoriser toutes les adresses IP de ton sous-réseau, tu peux ajouter le sous-réseau IP (plage d’adresses IP) à la commande UFW comme ceci :

ufw allow from 192.168.1.1/24

Résultat :

WARN: Rule changed after normalization
Rule added

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

Si tu souhaites autoriser l’accès à un port à partir d’une IP spécifique uniquement, tu peux combiner les commandes UFW que nous avons apprises ci-dessus.

Par exemple, seule l’IP 192.168.1.106 peut accéder au port 22 tcp de ssh et les autres IP seront rejetées de ce port, tu peux utiliser la commande suivante :

ufw allow from 192.168.1.106 proto tcp to any port 22

Résultat :

Rule added

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

Si tu veux autoriser tout le trafic sur le port 80, tu peux utiliser cette commande :

ufw allow to any port 80

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

Dans cette section, tu apprendras comment supprimer une règle qui est enregistrée dans UFW. Tu peux utiliser la commande« delete » pour supprimer la règle ufw. Tape la commande« ufw delete » suivie de l’option que tu veux supprimer, autoriser ou refuser.

Voici quelques exemples :

Suppression de la règle SSH autorisée avec le nom du service :

ufw delete allow ssh

Résultat :

Rule deleted
Rule deleted (v6)

Cette commande supprimera la règle« allow ssh« . Attention, ne t’enferme pas à l’extérieur du serveur.

Supprime la règle « deny » sur le port 80 :

ufw delete deny 80

Résultat :

Rule deleted
Rule deleted (v6)

Si tu as une règle complexe, il existe un moyen simple d’identifier et de supprimer la règle par son ID de règle. Exécute la commande suivante pour obtenir une liste de toutes les règles avec leur ID :

ufw status numbered

Résultat :

Status: active

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

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

ufw delete 2

Désactiver et réinitialiser l’UFW

Si tu veux désactiver l’UFW sans supprimer tes règles, tu peux utiliser la commande« disable » :

ufw disable

Résultat :

Firewall stopped and disabled on system startup

La commande d'état UFW.

Si tu veux désactiver complètement UFW et supprimer toutes les règles, tu peux utiliser la commande« reset » :

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 du pare-feu par défaut dans Ubuntu. Les commandes UFW sont similaires à la langue anglaise, ce qui les rend faciles à utiliser et à retenir. Ce tutoriel UFW est un guide pour commencer à utiliser ce bel outil de pare-feu ; si tu veux en savoir plus sur UFW, tu peux te rendre sur le wiki d’ Ubuntu ou sur la page ufw-man.

Vous aimerez aussi...