Maison > Opération et maintenance > exploitation et maintenance Linux > Comment configurer un pare-feu à Linux en utilisant un pare-feu ou des iptables?

Comment configurer un pare-feu à Linux en utilisant un pare-feu ou des iptables?

Emily Anne Brown
Libérer: 2025-03-12 18:58:51
original
921 Les gens l'ont consulté

Configuration d'un pare-feu à Linux à l'aide d'un pare-feu ou d'une iptable

La mise en place d'un pare-feu dans Linux en utilisant firewalld ou iptables implique différentes approches en raison de leurs différences architecturales. firewalld est un démon de pare-feu dynamique qui fournit une interface conviviale pour gérer les règles de pare-feu, tandis que iptables est un utilitaire de ligne de commande qui manipule directement le cadre NetFilter du noyau.

Utilisation de Firewalld:

  1. Installation: Assurez-vous que firewalld est installé. Dans la plupart des distributions, cela se fait à l'aide du gestionnaire de packages (par exemple, apt install firewalld sur Debian / Ubuntu, dnf install firewalld sur Fedora / Centos / Rhel).
  2. Démarrez et activez Firewalld: Démarrez le service avec systemctl start firewalld et activez-le de démarrer sur Boot avec systemctl enable firewalld .
  3. Configuration de base: firewalld utilise des "zones" pour définir différents contextes de réseau (par exemple, "public", "interne", "dmz"). Chaque zone a un ensemble de règles par défaut. Vous pouvez répertorier les zones avec firewall-cmd --get-active-zones . Pour ajouter un service, comme SSH (port 22), à la zone par défaut (généralement "public"), utilisez firewall-cmd --permanent --add-service=ssh . Pour rendre les modifications permanentes, utilisez le drapeau --permanent . Recharger le pare-feu avec firewall-cmd --reload pour appliquer les modifications.
  4. Configuration avancée: pour plus de contrôle granulaire, vous pouvez ajouter des ports spécifiques à l'aide firewall-cmd --permanent --add-port=80/tcp (pour http) ou des gammes à l'aide firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" accept' (pour autoriser le trafic à partir d'un TRAFFET spécifique).

Utilisation des iptables:

  1. Installation: iptables est généralement inclus par défaut dans la plupart des distributions Linux.
  2. Configuration de base: iptables utilise des chaînes (par exemple, INPUT , OUTPUT , FORWARD ) pour gérer les règles. Chaque règle spécifie les adresses IP source / destination, les ports, les protocoles et l'action (accepter, supprimer, rejeter). Par exemple, pour permettre les connexions SSH: iptables -A INPUT -p tcp --dport 22 -j ACCEPT .
  3. Règles de sauvegarde: les règles iptables ne sont pas persistantes à tous les redémarrages. Vous devez les enregistrer à l'aide d'un script ou d'un utilitaire comme iptables-save et de les charger au démarrage à l'aide d'un script de démarrage. La méthode exacte varie en fonction de votre distribution.
  4. Configuration avancée: iptables offre un contrôle extrêmement grainé, permettant des ensembles de règles complexes avec divers critères de correspondance et chaînes personnalisées. Cependant, cela nécessite une compréhension approfondie du réseautage et de la syntaxe iptables .

Différences clés entre le pare-feu et les iptables

La principale différence réside dans leur approche de la gestion du pare-feu. firewalld fournit une interface de niveau supérieur et conviviale construite sur iptables . Il simplifie les tâches de pare-feu commun, ce qui facilite la gestion des zones, des services et des ports. iptables , en revanche, fournit un contrôle direct et de bas niveau sur le cadre NetFilter, offrant une plus grande flexibilité mais nécessitant une expertise plus technique.

Voici un tableau résumant les principales différences:

Fonctionnalité pare-feu iptables
Interface Outil de ligne de commande avec des options conviviales Ligne de commande uniquement, syntaxe complexe
Configuration Zones, services, ports, règles riches Chaînes, règles avec des critères de correspondance spécifiques
Persistance Mécanisme de persistance intégré Nécessite une sauvegarde manuelle et un chargement au démarrage
Complexité Plus facile à apprendre et à utiliser Courbe d'apprentissage plus abrupte, plus complexe
Flexibilité Moins flexible que les iptables Très flexible, permet des règles complexes
Mises à jour dynamiques Prend en charge les mises à jour dynamiques Mises à jour manuelles requises

Configuration des règles de pare-feu spécifiques pour permettre / refuser des ports ou des services particuliers

Utilisation de Firewalld:

Pour permettre un port spécifique (par exemple, HTTP sur le port 80):

 <code class="bash">firewall-cmd --permanent --add-port=80/tcp firewall-cmd --reload</code>
Copier après la connexion

Pour nier un port spécifique (par exemple, FTP sur le port 21):

C'est moins simple avec firewalld . Vous auriez probablement besoin de créer une zone personnalisée ou d'utiliser des règles riches pour y parvenir avec précision. Généralement, firewalld est conçu pour permettre par défaut et nier explicitement.

Pour permettre un service spécifique (par exemple, SSH):

 <code class="bash">firewall-cmd --permanent --add-service=ssh firewall-cmd --reload</code>
Copier après la connexion

Utilisation des iptables:

Pour permettre un port spécifique (par exemple, HTTP sur le port 80):

 <code class="bash">iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT # If you want to allow outgoing traffic on port 80 as well. service iptables save # Save the rules (method varies by distribution)</code>
Copier après la connexion

Pour nier un port spécifique (par exemple, FTP sur le port 21):

 <code class="bash">iptables -A INPUT -p tcp --dport 21 -j DROP service iptables save # Save the rules (method varies by distribution)</code>
Copier après la connexion

Meilleures pratiques pour sécuriser votre système Linux avec un pare-feu

Que vous utilisiez firewalld ou iptables , suivez ces meilleures pratiques:

  • Principe du moindre privilège: autorisez uniquement le trafic nécessaire. Nier tous par défaut et autoriser explicitement les ports et services spécifiques.
  • Mises à jour régulières: gardez votre pare-feu et votre système d'exploitation mis à jour avec les derniers correctifs de sécurité.
  • Analyse des journaux: examinez régulièrement les journaux du pare-feu pour identifier l'activité suspecte.
  • Focus de la chaîne d'entrée: portez une attention particulière à la chaîne INPUT , car cela contrôle les connexions entrantes.
  • STATERSFULL FIRWALLS: Utilisez une inspection avec état (à la fois firewalld et iptables prennent en charge cela) pour suivre les connexions et permettre le trafic de retour.
  • Évitez les ports ouverts sauf si nécessaire: minimisez le nombre de ports ouverts exposés à Internet.
  • Utilisez une stratégie de mot de passe solide: sécurisez votre système en utilisant des mots de passe solides et en les mettant régulièrement à la mise à jour.
  • Examiner régulièrement les règles: examinez périodiquement vos règles de pare-feu pour vous assurer qu'elles sont toujours appropriées et efficaces.
  • Utilisez un DMZ séparé: si vous devez exposer des services à Internet, envisagez d'utiliser un DMZ séparé (zone démilitarisée) pour isoler ces services de votre réseau interne.
  • Envisagez des systèmes de détection / prévention des intrusions (IDS / IPS): combinez votre pare-feu avec un IDS / IPS pour une couche de sécurité supplémentaire.

N'oubliez pas de toujours tester vos règles de pare-feu dans un environnement contrôlé avant de les déployer sur un système de production. Les règles de pare-feu incorrectement configurées peuvent rendre votre système inaccessible.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal