Interrogez-nous, nous vous répondrons !

Comment utiliser le pare-feu Ubuntu

Illustration principale de comment utiliser le pare-feu Ubuntu

Qu'est-ce que UFW

La plupart des administrateurs système n'aiment pas configurer à distance des applications de sécurité réseau, comme les pare-feu. Par défaut, ces applications bloquent l'accès depuis l'extérieur pour toutes les applications, sauf celles qui sont clairement indiquées comme autorisées.

Si une erreur se produit, vous pouvez perdre le contrôle à distance du réseau. Nous avons créé ce guide spécifiquement pour que vous puissiez à nouveau voir la procédure correcte pour configurer un pare-feu UFW standard sur le système d'exploitation Linux Ubuntu.

Si vous creusez plus profondément, UFW n'est pas vraiment un pare-feu. C'est juste un utilitaire pratique avec lequel vous pouvez configurer le netfilter intégré dans le noyau Linux depuis la version 2.4. Il n'est pas possible de configurer directement netfilter, c'est pourquoi l'utilitaire iptables a été écrit à cet effet.

Eh bien, UFW a permis de simplifier encore plus ce processus, en permettant de gérer rapidement les règles sans avoir besoin d'écrire des fichiers de configuration ou de lire attentivement le manuel iptables. C'est ce qui est réellement codé dans l'acronyme UFW : Uncomplicated Firewall.

Pourquoi UFW est désactivé par défaut

Une fois que le système d'exploitation Ubuntu est installé sur un serveur, par défaut, il n'a pas un seul port ouvert qui devrait être protégé par un pare-feu. Par conséquent, même si UFW est installé, il reste dans un état inactif jusqu'à ce que l'utilisateur ait besoin de configurer la protection. La chose à retenir est qu'avant d'activer le pare-feu, vous devez vous assurer qu'en le faisant, vous ne vous priveriez pas du moyen de configurer le serveur.

Par exemple, si vous gérez le serveur à l'aide d'une connexion SSH, alors avant d'activer le pare-feu, vous devez indiquer explicitement que le démon OpenSSH est autorisé à utiliser le port 22 (ou un autre, s'il est configuré) et qu'il doit accepter les connexions depuis l'extérieur, et ne pas les rejeter, comme cela est implémenté pour toutes les connexions externes par défaut. Pour ce faire, vous devez utiliser soit un profil d'application OpenSSH prêt à l'emploi, soit créer votre propre règle.

Statut de UFW

Tout d'abord, assurons-nous que UFW est dans le système d'exploitation. Pour ce faire, exécutez la commande :

sudo ufw status verbose

Si vous recevez la réponse suivante, cela signifie que UFW est installé sur le système d'exploitation, mais comme mentionné ci-dessus, il est dans un état inactif :

Statut : inactif

Sinon, mettez à jour le cache des packages et installez UFW en utilisant le gestionnaire de packages standard :

sudo apt update && sudo apt -y install ufw

Activer le pare-feu

Attention ! Avant d'exécuter la commande suivante, assurez-vous que vous avez la possibilité de contrôler le serveur en activant un profil d'application (OpenSSH par exemple) ou en activant une règle personnalisée.

sudo ufw enable

Vérifions l'état de UFW en appelant à nouveau la commande suivante :

sudo ufw status verbose

Désactiver le pare-feu

Le pare-feu peut être désactivé avec la commande « disable ». Notez que cette action n'affecte en aucune manière les règles précédemment créées. Elles continueront toutes à fonctionner dès que le pare-feu sera à nouveau activé :

sudo ufw disable

Activer la journalisation

La deuxième fonction la plus importante du pare-feu est la journalisation. Avec son aide, vous pouvez à la fois vérifier que le UFW fonctionne correctement et identifier les signes de cyberattaques. Pour activer la fonction de journalisation, exécutez la commande suivante :

sudo ufw logging on
Journalisation activée
tail -f /var/log/ufw.log
…
10 juillet 05:54:24 ubuntu22044 kernel: [56235.006445] [UFW BLOCK] IN=enp134s0f1 OUT= M
AC=ac:1f:6b:f5:60:43:02:01:01:01:01:02:08:00 SRC=152.32.129.154 DST=37.230.134.118
LEN=60 TOS=0x00 PREC=0x00 TTL=41 ID=5377 DF PROTO=TCP
SPT=47633 DPT=6606 WINDOW=29200 RES=0x00 SYN URGP=0
…

Vous pouvez également vérifier syslog et kern.log :

grep -i ufw /var/log/syslog
grep -i ufw /var/log/kern.log

Dans les deux cas, le résultat sera le même. Pour augmenter la quantité d'informations enregistrées dans le journal, changez son niveau. Niveaux disponibles : faible (par défaut) / moyen / élevé / complet :

sudo ufw logging full

Désactiver la journalisation

Pour désactiver la journalisation, le niveau off est prévu :

sudo ufw logging off

Gestion des règles

Accès à partir d'adresses IP spécifiques

Lors de la création de règles, deux scénarios sont les plus courants. Dans le premier, l'administrateur système exige que seuls les utilisateurs qui ont une adresse IP spécifique ou une adresse IP d'une certaine plage puissent se connecter au serveur. Les tentatives de connexion à partir de toutes les autres adresses doivent être bloquées. Cela est le plus applicable pour les services non publics ou d'entreprise :

sudo ufw allow from [adresse_ip]
sudo ufw allow from [adresse_ip/masque_sous-réseau]

Refuser à partir d'adresses IP spécifiques

Le deuxième scénario sera pertinent pour les services publics dont les serveurs sont forcés d'accepter et de traiter toutes les connexions entrantes. Cela les rend vulnérables aux attaques par force brute et aux attaques par déni de service (DoS). Dans ce cas, des règles interdisant la connexion à partir d'une adresse IP spécifique ou d'une adresse IP provenant d'une certaine plage aideront :

sudo ufw deny from [adresse_ip]
sudo ufw deny from [adresse_ip/masque_sous-réseau]

Si votre serveur n'est pas utilisé pour envoyer des emails, alors il serait logique de bloquer tout trafic SMTP sortant pour éviter le spam potentiel. Vous pouvez le faire avec la commande suivante :

sudo ufw deny out 25

Supprimer les règles existantes

La façon la plus pratique de supprimer les règles est par leur numéro de série. Pour savoir quel numéro correspond à quelle règle de pare-feu, exécutez cette commande :

sudo ufw status numbered
Statut : actif                                                                                                                                                                                                                            
  À                          Action      De                                                                                                                                                                                          
  --                         ------      ----                                                                                                                                                                                          
[ 1] OpenSSH                    AUTORISER IN    Partout                                                                                                                                                                                      
[ 2] OpenSSH (v6)               AUTORISER IN    Partout (v6)

Maintenant, vous pouvez supprimer une règle en substituant son numéro dans la commande:

sudo ufw delete [numero_de_règle]

Profils d'application

Les profils d'application sont des ensembles de règles prêts à l'emploi qui simplifient la vie d'un administrateur système. Ils prennent immédiatement en compte les ports de connexion standard et permettent d'appliquer plusieurs règles avec une seule commande.

Lister les profils disponibles

Pour vérifier quels profils sont disponibles pour activation, exécutez la commande :

sudo ufw app list
Applications disponibles:                                                                                                                                                                                                                   
  OpenSSH

Activer le profil d'application

Par défaut, Ubuntu aura toujours un profil OpenSSH disponible, permettant au trafic SSH de passer par le port standard 22. Pour vous assurer qu'après avoir activé UFW, vous ne perdez pas le contrôle via SSH, exécutez la commande suivante :

sudo ufw allow OpenSSH

Maintenant, vous pouvez activer UFW et vérifier que la règle activée pour OpenSSH fonctionne :

sudo ufw status verbose
Statut : actif                                                                                                                                                                                                                            
Journalisation : activée (faible)                                                                                                                                                                                                                         
Défaut : refuser (entrant), autoriser (sortant), désactivé (routé)                                                                                                                                                                             
Nouveaux profils : ignorer                                                                                                                                                                                                                        
À                          Action      De                                                                                                                                                                                               
--                         ------      ----                                                                                                                                                                                               
22/tcp (OpenSSH)           AUTORISER IN    Partout                                                                                                                                                                                           
22/tcp (OpenSSH (v6))      AUTORISER IN    Partout (v6)

Désactiver le profil d'application

Vous pouvez supprimer une règle activée en utilisant la commande « delete ». Soyez extrêmement prudent avec cette commande et ne désactivez pas le profil OpenSSH, car si le pare-feu est activé et qu'il n'y a pas de règle autorisant OpenSSH, vous perdrez l'accès à distance au serveur :

sudo ufw delete allow [nom_du_profil_d_application]

Blocage d'IP

Ce n'est un secret pour personne que l'internet est rempli d'appareils programmés pour scanner automatiquement et tenter de gagner un accès non autorisé. Il serait judicieux de bloquer toutes les adresses vues en train de se livrer à une telle activité. Le projet IPsum maintient un registre des adresses IP malveillantes basé sur les données de 30 services publics disponibles qui publient régulièrement des listes de ces adresses. Ce registre sera une excellente source de données pour UFW.

Commencez par installer le package ipset :

sudo apt -y install ipset

Maintenant, vous devez faire une copie de sauvegarde du fichier de configuration after.init existant :

sudo cp /etc/ufw/after.init /etc/ufw/after.init.orig

Clonez le dépôt avec les fichiers de configuration préparés à l'avance :

git clone https://github.com/poddmo/ufw-blocklist.git

Changez de répertoire de travail :

cd ufw-blocklist

Copiez et remplacez le fichier de configuration :

sudo cp after.init /etc/ufw/after.init

Copiez le fichier de travail cron :

sudo cp ufw-blocklist-ipsum /etc/cron.daily/ufw-blocklist-ipsum

Changez le propriétaire de ces deux fichiers à l'utilisateur root :

sudo chown root:root /etc/ufw/after.init /etc/cron.daily/ufw-blocklist-ipsum

Définissez également les permissions à 750 (rwxr-x—) pour les deux fichiers :

sudo chmod 750 /etc/ufw/after.init /etc/cron.daily/ufw-blocklist-ipsum

Téléchargez une blocklist de base :

curl -sS -f --compressed -o ipsum.4.txt 'https://raw.githubusercontent.com/stamparm/ipsum/master/levels/4.txt'

Définissez les permissions à 640 (rw-r-----) pour la blocklist de base. Elle sera stockée directement dans le répertoire /etc, donc changer les permissions est une précaution raisonnable contre la falsification de cette liste :

sudo chmod 640 ipsum.4.txt

Il est temps de placer la liste dans le répertoire /etc :

sudo cp ipsum.4.txt /etc/ipsum.4.txt

Lançons le script initial :

sudo /etc/ufw/after.init start

La commande suivante aidera à afficher le nombre actuel d'entrées dans la liste de blocage :

sudo ipset list ufw-blocklist-ipsum -terse | grep 'Number of entries'

Enfin, assurez-vous que la liste est acceptée et que le UFW fonctionne correctement :

sudo /etc/ufw/after.init status
Nom : ufw-blocklist-ipsum                                                                                       
Type : hash:net                                                                                                  
Revision : 7                                                                                                     
Header: family inet hashsize 2048 maxelem 65536 bucketsize 12 initval 0x5822a4bb                                
Taille en mémoire: 186912                                                                                          
Références: 3                                                                                                   
Nombre d'entrées: 6744                                                                                         
      0        0 ufw-blocklist-input  all  --  *      *       0.0.0.0/0            0.0.0.0/0            match-
set ufw-blocklist-ipsum src                                                                                       
      0        0 ufw-blocklist-forward  all  --  *      *       0.0.0.0/0            0.0.0.0/0            match-
set ufw-blocklist-ipsum dst                                                                                     
      0        0 ufw-blocklist-output  all  --  *      *       0.0.0.0/0            0.0.0.0/0            match-
set ufw-blocklist-ipsum dst

Voir aussi :



Mis à jour: 28.03.2025

Publié: 12.07.2024


Des questions ? Écrivez-nous!

By clicking «I Accept» you confirm that you have read and accepted the website Terms and Conditions, Privacy Policy, and Moneyback Policy.