Configuration du pare-feu ufw
, iptables
1. UFW: Uncomplicated Firewall
Pourquoi a-t-on besoin d’un pare-feu ?
Imagine que ton serveur, c’est une maison remplie de trucs précieux (des données, évidemment). Si tu laisses les portes grandes ouvertes, n’importe qui peut entrer, se servir dans ton frigo de données et laisser la vaisselle sale (ou pire). Un pare-feu, c’est comme des portes que tu contrôles : tu peux décider qui peut entrer, par où et dans quelles conditions.
Linux te propose deux outils principaux pour configurer ton pare-feu : ufw (Uncomplicated Firewall, soit "pare-feu simplifié") et iptables. Voyons comment ça marche et quelles en sont les différences.
C’est quoi UFW ?
UFW, c’est un outil conçu avec l’idée : "simplifions un peu les choses". Parfait pour ceux qui veulent configurer rapidement des règles d’accès de base sans se plonger dans les détails complexes.
Installation et activation d’UFW
UFW est souvent préinstallé sur la plupart des distributions basées sur Debian/Ubuntu. S’il manque, installe-le :
sudo apt update
sudo apt install ufw
Pour l’activer :
sudo ufw enable
Pour vérifier son statut :
sudo ufw status
Lors du premier lancement, le statut sera probablement "inactive". Après activation, il passera à "active".
Configurer les règles d’UFW
Et maintenant, partie fun : configurer les règles pour définir quel trafic passe et lequel est bloqué.
Autoriser l’accès SSH (port 22) :
sudo ufw allow 22
Autoriser l’accès au serveur web (port 80) :
sudo ufw allow 80
Autoriser HTTPS (port 443) :
sudo ufw allow 443
Bloquer l’accès à un port non nécessaire (par ex. 8080) :
sudo ufw deny 8080
Supprimer une règle :
Si jamais tu changes d’avis, supprime une règle en utilisant son numéro affiché par sudo ufw status numbered
. Exemple :
sudo ufw delete 1
Vérification et tests
Pour t’assurer que tout marche bien, vérifie à nouveau le statut :
sudo ufw status
Tu verras une liste de toutes les règles actives.
2. IPTABLES : plus de contrôle, plus de possibilités
Qu'est-ce que iptables ?
Si UFW est une "porte simple avec une serrure", alors iptables est un "garde intelligent" qui permet de tout configurer. Il offre un contrôle total sur le trafic, y compris le routage, le filtrage par divers critères et même la possibilité de modifier les paquets.
Concepts de base d'iptables
- Tables — ce sont des ensembles de fonctions pour gérer les paquets réseau.
filter
: gestion et filtrage des paquets (par exemple, autoriser ou bloquer).nat
: transformation des adresses/ports (par exemple, pour les routeurs).
- Chaînes — ce sont des règles appliquées aux paquets.
INPUT
: pour le trafic entrant.OUTPUT
: pour le trafic sortant.FORWARD
: pour le trafic redirigé.
- Cibles (targets) — ce sont les actions exécutées sur un paquet.
ACCEPT
: autoriser le paquet.DROP
: jeter le paquet.REJECT
: jeter le paquet tout en envoyant une notification.
Voyons comment configurer les règles iptables.
Visualiser les règles actuelles
Pour voir les règles déjà configurées, exécutez :
sudo iptables -L
Vous pouvez également ajouter -v
ou -n
pour des informations détaillées sur les paquets et adresses IP.
Création de règles avec iptables
Règle simple : autoriser SSH (port 22) :
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
Bloquer l'accès au port 8080 :
sudo iptables -A INPUT -p tcp --dport 8080 -j DROP
Restriction d'accès par adresse IP :
Si vous souhaitez qu'un ordinateur avec une adresse IP spécifique puisse se connecter à votre serveur et que les autres ne le puissent pas :
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
Suppression des règles
Pour supprimer une règle, vous devez connaître son numéro. Trouvez-le avec :
sudo iptables -L --line-numbers
Et ensuite, supprimez-la :
sudo iptables -D INPUT <numéro_règle>
Sauvegarde des règles
Les règles iptables sont par défaut "oubliées" lors du redémarrage du système. Pour éviter cela, sauvegardez-les :
sudo iptables-save > /etc/iptables/rules.v4
Ensuite, vous pouvez restaurer les règles ainsi :
sudo iptables-restore < /etc/iptables/rules.v4
3. UFW vs IPTABLES : lequel choisir ?
UFW et iptables servent à la même chose : protéger ton serveur. Alors, lequel choisir ?
- UFW — c'est un outil simple pour une config de sécurité basique. Si t'as pas envie de te plonger dans les détails ou que tu veux juste configurer un pare-feu rapidement, choisis UFW.
- Iptables — c'est un outil puissant pour des configs plus complexes. Si t'as une infra compliquée (genre NAT, routage), il te faudra iptables.
En fait, UFW fonctionne "par-dessus" iptables. Il génère juste les règles d'iptables pour toi. Donc, si t'as maîtrisé iptables, tu comprends automatiquement comment UFW fonctionne en interne.
4. Exemples pratiques : protéger un serveur
Exemple 1 : protection de SSH et du serveur web avec UFW
- Assurez-vous que UFW est installé et activé :
sudo ufw enable
- Autorisez l'accès SSH et au serveur web :
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
- Vérifiez les règles actives :
sudo ufw status
Exemple 2 : bloquer le trafic inutile avec iptables
- Autorisez l'accès SSH :
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- Autorisez le trafic web :
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
- Bloquez tout le reste :
sudo iptables -A INPUT -j DROP
Aujourd'hui, tu as appris à protéger un serveur avec UFW et iptables. Les deux outils sont puissants et utiles, il suffit de te rappeler que UFW est ton "buddy de tous les jours" et iptables est "un outil puissant dans les mains d'un expert". Configure ton pare-feu, explore tes réglages, et que ton serveur reste une forteresse, pas un moulin.
GO TO FULL VERSION