Installer UFW : Comment configurer un pare-feu de base sur Linux
UFW (Uncomplicated Firewall) simplifie la gestion du pare-feu Linux en fournissant une interface facile à utiliser pour iptables. Ce guide couvre l'installation et la configuration d'UFW sur les distributions basées sur Debian, de la configuration de base aux configurations pratiques de 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 de pare-feu par défaut
- Comment autoriser et refuser le trafic par service, port et IP
- Comment utiliser les profils d'application UFW
- Comment configurer les 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 ufwAprè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 les verrouillages accidentels 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 permettant 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 à définir 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, il possède ses propres contrôles qui sont plus faciles. Commencez par activer UFW :
$ sudo ufw enableAVERTISSEMENT
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 affichez 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 httpAutoriser 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 depuis le réseau local :
$ sudo ufw allow from 192.168.1.0/24Pour une plage 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 règle 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.
Lister les profils d'application disponibles :
$ sudo ufw app listAfficher les détails d'un profil d'application spécifique :
$ sudo ufw app info OpenSSHCela affiche les ports et protocoles utilisés par l'application. Pour permettre à une application de passer à 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 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 modifications afin d'éviter de perdre l'accès SSH :
$ sudo ufw default deny incoming
$ sudo ufw default deny outgoing
$ sudo ufw default deny forwardAutoriser 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 DNS pour les mises à jour des packages 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 car il fonctionne comme une interface pour iptables, offrant la même sécurité robuste. Les exemples de ce guide couvrent des configurations courantes de bureaux et de serveurs, mais vous devriez personnaliser 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 d'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 consulter les journaux d'UFW à/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 repartir de 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 le redémarrage ? Oui, une fois activé avec
sudo ufw enable, UFW démarre automatiquement au démarrage et charge vos règles sauvegardées. Les règles sont stockées dans/etc/ufw/et persistent après les redémarrages sans configuration supplémentaire.
