Installer UFW : Comment configurer un pare-feu de base sur Linux
UFW (Uncomplicated Firewall) simplifie la gestion du pare-feu sur Linux en offrant une interface facile à utiliser pour iptables. Ce guide couvre l'installation et la configuration de UFW sur les distributions basées sur Debian, de la configuration de base aux configurations pratiques du pare-feu pour les ordinateurs de bureau et les serveurs web.
Dans ce tutoriel, vous apprendrez :
- Comment installer UFW sur les distributions basées sur Debian
- Comment configurer les politiques par défaut du pare-feu
- Comment autoriser et bloquer le trafic par service, port et IP
- Comment utiliser les profils d'application UFW
- Comment configurer des règles de pare-feu pour les ordinateurs de bureau et les serveurs
Résumé de l'article : Installez UFW avec sudo apt install ufw, puis configurez les politiques par défaut et activez le pare-feu.
| Étape | Commande/Action |
|---|---|
| 1. Installer UFW | |
| 2. Définir les politiques par défaut | sudo ufw default deny incomingsudo ufw default allow outgoing |
| 3. Autoriser l'accès SSH | |
| 4. Activer le pare-feu | |
Installer UFW
UFW est disponible dans les dépôts par défaut des distributions basées sur Debian. Installez-le en utilisant le gestionnaire de paquets apt :
$ sudo apt install ufw
Après l'installation, UFW est inactif par défaut. Cela vous permet de configurer vos règles avant d'activer le pare-feu, évitant ainsi de vous verrouiller accidentellement hors des systèmes distants.
Définir vos paramètres par défaut
Comme avec iptables, il est préférable de commencer par définir votre comportement par défaut. Sur les ordinateurs de bureau, vous voulez généralement refuser le trafic entrant tout en autorisant les connexions sortantes.
$ sudo ufw default deny incomingLa syntaxe pour autoriser le trafic est similaire :
$ sudo ufw default allow outgoingCes paramètres par défaut garantissent que les connexions entrantes non sollicitées sont bloquées tout en permettant à votre système d’accéder à Internet et aux services externes.
Utilisation de base
Vous êtes maintenant prêt à commencer à configurer des règles et à gérer votre pare-feu. Les commandes UFW sont conçues pour être lisibles et intuitives.
Démarrage et arrêt
Bien que vous puissiez utiliser systemd pour contrôler UFW, celui-ci dispose de ses propres commandes qui sont plus simples. Commencez par activer UFW :
$ sudo ufw enableATTENTION
Si vous êtes connecté via SSH, assurez-vous d'autoriser le trafic SSH avant d'activer UFW, sinon vous pourriez perdre l'accès à votre système.
Pour arrêter et désactiver UFW au démarrage :
$ sudo ufw disableVérifiez si UFW est en cours d’exécution et consultez les règles actives :
$ sudo ufw statusPour une sortie plus détaillée incluant les numéros de règles :
$ sudo ufw status numberedCommandes
Autoriser le trafic HTTP entrant en utilisant le nom du service :
$ sudo ufw allow http
Autoriser les connexions SSH :
$ sudo ufw allow sshVous pouvez obtenir le même résultat en utilisant des numéros de port. Cette commande permet le trafic HTTPS entrant sur le port 443 :
$ sudo ufw allow 443Autoriser le trafic provenant d'une adresse IP spécifique ou d'une plage de réseau. Cet exemple permet tout le trafic provenant du réseau local :
$ sudo ufw allow from 192.168.1.0/24Pour une gamme de ports, spécifiez le protocole (TCP ou UDP) :
$ sudo ufw allow 56881:56889/tcpUtilisez deny au lieu de allow pour bloquer le trafic :
$ sudo ufw deny from 192.168.1.110Pour cibler spécifiquement les connexions sortantes, incluez out :
$ sudo ufw allow out sshPour supprimer une règle, utilisez le numéro de la règle provenant de ufw status numbered :
$ sudo ufw delete 3Profils d'application UFW
UFW comprend des profils d'application qui définissent des règles de pare-feu pour les services courants. Ces profils simplifient la configuration en regroupant les paramètres de port et de protocole sous des noms d'application reconnaissables.
Liste des profils d'application disponibles :
$ sudo ufw app listAfficher les détails d'un profil d'application spécifique :
$ sudo ufw app info OpenSSH
Cela affiche les ports et protocoles utilisés par l'application. Pour autoriser une application à travers le pare-feu :
$ sudo ufw allow OpenSSHLes profils d'application courants incluent OpenSSH, Apache, Apache Full, Nginx Full, et d'autres selon les logiciels installés. Les profils d'application sont stockés dans /etc/ufw/applications.d/ et vous pouvez créer des profils personnalisés pour vos propres applications.
Configuration d’un ordinateur de bureau
Cet exemple fournit un point de départ pour une configuration de pare-feu de bureau de base. Ajustez les règles en fonction de vos besoins spécifiques.
Commencez par définir les paramètres par défaut :
$ sudo ufw default deny incoming
$ sudo ufw default allow outgoingAutoriser le trafic HTTP et HTTPS pour la navigation web :
$ sudo ufw allow http
$ sudo ufw allow httpsActiver l'accès SSH :
$ sudo ufw allow sshAutoriser NTP pour la synchronisation de l'heure système :
$ sudo ufw allow ntpÀ moins que vous n’utilisiez une IP statique, autorisez le DHCP sur les ports 67 et 68 :
$ sudo ufw allow 67:68/udpAutoriser le trafic DNS pour la résolution des noms de domaine :
$ sudo ufw allow 53Pour les clients torrent comme Deluge :
$ sudo ufw allow 56881:56889/tcpSteam nécessite plusieurs ports :
$ sudo ufw allow 27000:27036/udp
$ sudo ufw allow 27036:27037/tcp
$ sudo ufw allow 4380/udpConfigurer un serveur Web
Les serveurs Web nécessitent une configuration plus restrictive pour minimiser la surface d'attaque tout en garantissant que le trafic légitime circule sans entrave.
Pour les serveurs, refuser tout le trafic par défaut. Désactivez le pare-feu avant d’effectuer ces changements pour éviter de perdre l’accès SSH :
$ sudo ufw default deny incoming
$ sudo ufw default deny outgoing
$ sudo ufw default deny forwardActiver le trafic Web entrant et sortant :
$ sudo ufw allow http
$ sudo ufw allow out http
$ sudo ufw allow https
$ sudo ufw allow out httpsAutoriser SSH pour l'administration à distance :
$ sudo ufw allow ssh
$ sudo ufw allow out sshActiver NTP pour la synchronisation de l'heure :
$ sudo ufw allow ntp
$ sudo ufw allow out ntpAutoriser le DNS pour les mises à jour de paquets et la résolution de domaine :
$ sudo ufw allow 53
$ sudo ufw allow out 53Conclusion
UFW offre une approche simple pour la gestion du pare-feu sur les systèmes Linux. Malgré sa simplicité, UFW est prêt pour la production puisqu'il fonctionne comme une interface pour iptables, offrant la même sécurité robuste. Les exemples de ce guide couvrent des configurations courantes de bureau et de serveur, mais vous devriez adapter les règles en fonction de vos besoins spécifiques et de la configuration de votre réseau. Pour une documentation complète, référez-vous à la page de manuel officielle de UFW.
Questions fréquemment posées
- Comment vérifier si UFW bloque une connexion spécifique ? Utilisez
sudo ufw status verbosepour voir toutes les règles actives et leurs politiques. Vous pouvez également vérifier les journaux UFW dans/var/log/ufw.logpour les tentatives de connexion bloquées. Activez la journalisation avecsudo ufw logging onsi elle n'est pas déjà activée. - Puis-je réinitialiser UFW à son état par défaut ? Oui, exécutez
sudo ufw resetpour supprimer toutes les règles et désactiver le pare-feu. Cela ramène UFW à son état initial après l'installation, ce qui est utile si vous avez fait des erreurs de configuration et souhaitez recommencer à zéro. - Quelle est la différence entre ufw allow et ufw limit ? La commande
allowpermet tout le trafic correspondant, tandis quelimitajoute une limitation de débit pour prévenir les attaques par force brute. Par exemple,sudo ufw limit sshpermet les connexions SSH mais bloque une adresse IP qui tente plus de 6 connexions en 30 secondes. - UFW persiste-t-il après un redémarrage ? Oui, une fois activé avec
sudo ufw enable, UFW démarre automatiquement au démarrage et charge vos règles enregistrées. Les règles sont stockées dans/etc/ufw/et persistent après un redémarrage sans configuration supplémentaire.
