Sécurité Linux — Firewall iptables et nftables

23 avril 2026 — par

Dans cet article, nous allons explorer comment sécuriser un serveur Linux en utilisant iptables, un outil de pare-feu puissant, et netfilter-persistent, un service qui permet de sauvegarder et de restaurer les règles de pare-feu. Nous nous concentrerons sur les distributions Debian et Ubuntu.

Introduction à iptables

iptables est un outil de ligne de commande utilisé pour configurer le pare-feu intégré au noyau Linux. Il permet de définir des règles pour filtrer et manipuler le trafic réseau. Les règles iptables sont organisées en tables, chacune ayant un objectif spécifique (filtre, NAT, mangle, etc.).

Installation d’iptables

Sur Debian et Ubuntu, iptables est généralement installé par défaut. Si ce n’est pas le cas, vous pouvez l’installer avec la commande suivante :

# Mettre à jour la liste des paquets
sudo apt update

# Installer les dépendances requises
sudo apt install iptables

Configuration de base d'iptables
Voici quelques exemples de règles iptables pour sécuriser votre serveur :
Autoriser le trafic entrant sur le port SSH (22)
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Autoriser le trafic entrant sur le port SSH (80)
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

Autoriser le trafic entrant sur le port HTTPS (443)

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

Bloquer tout le trafic entrant par défaut

sudo iptables -P INPUT DROP

Autoriser le trafic sortant

sudo iptables -P OUTPUT ACCEPT

Autoriser le trafic de boucle locale 

sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT

Autoriser les connexions établies et associées

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Pour que les règles iptables persistent après un redémarrage, nous allons utiliser netfilter-persistent. Ce service sauvegarde les règles et les restaure automatiquement au démarrage.

Installation de netfilter-persistent

# Mettre à jour la liste des paquets
sudo apt update

# Installer les dépendances requises
sudo apt install netfilter-persistent

Sauvegarde des règles iptables

Pour sauvegarder les règles actuelles, utilisez la commande suivante :

sudo netfilter-persistent save

Restauration des règles iptables

Pour restaurer les règles sauvegardées, utilisez la commande suivante :

sudo netfilter-persistent reload

Exemple de script de configuration

Voici un exemple de script pour configurer iptables et sauvegarder les règles :

#!/bin/bash

# Autoriser le trafic de boucle locale
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT

# Autoriser les connexions établies et associées
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# Autoriser le trafic entrant sur les ports SSH, HTTP et HTTPS
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# Bloquer tout le trafic entrant par défaut
sudo iptables -P INPUT DROP

# Autoriser le trafic sortant
sudo iptables -P OUTPUT ACCEPT

# Sauvegarder les règles
sudo netfilter-persistent save

Conclusion

En utilisant iptables et netfilter-persistent, vous pouvez sécuriser efficacement votre serveur Linux en définissant des règles de pare-feu robustes et en vous assurant qu’elles persistent après un redémarrage. Ces outils sont essentiels pour protéger votre serveur contre les accès non autorisés et les attaques réseau.

N’oubliez pas de tester vos règles de pare-feu pour vous assurer qu’elles fonctionnent comme prévu et d’ajuster les configurations en fonction de vos besoins spécifiques.

Index complet

Tous les articles (41)

Date Article Tags
07/06/2026 Docker : comment récupérer de l'espace disque cache conteneurs debian 07/06/2026 Graylog 7 — Centralisation et analyse de logs : l'alternative à ELK sur Debian/Ubuntu centralisation debian elk 07/06/2026 OpenZFS : tiering avec L2ARC et SLOG pour les workloads mixtes cache l2arc nvme 07/06/2026 Scripting Bash avancé — pièges, bonnes pratiques et optimisation automatisation bash bonnes-pratiques 07/06/2026 AppArmor sur Debian/Ubuntu : profils, modes et confinement applicatif apparmor audit confinement 07/06/2026 Durcissement SSH — au-delà des clés publiques 2fa authentification cryptographie 27/05/2026 LXD 6.x : orchestration de conteneurs Linux avec profils et clustering administration clustering conteneurs 27/05/2026 Keepalived — VIP flottante et load balancing sans matériel dédié debian failover haute-disponibilité 27/05/2026 Btrfs sur Linux — snapshots, sous-volumes et compression en pratique administration btrfs compression 21/05/2026 CVE-2026-42945 (NGINX Rift) : analyse et remédiation sur Debian/Ubuntu cve debian heap-overflow 21/05/2026 Tuning kernel Linux — paramètres sysctl essentiels pour la production debian kernel mémoire 21/05/2026 DRBD : réplication de blocs entre deux serveurs en temps réel cluster debian drbd 15/05/2026 CVE-2026-23918 — vulnérabilité Apache 2.4.66 : analyse et correctifs sur Debian/Ubuntu (hors Debian 11) apache cve debian 15/05/2026 CVE-2026-31431 (Copy Fail) — Analyse et remédiation sur Debian/Ubuntu algif_aead copy-fail cve 12/05/2026 Pacemaker et Corosync — cluster haute disponibilité Linux cluster corosync debian 12/05/2026 WireGuard : monter un VPN mesh entre plusieurs serveurs Linux chiffrement linux mesh 12/05/2026 Netdata — monitoring temps réel sans configuration complexe alertes dashboard linux 12/05/2026 nftables en pratique — remplacer iptables sur Debian/Ubuntu debian firewall iptables 12/05/2026 Podman : alternative rootless à Docker — installation et migration conteneurs docker kubernetes 02/05/2026 Prometheus et Grafana sur Debian — installation, configuration et dashboards pratiques alertmanager dashboard debian 02/05/2026 Ansible : automatiser la gestion de serveurs Linux avec des playbooks administration ansible automation 28/04/2026 ZFS sur Linux : snapshots, clones et RAID-Z en pratique administration compression filesystem 28/04/2026 eBPF sur Linux : observabilité et traçage kernel avec bpftrace et BCC bcc bpftrace diagnostic 23/04/2026 Analyse de la mémoire sur Linux — vmstat, free, smem diagnostic mémoire monitoring 23/04/2026 Sécurité Linux — Firewall iptables et nftables firewall iptables nftables 23/04/2026 ZFS sur Linux — Installation et gestion avancée administration filesystem stockage 23/04/2026 Gestion des services avec systemd sur Debian et Ubuntu administration debian services 23/04/2026 Gestion des ressources cgroups v1/v2 avec LXC cgroups conteneurs lxc 23/04/2026 Centralisation logs avec ELK Stack — Elasticsearch, Kibana, Filebeat elasticsearch elk filebeat 23/04/2026 Supervision avec Zabbix 7.0 LTS sur Debian/Ubuntu debian monitoring supervision 23/04/2026 Plusieurs versions PHP-FPM sur Apache Debian/Ubuntu apache debian php-fpm 23/04/2026 Sécurisation avancée PHP-FPM — Multi-VirtualHosts Apache/Nginx apache nginx php-fpm 23/04/2026 Optimisation PHP-FPM — Guide de tuning d'un pool optimisation performance php-fpm 29/07/2025 Docker sur Debian/Ubuntu : Installation, Configuration et Utilisation conteneurs debian docker 03/07/2025 Serveur VPN WireGuard sous linux réseau sécurité vpn 03/07/2025 Authentification par clé publique sur un serveur SSH authentification cryptographie sécurité 27/06/2025 Surveillance et diagnostic d’un serveur Linux avec vmstat, iotop et htop diagnostic htop monitoring 27/06/2025 Mémoire : Utilisation des Huge Pages et implémentation hugepages mémoire noyau 27/06/2025 Mémoire Swap et paramétrage swappiness mémoire noyau performance 18/06/2025 Installation et Configuration des Conteneurs LXC sur Linux administration conteneurs lxc 18/06/2025 Gestion des journaux avec syslog et journalctl administration journalctl logs