RHCSA Series Firewall Essentials and Network Traffic Control Using Firewalld and Iptables - Partie 11

RHCSA Series Firewall Essentials and Network Traffic Control Using Firewalld and Iptables - Partie 11

En termes simples, un pare-feu est un système de sécurité qui contrôle le trafic entrant et sortant dans un réseau basé sur un ensemble de règles prédéfinies (telles que la destination / source de paquets ou le type de trafic, par exemple).

RHCSA: Contrôler le trafic du réseau avec Firewalld et Iptables - Partie 11

Dans cet article, nous passerons en revue les bases de pare-feu, le démon de pare-feu dynamique par défaut dans Red Hat Enterprise Linux 7, et iptables Service, The Legacy Firewall Service pour Linux, avec lequel la plupart des administrateurs de systèmes et de réseaux connaissent bien et qui est également disponible en Rhel 7.

Une comparaison entre le pare-feu et les iptables

Sous le capot, les deux pare-feu et le iptables Service Parlez au netfilter Framework dans le noyau à travers la même interface, sans surprise, la commande iptables. Cependant, par opposition au service iptable, le Firewalld peut modifier les paramètres pendant le fonctionnement du système normal sans que les connexions existantes soient perdues.

Pare-feu doit être installé par défaut dans votre système RHEL, bien qu'il ne soit pas en cours d'exécution. Vous pouvez vérifier avec les commandes suivantes (pare-feu est l'outil de configuration de l'interface utilisateur):

# Yum info Firewalld Firewall-Config 
Vérifiez les informations sur le monde-feu

et,

# SystemCTL Status -L Firewalld.service 
Vérifiez le statut de Firewalld

D'un autre côté, le iptables Le service n'est pas inclus par défaut, mais peut être installé via.

# yum Update && yum install iptables-services 

Les deux démons peuvent être démarrés et permis de démarrer sur le démarrage avec l'habituel systemd Commandes:

# SystemCTL Start Firewalld.Service | service iptables.Service # SystemCTL Activer Firewalld.Service | service iptables.service 

Lisez également: Commandes utiles pour gérer les services SystemD

Quant aux fichiers de configuration, le service iptable utilise / etc / sysconfig / iptables (qui n'existera pas si le package n'est pas installé dans votre système). Sur une boîte RHEL 7 utilisée comme nœud de cluster, ce fichier ressemble comme suit:

Configuration du pare-feu iptables

Alors que Firewalld stockent sa configuration sur deux répertoires, / usr / lib / pare-feu et / etc / pare-feu:

# LS / USR / LIB / Firewalld / etc / Firewalld 
Configuration de Firewalld

Nous examinerons ces fichiers de configuration plus tard dans cet article, après avoir ajouté quelques règles ici et là. Il suffira maintenant de vous rappeler que vous pouvez toujours trouver plus d'informations sur les deux outils avec.

# homme pare-feu.confr # manders à feu de feux-cmd # homme iptables 

En dehors de cela, n'oubliez pas de consulter la révision des commandes essentielles et de la documentation système - partie 1 de la série actuelle, où j'ai décrit plusieurs sources où vous pouvez obtenir des informations sur les packages installés sur votre Rhel 7 système.

Utilisation des iptables pour contrôler le trafic réseau

Vous voudrez peut-être vous référer à la configuration du pare-feu iptables - partie 8 du Ingénieur certifié de la Fondation Linux (LFCE) série pour rafraîchir votre mémoire sur iptables internes avant de poursuivre. Ainsi, nous pourrons sauter dans les exemples.

Exemple 1: Permettre à la fois un trafic Web entrant et sortant

Ports TCP 80 et 443 sont les ports par défaut utilisés par le serveur Web Apache pour gérer la normale (Http) et sécurisé (Https) trafic Web. Vous pouvez autoriser le trafic Web entrant et sortant via les deux ports sur le ENP0S3 Interface comme suit:

# iptables -a entrée -I ENP0S3 -P TCP --DPORT 80 -M STATE --STATE NOUVEAU, ENTÉRIELLE -J Accept # iptables -a sortie -o ENP0S3 -P TCP - SPORT 80 -M STATE - État établi - J accepter # iptables -a entrée -i enp0s3 -p tcp --dport 443 -m état --state new, établi -j accepter # iptables -a sortie -o enp0s3 -p tcp - sport 443 -m state --state Établi -J accepter 
Exemple 2: bloquer tous (ou certains) connexions entrantes à partir d'un réseau spécifique

Il peut y avoir des moments où vous devez bloquer tout (ou un certain) type de trafic provenant d'un réseau spécifique, disons 192.168.1.0/24 Par exemple:

# iptables -i entrée -s 192.168.1.0/24 -J Drop 

déposera tous les packages provenant du 192.168.1.0/24 réseau, alors que,

# iptables -a entrée -s 192.168.1.0/24 --DPORT 22 -J accepter 

ne permettra que le trafic entrant par le port 22.

Exemple 3: Rediriger le trafic entrant vers une autre destination

Si vous utilisez votre Rhel 7 Box non seulement en tant que pare-feu logiciel, mais aussi en tant que réel basé sur le matériel, de sorte qu'il se situe entre deux réseaux distincts, le transfert IP doit avoir déjà été activé dans votre système. Sinon, vous devez modifier / etc / sysctl.confli et définir la valeur de filet.ipv4.ip_forward pour 1, comme suit:

filet.ipv4.ip_forward = 1 

Ensuite, enregistrez la modification, fermez votre éditeur de texte et exécutez enfin la commande suivante pour appliquer le changement:

# sysctl -p / etc / sysctl.confli 

Par exemple, vous pouvez avoir une imprimante installée dans une boîte interne avec IP 192.168.0.dix, avec le Tasses Écoute de service sur le port 631 (à la fois sur le serveur d'impression et sur votre pare-feu). Afin de transmettre les demandes d'impression des clients de l'autre côté du pare-feu, vous devez ajouter la règle iptables suivante:

# iptables -t nat -a pré -out -i enp0s3 -p tcp --dport 631 -j dnat --to 192.168.0.10: 631 

Veuillez garder à l'esprit que iptables Lit sur ses règles séquentiellement, alors assurez-vous que les politiques par défaut ou les règles ultérieures ne remplacent pas celles décrites dans les exemples ci-dessus.

Commencer avec le pare-feu

L'un des changements introduits avec pare-feu sont zones. Ce concept permet de séparer les réseaux en différentes zones de confiance de la confiance que l'utilisateur a décidé de placer sur les appareils et le trafic dans ce réseau.

Pour répertorier les zones actives:

# pare-feu-CMD --get-active-zones 

Dans l'exemple ci-dessous, le zone publique est actif, et le ENP0S3 L'interface lui a été attribuée automatiquement. Pour afficher toutes les informations sur une zone particulière:

# pare-feu-cmd --zone = public - list-all 
Liste toutes les zones de tout le feu de feu

Puisque vous pouvez en savoir plus sur zones Dans le Guide de sécurité RHEL 7, nous ferons uniquement des exemples spécifiques ici.

Exemple 4: Autoriser les services via le pare-feu

Pour obtenir une liste des services pris en charge, utilisez.

# pare-feu-CMD --get-Services 
Énumérez tous les services pris en charge

Autoriser http et https Le trafic Web à travers le pare-feu, en vigueur immédiatement et sur les bottes suivantes:

# Firewall-Cmd --zone = MyZone --Add-Service = Http # Firewall-Cmd --zone = MyZone --permanent --Add-Service = Http # Firewall-Cmd --zone = MyZone --Add-Service = HTTPS # Firewall-Cmd --zone = MyZone --permanent --Add-Service = HTTPS # Firewall-CMD - Reload 

Si le code> -zone est omis, la zone par défaut (vous pouvez vérifier avec Firewall-CMD -get-default-Zone) est utilisé.

Pour supprimer la règle, remplacez le mot ajouter par supprimer dans les commandes ci-dessus.

Exemple 5: transfert IP / port

Tout d'abord, vous devez savoir si le masquage est activé pour la zone souhaitée:

# pare-feu-cmd --zone = myZone --Query-masquerade 

Dans l'image ci-dessous, nous pouvons voir que masquée est activé pour le zone externe, mais pas pour public:

Vérifier l'état de la mascarade

Vous pouvez soit activer le public pour le public:

# pare-feu-cmd --zone = public --add-masquerade 

ou utiliser la mascarade dans externe. Voici ce que nous ferions pour reproduire Exemple 3 avec pare-feu:

# pare-feu-cmd --zone = external --add-forward-port = port = 631: proto = tcp: toport = 631: toaddr = 192.168.0.dix 

Et n'oubliez pas de recharger le pare-feu.

Vous pouvez trouver d'autres exemples sur la partie 9 de la série RHCSA, où nous avons expliqué comment autoriser ou désactiver les ports qui sont généralement utilisés par un serveur Web et un serveur FTP, et comment modifier la règle correspondante lorsque le port par défaut pour les services sont modifiés. De plus, vous voudrez peut-être vous référer au wiki du monde-feu pour d'autres exemples.

Lisez également: Exemples utiles pour le ballon pour configurer le pare-feu dans RHEL 7

Conclusion

Dans cet article, nous avons expliqué ce qu'un pare-feu est, quels sont les services disponibles pour implémenter un dans Rhel 7, et a fourni quelques exemples qui peuvent vous aider à démarrer avec cette tâche. Si vous avez des commentaires, des suggestions ou des questions, n'hésitez pas à nous faire savoir en utilisant le formulaire ci-dessous. Merci d'avance!