Tutoriels,  Informatique

Installation UFW sous Linux Ubuntu 20.04

Installation UFW sous Linux Ubuntu

Introduction

Ce tutoriel va vous montrer comment réaliser une l’installation et la configuration de UFW sous Linux Ubuntu ou tout autres distributions Linux basées sur Debian.

UFW pour Uncomplicated FireWall … cela se passe de traduction !

La gestion du pare-feu est absolument indispensable et une compétence de base que chaque administrateur système doit connaître.

UFW est un “front-end” pour iptables destiné à faciliter la gestion d’un pare-feu Netfilter, d’où le nom «Uncomplicated Firewall». Il fournit une interface de ligne de commande avec une syntaxe similaire à celle du filtre de paquets d’OpenBSD. UFW est l’interface iptables recommandée sur les distributions Linux basées sur Debian et est généralement préinstallée sur ces distributions.

Enfin, par défaut, UFW définit des règles de pare-feu pour les adresses IPv4 et IPv6.

 

Désactivation des autres services de restauration Iptables

Vous le savez peut-être, les règles de pare-feu iptables seront vidées lorsque le système d’exploitation s’arrêtera et le programme iptables lui-même ne restaure pas les règles de pare-feu. UFW quant à lui restaure par défaut les règles de pare-feu après le redémarrage du système.

Avant d’utiliser UFW, il est important que vous vérifiiez s’il existe un autre service de restauration iptables sur votre système. En effet, si il existe deux services de restauration, ils entreront en conflit l’un avec l’autre, ce qui entraîne souvent l’indisponibilité des applications Web après le redémarrage du système.

Si vous utilisiez directement le pare-feu iptables et que vous souhaitez maintenant passer à UFW, il vous suffit de désactiver votre service de restauration iptables.

Iptables-persistent est un service de restauration iptables bien connu sur Debian / Ubuntu. Vous pouvez vérifier s’il s’exécute avec la commande suivante:

systemctl status iptables-persistent

S’il est en cours d’exécution, vous pouvez l’arrêter et le désactiver.

sudo systemctl stop iptables-persistent
sudo systemctl disable iptables-persistent

Ou vous pouvez le supprimer de votre système.

sudo apt remove iptables-persistent

Installation UFW sous Linux Ubuntu

UFW est généralement pré-installé sur Ubuntu, dans le doute, exécutez la commande suivante pour l’installer:

sudo apt install ufw

Lors de l’installation, ufw est désactivé. Vous pouvez vérifier le statut de UFW avec:

sudo ufw status

sudo ufw status

UFW integre par défaut une politique d’autorisation (Allow) et de refus (Deny) pour les communications sortantes et entrantes. Avant d’activer UFW, vous devez savoir quels ports sont ouverts sur l’adresse IP publique de votre serveur, qui peut être obtenue à l’aide de nmap (Network Mapper).

Installez nmap sur votre serveur Ubuntu et scannez les ports ouverts sur l’adresse IP publique.

sudo apt install nmap
sudo nmap 192.168.1.184

Remplacez 192.168.1.184 par l’adresse IP publique réelle de votre serveur. Comme vous pouvez le voir sur la capture d’écran ci-dessous, il y a 3 ports ouverts sur mon serveur.

sudo nmap Linux Serveur Web ubuntu

Il existe également des ports ouverts qui écoutent uniquement sur localhost, cela peut être obtenu en exécutant “sudo nmap localhost”, mais nous n’avons pas besoin de nous en préoccuper.

Nmap par défaut analyse uniquement les ports TCP. Nous pouvons utiliser la commande suivante pour analyser les ports UDP.

sudo nmap -sU 12.34.56.78

Cependant, l’analyse UDP est terriblement lente. Si vous ne pouvez pas attendre aussi longtemps, vous pouvez utiliser netstat pour répertorier les ports UDP.

sudo netstat -lnpu

Après avoir obtenu les ports TCP et UDP ouverts sur votre serveur, vous devez décider quels ports doivent être autorisés à accepter les connexions entrantes. Si une session openSSH est en cours d’exécution, vous devez toujours autoriser le port TCP 22 avant d’activer UFW. Ceci est réalisé via la commande suivante.

sudo ufw allow 22/tcp

ou

sudo ufw allow ssh

Vous souhaitez probablement autoriser le trafic HTTP et HTTPS, alors exécutez la commande suivante pour autoriser la connexion entrante sur les ports TCP 80 et 443.

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Si vous exécutez un serveur de messagerie, vous devez également autoriser les ports TCP 25 (SMTP), 587 (Submission), 143 (IMAP) et 993 (IMAPS).

sudo ufw allow 25/tcp
sudo ufw allow 587/tcp
sudo ufw allow 143/tcp
sudo ufw allow 993/tcp

Si vous souhaitez utiliser le protocole POP3, vous devez autoriser les ports TCP 110 (POP3) et 995 (POP3S).

sudo ufw allow 110/tcp
sudo ufw allow 995/tcp

Enfin, si vous exécutez un serveur DNS BIND, vous devez ouvrir le port TCP et UDP 53.

sudo ufw allow 53

La commande ci-dessus autorisera les ports TCP et UDP. Si vous souhaitez autoriser uniquement le port UDP, alors

sudo ufw allow 53/udp

 

Ouverture de plusieurs ports à la fois

Vous pouvez autoriser plusieurs ports comme la syntaxe ci-dessous.

sudo ufw allow 80,443,25,587,465,143,993/tcp

 

Activer UFW

Une fois que vous avez défini les ports autorisés dans UFW, vous devez activer UFW. CQFD !
Mais avant cela, il est recommandé d’activer la journalisation avec la commande suivante afin de mieux comprendre si votre pare-feu fonctionne correctement.

sudo ufw logging on

Le niveau de journalisation par défaut est «faible». Le fichier journal est /var/log/ufw.log. J’utilise généralement le niveau de journalisation «moyen».

sudo ufw logging medium

Activons maintenant UFW.

sudo ufw enable

Remarque: Si vous avez précédemment utilisé directement le pare-feu iptables, ces règles de pare-feu seront annulées une fois UFW activé.

Vérifier le status

sudo ufw status

Pour afficher plus d’informations, exécutez

sudo ufw status verbose

sudo ufw status verbose

Vous pouvez maintenant analyser à nouveau votre serveur pour savoir quels ports sont encore ouverts.

sudo nmap 192.168.1.184

 

Comment supprimer une règle de pare-feu

Tout d’abord, vous devez obtenir le numéro de référence de la règle de pare-feu que vous souhaitez supprimer avec la commande suivante.

sudo ufw status numbered

sudo ufw status numbered

Ensuite, vous pouvez supprimer une règle, par exemple la 8ème règle.

sudo ufw delete 8

 

Réinitialiser UFW

Si vous avez fait une erreur, vous pouvez désactiver et réinitialiser le pare-feu aux paramètres d’installation par défaut.

sudo ufw reset

C’est particulièrement utile pour les débutants.

 

Profils UFW

UFW offre de nombreux profils liés aux différents services (Apache, Bind, etc…). Vous pouvez lister tous les profils d’UFW avec la commande suivante. Cela dépend naturellement des services qui sont montés sur votre serveur

sudo ufw app list

sudo ufw app list

On peut afficher des informations sur un profil d’spécifique, par exemple le profil «Apache Full».

sudo ufw app info "Apache Full"

sudo ufw app info "Apache Full"

On voit que les ports utilisés par ce profil sont les ports TCP 80 et 443. Si nous activons ce profil d’application avec la commande ci-dessous, les ports TCP 80 et 443 seront autorisés.

sudo ufw allow "Apache Full"

 

Création d’une liste noire d’adresses IP avec UFW

Supposons qu’un spammeur tente constamment d’envoyer du spam vers votre serveur de messagerie. Vous pouvez utiliser UFW pour empêcher l’adresse IP du spammeur d’accéder au port TCP 25 de votre serveur de messagerie à l’aide de la commande suivante.

Evidemment, n’oubliez pas de remplacer 12.34.56.78 par l’adresse IP du spammeur.

sudo ufw insert 1 deny in from 12.34.56.78 to any port 25 proto tcp

Notez que les règles de pare-feu nouvellement ajoutées sont placées en bas par défaut. Si vous avez précédemment autorisé l’accès au port 25 de n’importe où, vous devez insérer la règle de refus comme première règle, tout comme ci-dessus, de sorte que la règle de refus sera appliquée en premier. Vous pouvez toujours insérer une nouvelle règle de refus comme première règle.

sudo ufw insert 1 deny in from 78.56.34.12 to any port 25 proto tcp

Vous pouvez également bloquer une plage d’adresses IP comme ci-dessous.

sudo ufw insert 1 deny in from 192.168.0.0/24 to any port 25 proto tcp

Pour empêcher une adresse IP d’accéder à tous les ports de votre serveur, exécutez

sudo ufw insert 1 deny in from 12.34.56.78

 

Création d’une liste blanche d’adresses IP avec UFW

Supposons maintenant que vous exécutiez un serveur OpenSSH et que vous souhaitiez uniquement autoriser certaines adresses IP à se connecter à votre serveur via SSH.
Vous pouvez utiliser UFW pour créer une liste blanche d’adresses IP. Par exemple, configurer UFW pour autoriser la connexion entrante au port 22 à partir de l’adresse IP délivrée par mon FAI.

Tout d’abord, ajoutez l’adresse IP à la liste d’autorisation.

sudo ufw insert 1 allow in from 12.34.56.78 to any port 22 proto tcp

Ensuite, vous devez obtenir le numéro de référence de la règle autorisant SSH à partir de n’importe où et supprimer cette règle.

sudo ufw status numbered
sudo ufw delete 12
sudo ufw delete 4

sudo ufw status numbered

Notez que vous devez supprimer à la fois la règle IPv4 et IPv6.
Attention, notez également que si vous supprimez d’abord la règle supérieure, le numéro de référence de la règle inférieure changera.

À partir de maintenant, seule votre adresse IP peut accéder au port TCP 22.

Voilà, c’est terminé, j’espère que cet article vous a plu, et surtout qu’il vous aura été utile ! 🙂

Article précédent: Installation de Webmin sous Linux Ubuntu 20.04 LTS

4.7 3 votes
Notez l'article
S’abonner
Notification pour