Aller au contenu principal

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


Qu'est-ce qu'un pare-feu ?


Quel outil est couramment utilisé pour configurer le pare-feu dans Linux ?


Pour lister toutes les règles actives dans iptables, il suffit d'utiliser la commande :


Que fait la commande 'iptables -A INPUT -p tcp --dport 80 -j DROP' ?


Que signifie '-j DROP' dans une règle iptables ?


Que signifie '-p tcp' dans une règle iptables ?



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).

  1. Bloquez tout le trafic entrant avec sudo iptables -P INPUT DROP.
  2. Autorisez le trafic entrant sur le port 22 avec sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT.
  3. Autorisez le trafic entrant sur le port 80 avec sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT.
  4. Vérifiez que vos règles sont en place avec sudo iptables -L.
Une solution