A correctly functioning firewall is the most crucial part of the complete Linux system security. By default, Debian and Ubuntu distribution comes with a firewall configuration tool called UFW (Uncomplicated Firewall), is a most popular and easy-to-use command line tool for configuring and managing a firewall on Ubuntu and Debian distributions.
Dans cet article, nous expliquerons comment installer et configurer un pare-feu UFW sur les distributions Ubuntu et Debian.
Prérequis
Avant de commencer cet article, assurez-vous d’être connecté à votre serveur Ubuntu ou Debian avec un utilisateur sudo ou avec le compte root. Si vous n’avez pas d’utilisateur sudo, vous pouvez en créer un en suivant les instructions suivantes en tant qu’utilisateur root.
# adduser username # usermod -aG sudo username # su - username $ sudo whoami
Installer le pare-feu UFW sur Ubuntu et Debian
Le UFW (Uncomplicated Firewall) devrait être installé par défaut dans Ubuntu et Debian. Sinon, installez-le en utilisant le gestionnaire de paquets APT avec la commande suivante.
$ sudo apt install ufw
Vérifier le pare-feu UFW
Une fois l’installation terminée, vous pouvez vérifier l’état de UFW en tapant la commande suivante.
$ sudo ufw status verbose
Lors de la première installation, le pare-feu UFW est désactivé par défaut. La sortie sera similaire à ce qui suit.
Status: inactive
Activer le pare-feu UFW
Vous pouvez activer ou activer le pare-feu UFW en utilisant la commande suivante, qui chargera le pare-feu et le rendra démarrable au démarrage.
$ sudo ufw enable
Pour désactiver le pare-feu UFW, utilisez la commande suivante, qui décharge le pare-feu et le désactive au démarrage.
$ sudo ufw disable
Politiques par défaut de UFW
Par défaut, le pare-feu UFW refuse toutes les connexions entrantes et n’autorise que toutes les connexions sortantes vers le serveur. Cela signifie que personne ne peut accéder à votre serveur, sauf si vous ouvrez spécifiquement le port, tandis que tous les services ou applications en cours d’exécution sur votre serveur peuvent accéder au réseau externe.
Les règles par défaut du pare-feu UFW sont placées dans le fichier /etc/default/ufw
et peuvent être modifiées à l’aide de la commande suivante.
$ sudo ufw default deny incoming $ sudo ufw default allow outgoing
Profils d’application UFW
Lors de l’installation d’un package logiciel à l’aide du gestionnaire de packages APT, celui-ci inclura un profil d’application dans le répertoire /etc/ufw/applications.d
qui définit le service et conserve les paramètres UFW.
Vous pouvez lister tous les profils d’application disponibles sur votre serveur à l’aide de la commande suivante.
$ sudo ufw app list
En fonction des installations de packages logiciels sur votre système, la sortie ressemblera à ce qui suit :
Available applications: APACHE APACHE Full APACHE SECURE CUPS OpenSSH Postfix Postfix SMTPS Postfix Submission
Si vous souhaitez obtenir plus d’informations sur un profil particulier et les règles définies, vous pouvez utiliser la commande suivante.
$ sudo ufw app info 'Apache'
Profile: Apache Title: Web Server Description: Apache V2 is the next generation f the omnipresent Apache web server. Ports: 80/tcp
Activer IPv6 avec UFW
Si votre serveur est configuré avec l’IPv6, assurez-vous que votre UFW est configuré avec le support de l’IPv6 et de l’IPv4. Pour le vérifier, ouvrez le fichier de configuration UFW avec votre éditeur préféré.
$ sudo vi /etc/default/ufw
Ensuite, assurez-vous que “IPV6” est défini sur "yes"
dans le fichier de configuration comme indiqué.
IPV6=yes
Enregistrez et quittez. Ensuite, redémarrez votre pare-feu avec les commandes suivantes :
$ sudo ufw disable $ sudo ufw enable
Autoriser les connexions SSH sur UFW
Si vous avez activé le pare-feu UFW maintenant, il bloquera toutes les connexions entrantes et si vous êtes connecté à votre serveur via SSH à partir d’un emplacement distant, vous ne pourrez plus vous y connecter.
Activez les connexions SSH vers notre serveur pour empêcher cela de se produire en utilisant la commande suivante:
$ sudo ufw allow ssh
Si vous utilisez un port SSH personnalisé (par exemple, le port 2222), vous devez ouvrir ce port sur le pare-feu UFW à l’aide de la commande suivante.
$ sudo ufw allow 2222/tcp
Pour bloquer toutes les connexions SSH, tapez la commande suivante.
$ sudo ufw deny ssh/tcp $ sudo ufw deny 2222/tcp [If using custom SSH port]
Activer des ports spécifiques sur UFW
Vous pouvez également ouvrir un port spécifique dans le pare-feu pour autoriser les connexions via celui-ci à un certain service. Par exemple, si vous souhaitez configurer un serveur Web qui écoute sur le port 80 (HTTP) et 443 (HTTPS) par défaut.
Voici quelques exemples de la façon d’autoriser les connexions entrantes aux services Apache.
Ouvrir le port 80 HTTP sur UFW
$ sudo ufw allow http [By service name] $ sudo ufw allow 80/tcp [By port number] $ sudo ufw allow 'Apache' [By application profile]
Ouvrir le port 443 HTTPS sur UFW
$ sudo ufw allow https $ sudo ufw allow 443/tcp $ sudo ufw allow 'Apache Secure'
Autoriser les plages de ports sur UFW
Supposons que vous ayez des applications que vous souhaitez exécuter sur une plage de ports (5000-5003), vous pouvez ajouter tous ces ports à l’aide des commandes suivantes.
sudo ufw allow 5000:5003/tcp sudo ufw allow 5000:5003/udp
Autoriser des adresses IP spécifiques
Si vous souhaitez autoriser les connexions sur tous les ports à partir d’une adresse IP spécifique 192.168.56.1, vous devez spécifier avant l’adresse IP.
$ sudo ufw allow from 192.168.56.1
Autoriser des adresses IP spécifiques sur un port spécifique
Pour autoriser la connexion sur un port spécifique (par exemple le port 22) depuis votre machine domestique avec l’adresse IP de 192.168.56.1, vous devez ajouter tout port et le numéro de port après l’adresse IP comme indiqué.
$ sudo ufw allow from 192.168.56.1 to any port 22
Autoriser les sous-réseaux réseau à un port spécifique
Pour autoriser les connexions pour des adresses IP particulières allant de 192.168.1.1 à 192.168.1.254 sur le port 22 (SSH), exécutez la commande suivante.
$ sudo ufw allow from 192.168.1.0/24 to any port 22
Autoriser une interface réseau spécifique
Pour autoriser les connexions à une interface réseau spécifique eth2 pour un port particulier 22 (SSH), exécutez la commande suivante.
$ sudo ufw allow in on eth2 to any port 22
Refuser les connexions sur UFW
Par défaut, toutes les connexions entrantes sont bloquées, sauf si vous avez spécifiquement ouvert la connexion sur UFW. Par exemple, si vous avez ouvert les ports 80 et 443 et que votre serveur web est attaqué par le réseau inconnu 11.12.13.0/24.
Pour bloquer toutes les connexions de cette plage de réseau particulière 11.12.13.0/24, vous pouvez utiliser la commande suivante.
$ sudo ufw deny from 11.12.13.0/24
Si vous souhaitez uniquement bloquer les connexions sur les ports 80 et 443, vous pouvez utiliser les commandes suivantes.
$ sudo ufw deny from 11.12.13.0/24 to any port 80 $ sudo ufw deny from 11.12.13.0/24 to any port 443
Supprimer les règles UFW
Il y a 2 façons de supprimer les règles UFW, par numéro de règle et par règle réelle.
Pour supprimer des règles UFW en utilisant le numéro de règle, vous devez d’abord lister les règles par numéros en utilisant la commande suivante.
$ sudo ufw status numbered
Status: active To Action From -- ------ ---- [ 1] 22/tcp ALLOW IN Anywhere [ 2] 80/tcp ALLOW IN Anywhere
Pour supprimer la règle numéro 1, utilisez la commande suivante.
$ sudo ufw delete 1
La deuxième méthode consiste à supprimer une règle en utilisant la règle actuelle, par exemple pour supprimer une règle, spécifiez le numéro de port avec le protocole indiqué.
$ sudo ufw delete allow 22/tcp
Exécution à sec des règles UFW
Vous pouvez exécuter n’importe quelle commande ufw sans apporter de modifications réelles au pare-feu du système en utilisant l’option --dry-run
, cela montre simplement les modifications qui auraient dû se produire.
$ sudo ufw --dry-run enable
Réinitialisation du pare-feu UFW
Pour une raison ou une autre, si vous souhaitez supprimer / réinitialiser toutes les règles du pare-feu, saisissez les commandes suivantes, cela annulera toutes vos modifications et recommencera à zéro.
$ sudo ufw reset $ sudo ufw status
Fonctionnalités avancées de UFW
Le pare-feu UFW peut gérer tout ce que fait iptables. Cela peut être fait avec différents ensembles de fichiers de règles, qui ne sont rien d’autre que de simples fichiers texte iptables-restore.
Il n’est pas permis de modifier le pare-feu UFW ou d’ajouter des commandes iptables supplémentaires via la commande ufw, il suffit de modifier les fichiers texte suivants
- /etc/default/ufw : Le fichier de configuration principal avec des règles prédéfinies.
- /etc/ufw/before[6].rules : Dans ce fichier, les règles sont calculées avant d’être ajoutées via la commande ufw.
- /etc/ufw/after[6].rules : Dans ce fichier, les règles sont calculées après avoir été ajoutées via la commande ufw.
- /etc/ufw/sysctl.conf : Ce fichier est utilisé pour régler le réseau du noyau.
- /etc/ufw/ufw.conf : Ce fichier active ufw au démarrage.
C’est ça! UFW est un excellent front-end pour iptables avec une interface conviviale permettant de définir des règles complexes avec une seule commande ufw.
Si vous avez des questions ou des réflexions à partager sur cet article ufw, utilisez le formulaire de commentaire ci-dessous pour nous contacter.
Source:
https://www.tecmint.com/setup-ufw-firewall-on-ubuntu-and-debian/