Configurer un pare-feu Linux avec iptables

Si vous avez besoin d'un bon pare-feu pour votre serveur ou bureau Linux, iptables est un excellent choix. Il est très flexible et rapide. Dans ce guide, nous allons vous montrer comment configurer un pare-feu iptables sous Linux.

Installer iptables sous Linux

Pour configurer le pare-feu avec iptables sur votre système Linux , vous devez d'abord l'installer. Ouvrez une fenêtre de terminal et suivez les instructions d'installation ci-dessous pour votre système d'exploitation Linux. Iptables est installable sur les ordinateurs de bureau et les serveurs Linux, et si vous préférez un téléchargement Linux générique d'iptables, vous pouvez visiter le site officiel . Une fois l'installation terminée, vous pouvez procéder à la configuration de votre pare-feu avec iptables.

Instructions d'Ubuntu

sudo apt installer iptables

Instructions Debian

sudo apt-get install iptables

Instructions Arch Linux

sudo pacman -S iptables

Instructions Fedora

sudo dnf installer iptables

Instructions d'OpenSUSE

sudo sudo zypper dans iptables

Distributions EPEL (Rhel, CentOS, Rocky, Alma, etc.)

sudo miam installer iptables

Comment créer un jeu de règles iptables

Vous devez créer un nouvel ensemble de règles iptables avant de tenter de l'utiliser comme pare-feu. Ouvrez une fenêtre de terminal et assurez-vous que vous pouvez saisir les commandes sudo . Si votre utilisateur ne peut pas, connectez-vous au compte root avec su .

À partir de là, utilisez la commande iptables -F . Cette commande supprimera et videra toutes les règles précédentes pour iptables sur votre système.

sudo iptables -F

Après avoir exécuté la commande ci-dessus, vous pouvez exécuter la commande iptables -L pour vérifier et confirmer que les règles ont été effacées.

sudo iptables -L

Une fois que vous avez confirmé que les règles iptables ont été vidées, utilisez la commande iptables -P ci-dessous pour bloquer le trafic entrant par défaut.

AVERTISSEMENT : si vous modifiez iptables via SSH, déconnectez-vous et modifiez-le sur la machine physique. L'exécution de la commande ci-dessous vous déconnectera automatiquement de SSH jusqu'à ce que vous l'autorisiez à traverser le pare-feu.

sudo iptables -P INPUT DROP

Ensuite, vous devez autoriser le trafic sortant de votre système via iptables. Vous pouvez autoriser le trafic sortant via le pare-feu iptables en saisissant la commande iptables -P suivante.

sudo iptables -P OUTPUT ACCEPT

Une fois que vous avez désactivé le trafic entrant et activé le trafic sortant, vous passez à l'autorisation de services spécifiques.

Comment autoriser les ports via le pare-feu iptables

Par défaut, l'exécution d'iptables -P INPUT DROP désactive le trafic entrant de toutes les sources (SSH, HTTP, etc.) Pour activer ces services, vous devrez ajouter à vos règles iptables.

Pour simplifier les choses, voici une liste des ports courants que vous souhaiterez peut-être activer dans votre pare-feu iptables. Copiez la commande associée au port que vous souhaitez activer via votre pare-feu iptables.

  • HTTP (port 80) :sudo iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
  • HTTPS (port 443) :sudo iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
  • SSH (port 22) :sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
  • FTP (port 21) :sudo iptables -A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
  • SMTP (port 25) :sudo iptables -A INPUT -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
  • DNS (port 53) : sudo iptables -A INPUT -p udp --dport 53 -j ACCEPTpour UDP ou sudo iptables -A INPUT -p tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPTpour TCP
  • DNS sur TLS (DoT) (port 853) :sudo iptables -A INPUT -p tcp --dport 853 -m state --state NEW,ESTABLISHED -j ACCEPT
  • DNS sur HTTPS (DoH) (port 443) :sudo iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
  • Protocole de bureau à distance (RDP) (port 3389) :sudo iptables -A INPUT -p tcp --dport 3389 -m state --state NEW,ESTABLISHED -j ACCEPT
  • Informatique en réseau virtuel (VNC) (port 5900) :sudo iptables -A INPUT -p tcp --dport 5900 -m state --state NEW,ESTABLISHED -j ACCEPT
  • Secure Shell (SSH) avec transfert X11 (port 6010) :sudo iptables -A INPUT -p tcp --dport 6010 -m state --state NEW,ESTABLISHED -j ACCEPT
  • Base de données MySQL (port 3306) :sudo iptables -A INPUT -p tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
  • Base de données PostgreSQL (port 5432) :sudo iptables -A INPUT -p tcp --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT

Lorsque vous avez autorisé tous les ports que vous souhaitez autoriser, vous pouvez vérifier vos règles avec iptables -L .

sudo iptables -L

Enfin, enregistrez vos règles iptables dans un fichier à des fins de sauvegarde. Vous pouvez le faire avec la commande iptables-save .

sudo iptables-save > /path/tosave/where/you/wish/to/save/rules/iptable-rules-backup

Comment restaurer les sauvegardes iptables

Si vous avez besoin de redéployer votre pare-feu iptables sur une autre machine, voici ce qu'il faut faire. Tout d'abord, utilisez la commande iptables -F pour vider les règles existantes.

sudo iptables -F

Ensuite, copiez votre fichier de sauvegarde sur le système. Une fois copié, restaurez la sauvegarde.

sudo iptables-restore <>


Comment installer GitLab sur le serveur Ubuntu

Comment installer GitLab sur le serveur Ubuntu

Cherchez-vous à faire fonctionner GitLab sur votre serveur Ubuntu ? GitLab est une puissante alternative auto-hébergée aux services comme GitHub. Avec elle, vous pouvez

Sécuriser un serveur Ubuntu Linux avec SELinux

Sécuriser un serveur Ubuntu Linux avec SELinux

Découvrez comment ajouter une sécurité supplémentaire à votre serveur Ubuntu Linux en installant et en activant SELinux dessus.

Configurer NFS sur un serveur Linux avec Cockpit

Configurer NFS sur un serveur Linux avec Cockpit

Vous cherchez un moyen plus simple de monter des partages NFS sur votre serveur Linux ? Découvrez comment monter des partages NFS avec l'application Cockpit.

Comment mettre à niveau vers Ubuntu 22.04 LTS

Comment mettre à niveau vers Ubuntu 22.04 LTS

Le support à long terme d'Ubuntu 22.04 est là ! Découvrez comment mettre à niveau votre ordinateur de bureau ou portable vers la dernière version d'Ubuntu.

Comment installer les derniers pilotes GPU Nvidia sur Linux

Comment installer les derniers pilotes GPU Nvidia sur Linux

Comment installer les derniers pilotes GPU Nvidia sur Linux

Comment transférer des fichiers vers un conteneur Docker

Comment transférer des fichiers vers un conteneur Docker

Besoin de transférer des fichiers vers votre conteneur Docker ? Avec l'outil Docker cp, vous pouvez facilement déplacer des fichiers vers et depuis des conteneurs.

Comment installer un fichier DEB sous Linux

Comment installer un fichier DEB sous Linux

Qu'est-ce qu'un fichier DEB ? Qu'est ce que tu fais avec? Découvrez les nombreuses façons d'installer des fichiers DEB sur votre PC Linux.

Comment faire fonctionner GOG Galaxy sous Linux

Comment faire fonctionner GOG Galaxy sous Linux

Possédez-vous des jeux sur GOG.com ? Vous souhaitez configurer le client GOG Galaxy sur votre PC Linux pour profiter de certains jeux vidéo ? Suivez ce guide comme nous le montrons

Comment installer Docker Engine sur CentOS

Comment installer Docker Engine sur CentOS

Docker Engine est un programme de conteneurisation ouvert pour Linux et d'autres plates-formes. Docker Engine gère des conteneurs autonomes qui fonctionnent comme

Comment regrouper tous vos chats en un seul avec Ferdi

Comment regrouper tous vos chats en un seul avec Ferdi

Êtes-vous fatigué d'installer Slack, Discord et de nombreux autres outils de productivité sur votre système Linux ? Souhaitez-vous qu'ils puissent tous être combinés en un seul