Mettez votre activité MSP sur orbite ! Roadshow 2024 Lyon | Nantes | Paris

Comment configurer un pare-feu Linux : étapes et exemples

15 novembre 2024 | Sécurité, Technique

La sécurité des systèmes Linux repose sur plusieurs couches de protection, et le pare-feu en constitue l’une des plus importantes. Un pare-feu Linux permet de filtrer le trafic entrant et sortant de votre serveur, offrant une première ligne de défense contre les attaques. 

Pour les prestataires de services managés (MSP), la mise en place et la gestion d’un pare-feu bien configuré est une étape capitale pour garantir la protection des infrastructures clients.

Dans cet article, nous allons vous montrer comment configurer un pare-feu sur Linux en 7 étapes, avec des exemples concrets de lignes de commandes pour les principaux outils disponibles sur Linux.

Découvrez nos solutions Datto dédiées aux prestataires de services managés. 

Étape 1 : Choisir le bon pare-feu pour Linux

Il existe plusieurs solutions de pare-feu sur Linux, chacune avec ses particularités. 

Voici trois outils principaux :

  • iptables : C’est le pare-feu traditionnel sur Linux, basé sur la table de filtrage de paquets. Bien que puissant, il est parfois difficile à maîtriser pour les débutants.
  • ufw (Uncomplicated Firewall) : Conçu pour simplifier l’utilisation d’iptables, ufw est une solution intuitive pour configurer des règles de pare-feu de base sur des distributions comme Ubuntu.
  • firewalld : Utilisé principalement sur des distributions comme Fedora ou CentOS, firewalld permet de configurer des zones et d’adapter les règles de pare-feu dynamiquement.

Comparaison entre les pare-feu disponibles :

  • iptables : Puissant et flexible, mais parfois difficile à prendre en main pour les utilisateurs moins expérimentés. Il offre un contrôle granulaire des flux réseau.
  • ufw : Idéal pour des configurations rapides et simples sur des serveurs individuels ou des petites infrastructures.
  • firewalld : Propose une gestion dynamique des règles sans redémarrer les services.

Exemple : Installation de ufw et firewalld

Pour installer ufw sur Ubuntu 

sudo apt install ufw

Pour installer firewalld sur CentOS ou Fedora 

sudo yum install firewalld

Étape 2 : Configurer les règles de base du pare-feu

Les règles de base définissent comment le pare-feu gère les connexions entrantes et sortantes. Il est recommandé de bloquer tout le trafic entrant par défaut et d’autoriser uniquement les ports spécifiques nécessaires.

Commandes d’exemple pour ufw :

sudo ufw default deny incoming

sudo ufw default allow outgoing

Avec cette configuration, tout le trafic entrant est bloqué, sauf si vous autorisez explicitement un port. En revanche, le trafic sortant est autorisé.

Exemple de règle iptables :

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

Cette règle autorise tout le trafic entrant sur le port 80 (HTTP).

Étape 3 : Ouvrir ou bloquer des ports spécifiques

Après avoir défini vos règles de base, il est essentiel d’ouvrir uniquement les ports nécessaires pour vos services, comme SSH, HTTP ou HTTPS.

Commandes pour ouvrir des ports avec ufw :

Ouvrir le port SSH (22) :

sudo ufw allow 22

Ouvrir le port HTTP (80) :

sudo ufw allow 80/tcp

Exemple iptables pour SSH :

sudo iptables -A INPUT -p tcp –dport 22 -j ACCEPT

Vous pouvez aussi bloquer des ports spécifiques si nécessaire :

sudo ufw deny 23

Étape 4 : Activer la journalisation des connexions

La journalisation est obligatoire pour surveiller les activités de votre pare-feu. Cela permet de garder une trace des connexions autorisées et bloquées, utile pour diagnostiquer des problèmes ou identifier des tentatives d’intrusion.

Activer la journalisation avec ufw :

sudo ufw logging on

Exemple iptables avec journalisation :

sudo iptables -A INPUT -j LOG –log-prefix « IPTables-Dropped: « 

Cela ajoutera une entrée dans les logs pour chaque paquet bloqué, ce qui est utile pour surveiller les activités suspectes.

Étape 5 : Appliquer et sauvegarder la configuration du pare-feu

Une fois vos règles définies, il est important de les appliquer et de sauvegarder la configuration pour qu’elle persiste après un redémarrage.

Commandes pour ufw :

sudo ufw enable

Sauvegarder la configuration iptables :

sudo service iptables save

Avant d’appliquer des modifications, vous devez toujours vérifier les règles pour éviter les erreurs qui pourraient bloquer les services critiques.

Vérifier les règles actuelles :

Pour ufw :

sudo ufw status verbose

Pour iptables :

sudo iptables -L

En cas d’erreur, vous pouvez restaurer une configuration précédente en utilisant la sauvegarde.

Étape 6 : Tester la configuration du pare-feu

Une bonne pratique consiste à tester votre configuration pour vous assurer que les règles fonctionnent comme prévu. 

Vous pouvez utiliser des outils comme nmap ou telnet pour tester les ports ouverts et fermés.

Exemple avec nmap :

nmap -p 22,80,443 localhost

Cette commande vérifie si les ports 22 (SSH), 80 (HTTP) et 443 (HTTPS) sont ouverts sur votre machine.

Tester vos règles vous permet de corriger les éventuels problèmes avant que les utilisateurs ne soient impactés.

Étape 7 : Automatiser et maintenir la configuration

Pour les MSP ou les administrateurs IT, gérer manuellement des règles de pare-feu peut rapidement devenir une tâche complexe, surtout avec des infrastructures de grande taille. 

C’est pourquoi il est souvent nécessaire d’automatiser la gestion des règles de pare-feu. Des outils comme Ansible, Chef, ou Puppet permettent de déployer des configurations de pare-feu sur plusieurs serveurs de manière automatisée.

Exemple d’automatisation avec Ansible :

Voici un exemple de tâche Ansible pour configurer les ports 80 (HTTP) et 22 (SSH) sur plusieurs serveurs :

– name: Configurer le pare-feu

  hosts: serveurs

  become: true

  tasks:

    – name: Autoriser le port 80 (HTTP)

      ufw:

        rule: allow

        port: 80

        proto: tcp

    – name: Autoriser le port 22 (SSH)

      ufw:

        rule: allow

        port: 22

        proto: tcp

Automatiser ces configurations avec des playbooks Ansible permet de garantir que tous les serveurs respectent une configuration de sécurité cohérente et fiable.

L’importance de la maintenance continue des pare-feu Linux

Une fois que vos pare-feux sont configurés et fonctionnent correctement, la tâche ne s’arrête pas là. Il est important de procéder à des mises à jour régulières de l’ensemble des règles de sécurité pour protéger les systèmes contre de nouvelles menaces. 

Les prestataires de services managés (MSP) peuvent utiliser des solutions comme Datto RMM pour surveiller les pare-feu, appliquer des correctifs de sécurité, et garantir une protection continue des systèmes.

La gestion proactive des pare-feu garantit que vous pouvez réagir rapidement aux nouvelles menaces et ajuster les configurations en conséquence.

Conclusion

Configurer un pare-feu Linux est une étape essentielle pour garantir la sécurité de vos serveurs et réseaux. En suivant ces 7 étapes, vous pouvez créer une configuration robuste qui protège efficacement vos infrastructures. Que vous utilisiez iptables, ufw ou firewalld, il est essentiel de maintenir ces configurations à jour et de les tester régulièrement.

Pour les MSP, des solutions comme Datto RMM peuvent vous aider à surveiller, automatiser et maintenir ces configurations de manière proactive, garantissant ainsi que les systèmes de vos clients restent protégés.

Découvrez comment intégrer les outils dédiés à la prestation de service informatique pour les prestataires de services managés les plus courants en réservant votre démo offerte.

FAQ

Quel pare-feu Linux est le plus simple à utiliser ?

ufw est généralement considéré comme le plus simple pour les débutants, tandis qu’iptables offre plus de contrôle pour les experts.

Comment puis-je tester la configuration de mon pare-feu Linux ?

Utilisez des outils comme nmap ou telnet pour tester les ports ouverts et vérifier que vos règles fonctionnent correctement.

Est-il possible d’automatiser les configurations de pare-feu ?

Oui, des outils comme Ansible ou des scripts bash permettent d’automatiser et de gérer les configurations sur plusieurs machines.

Articles sur le même sujet :