Firewall et iptables
Notions théoriques
Un pare-feu (firewall en anglais) est un système qui permet de contrôler le trafic réseau entrant et sortant sur un ordinateur ou un réseau d'ordinateurs. Il est essentiel pour la sécurité d'un système ou d'un réseau.
Dans Linux, iptables
est l'outil le plus couramment utilisé pour configurer le pare-feu. Il permet de définir des règles qui spécifient quel trafic est autorisé et quel trafic est bloqué.
Une règle iptables
se compose de 4 éléments :
- d'une cible (ce qu'il faut faire avec le paquet, par exemple ACCEPT ou DROP),
- d'un protocole (par exemple TCP ou UDP),
- d'un port
- et d'une adresse IP ou d'un réseau.
Pour lister toutes les règles actives dans iptables, il suffit d'utiliser la commande :
sudo iptables -L
Exemple pratique
Supposons que vous voulez bloquer tout le trafic entrant sur le port 80 (le port par défaut pour le trafic HTTP). Vous pouvez le faire avec la commande suivante :
sudo iptables -A INPUT -p tcp --dport 80 -j DROP
Cette commande ajoute (-A) une règle à la chaîne INPUT qui correspond à tout paquet TCP (--dport 80) et qui jette (-j DROP) ces paquets.
Test de mémorisation/compréhension
TP pour réfléchir et résoudre des problèmes
Pour ce TP, vous allez utiliser iptables
pour sécuriser votre serveur. Vous allez bloquer tout le trafic entrant, sauf pour le port 22 (SSH) et le port 80 (HTTP).
- Bloquez tout le trafic entrant avec
sudo iptables -P INPUT DROP
. - Autorisez le trafic entrant sur le port 22 avec
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
. - Autorisez le trafic entrant sur le port 80 avec
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
. - Vérifiez que vos règles sont en place avec
sudo iptables -L
.
Une solution
Vous devez être connecté pour voir le contenu.