Recherche de site Web

Comment configurer le pare-feu UFW sur Ubuntu et Debian


Un pare-feu qui fonctionne correctement est la partie la plus cruciale de la sécurité complète du système Linux. Par défaut, les distributions Debian et Ubuntu sont livrées avec un outil de configuration de pare-feu appelé UFW (Uncomplicated Firewall), est un outil de ligne de commande le plus populaire et le plus facile à utiliser pour configurer et gérer un pare-feu sur les distributions Ubuntu et Debian.

Dans cet article, nous allons vous expliquer comment installer et configurer un pare-feu UFW sur les distributions Ubuntu et Debian.

Conditions préalables

Avant de commencer avec cet article, assurez-vous d’être connecté à votre serveur Ubuntu ou Debian avec l’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 en tant qu’utilisateur root.

# adduser username
usermod -aG sudo username 
su - username
sudo whoami

Installer UFW Firewall sur Ubuntu et Debian

L’UFW (Uncomplicated Firewall) doit être installé par défaut dans Ubuntu et Debian, si ce n’est pas le cas, installez-le à l’aide du gestionnaire de paquets APT en utilisant 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.

$ sudo ufw status verbose

Lors de la première installation, le pare-feu UFW est désactivé par défaut, la sortie sera similaire à ci-dessous.

Status: inactive

Activer le pare-feu UFW

Vous pouvez activer ou activer le pare-feu UFW à l’aide de la commande suivante, qui doit charger le pare-feu et lui permettre de démarrer 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, à moins que vous n’ouvriez 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 extérieur.

Les stratégies de pare-feu UFW par défaut 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 progiciel à l’aide du gestionnaire de paquets APT, il inclura un profil d’application dans le répertoire /etc/ufw/applications.d qui définit le service et contient les paramètres UFW.

Vous pouvez répertorier tous les profils d’application disponibles sur votre serveur à l’aide de la commande suivante.

$ sudo ufw app list

Selon l’installation d’un progiciel sur votre système, le résultat se présente comme 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 IPv6, assurez-vous que votre UFW est configuré avec la prise en charge IPv6 et IPv4. Pour le vérifier, ouvrez le fichier de configuration UFW à l’aide de votre éditeur préféré.

$ sudo vi /etc/default/ufw

Assurez-vous ensuite que « IPV6 » est défini sur « yes » dans le fichier de configuration, comme indiqué.

IPV6=yes

Enregistrez et quittez. Redémarrez ensuite votre firewall à l’aide des commandes suivantes :

$ sudo ufw disable
sudo ufw enable

Autoriser les connexions SSH sur UFW

Si vous avez déjà activé le pare-feu UFW, il bloquera toutes les connexions entrantes et si vous êtes connecté à votre serveur via SSH à partir d’un emplacement distant, vous ne pourrez plus le connecter à nouveau.

Activons les connexions SSH à notre serveur pour éviter que cela ne se produise à l’aide de 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 permettre les connexions via celui-ci à un certain service. Par exemple, si vous souhaitez configurer un serveur Web qui écoute sur les ports 80 (HTTP) et 443 (HTTPS) par défaut.

Vous trouverez ci-dessous 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]
Ouvrez 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

En supposant 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 de l’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) à partir de votre ordinateur personnel avec l’adresse IP 192.168.56.1, vous devez ajouter n’importe quel 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 au 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 eth2 spécifique pour un port 22 particulier (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, vous avez ouvert les ports 80 et 443 et votre serveur web est attaqué par le réseau inconnu 11.12.13.0/24.

Pour bloquer toutes les connexions de cette plage réseau 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 existe 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 à l’aide d’un numéro de règle, vous devez d’abord répertorier les règles par numéros à l’aide de la commande suivante.

$ sudo ufw status numbered
Exemple de sortie
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 réelle, par exemple pour supprimer une règle, spécifiez le numéro de port avec le protocole comme indiqué.

$ sudo ufw delete allow 22/tcp

Règles UFW pour les essais

Vous pouvez exécuter n’importe quelle commande ufw sans apporter de modifications dans le pare-feu du système en utilisant l’indicateur --dry-run, cela montre simplement les modifications qui sont censées se produire.

$ sudo ufw --dry-run enable

Réinitialiser le pare-feu UFW

Pour une raison ou une autre, si vous souhaitez supprimer/réinitialiser toutes les règles de pare-feu, tapez les commandes suivantes, il annulera toutes vos modifications et recommencera à zéro.

$ sudo ufw reset
sudo ufw status

Fonctionnalité avancée UFW

Le pare-feu UFW peut réussir à faire 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.

Le réglage du pare-feu UFW ou l’ajout de commandes iptables supplémentaires ne sont pas autorisés 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 l’ajout 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 le ufw au démarrage.

UFW est une excellente interface pour iptables avec une interface conviviale pour 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 joindre.

Articles connexes: