GNU/Linux >> Tutoriels Linux >  >> Cent OS

CentOS / RHEL 7 :Guide du débutant sur le pare-feu

Présentation

– Un pare-feu de filtrage de paquets lit les paquets réseau entrants et filtre (autorise ou refuse) chaque paquet de données en fonction des informations d'en-tête du paquet. Le noyau Linux intègre une fonctionnalité de filtrage de paquets appelée Netfilter .
– Deux services sont disponibles dans RHEL 7 pour créer, maintenir et afficher les règles stockées par Netfilter :
1. pare-feu
2. iptables
– Dans RHEL 7, le service de pare-feu par défaut est firewalld.
– firewalld est un gestionnaire de pare-feu dynamique qui prend en charge les zones de pare-feu (réseau).
– Le service firewalld prend en charge IPv4, IPv6, et pour les ponts Ethernet.
– Le service firewalld fournit également une interface D-BUS. Les services ou applications utilisant déjà D-BUS peuvent ajouter ou demander des modifications aux règles de pare-feu directement via l'interface D-BUS.

Avantages par rapport à iptables

firewalld présente les avantages suivants par rapport à iptables :
1. Contrairement à la commande iptables, la commande firewall-cmd ne redémarre pas le pare-feu et n'interrompt pas les connexions TCP établies.
2. firewalld prend en charge les zones dynamiques.
3. firewalld prend en charge D-Bus pour une meilleure intégration avec les services qui dépendent de la configuration du pare-feu.

Options de configuration

Le service firewalld a deux types d'options de configuration :
1. Exécution :les modifications apportées aux paramètres du pare-feu prennent effet immédiatement mais ne sont pas permanentes. Les modifications apportées en mode de configuration d'exécution sont perdues lorsque le service firewalld est redémarré.
2. Permanent :les modifications apportées aux paramètres du pare-feu sont écrites dans les fichiers de configuration. Ces modifications sont appliquées au redémarrage du service firewalld.

Fichiers de configuration

Les fichiers de configuration pour firewalld existent dans deux répertoires :
/usr/lib/firewalld :Contient les fichiers de configuration par défaut. N'apportez aucune modification à ces fichiers. Une mise à niveau du package firewalld écrase ce répertoire.
/etc/firewalld  :Les modifications apportées aux fichiers de configuration par défaut sont stockées dans ce répertoire. Les fichiers de ce répertoire surchargent les fichiers de configuration par défaut.

zones de pare-feu

Le service firewalld vous permet de séparer les réseaux en différentes zones en fonction du niveau de confiance que vous souhaitez accorder aux appareils et au trafic au sein d'un réseau spécifique. Pour chaque zone, vous pouvez définir les fonctionnalités suivantes :
Services :Services prédéfinis ou personnalisés auxquels faire confiance. Les services de confiance sont une combinaison de ports et de protocoles accessibles depuis d'autres systèmes et réseaux.
Ports  :Ports ou plages de ports supplémentaires et protocoles associés accessibles depuis d'autres systèmes et réseaux.
Masquerading :Traduisez les adresses IPv4 en une seule adresse externe. Lorsque le masquage est activé, les adresses d'un réseau privé sont mappées et cachées derrière une adresse publique.
Transfert de port  :Transférer le trafic réseau entrant d'un port ou d'une plage de ports spécifique vers un port alternatif sur le système local ou vers un port sur une autre adresse IPv4.
Filtre ICMP  :Bloquer les messages Internet Control Message Protocol sélectionnés.
Rich Rules  :Étendre les règles de pare-feu existantes pour inclure des adresses source et de destination supplémentaires et des actions de journalisation et d'audit.
Interfaces :Interfaces réseau liées à la zone. La zone d'une interface est spécifiée avec l'ZONE=option dans /etc/sysconfig/network-scripts/ifcfg dossier. Si l'option est manquante, l'interface est liée à la zone par défaut.

Zones de pare-feu prédéfinies

Le progiciel firewalld comprend un ensemble de zones réseau prédéfinies dans le répertoire suivant :

#  ls -lrt /usr/lib/firewalld/zones/
total 36
-rw-r----- 1 root root 342 Sep 15  2015 work.xml
-rw-r----- 1 root root 162 Sep 15  2015 trusted.xml
-rw-r----- 1 root root 315 Sep 15  2015 public.xml
-rw-r----- 1 root root 415 Sep 15  2015 internal.xml
-rw-r----- 1 root root 400 Sep 15  2015 home.xml
-rw-r----- 1 root root 304 Sep 15  2015 external.xml
-rw-r----- 1 root root 291 Sep 15  2015 drop.xml
-rw-r----- 1 root root 293 Sep 15  2015 dmz.xml
-rw-r----- 1 root root 299 Sep 15  2015 block.xml

Les fichiers de zone contiennent des paramètres prédéfinis, qui peuvent être appliqués à une interface réseau. Par exemple :

# grep –i service /usr/lib/firewalld/zones/public.xml 
<service name=“ssh”/>
<service name=“dhcpv6-client”/>

Dans cet exemple, les interfaces réseau liées à la zone publique ne font confiance qu'à deux services, ssh et dhcpv6-client.

Une brève explication de chaque zone suit :
déposer :Tous les paquets réseau entrants sont abandonnés, il n'y a pas de réponse. Seules les
connexions réseau sortantes sont possibles.
bloquer :Toutes les connexions réseau entrantes sont rejetées avec un message icmp-host-prohibited pour IPv4 et icmp6-adm-prohibited pour IPv6. Seules les connexions réseau initiées depuis le système sont possibles.
accueil :Pour une utilisation à domicile. Vous faites principalement confiance aux autres ordinateurs sur les réseaux pour ne pas endommager votre ordinateur. Seules les connexions entrantes sélectionnées sont acceptées.
public :Pour une utilisation dans les lieux publics. Vous ne faites pas confiance aux autres ordinateurs du réseau pour ne pas endommager votre ordinateur. Seules les connexions entrantes sélectionnées sont acceptées.
travail :Pour une utilisation dans les zones de travail. Vous faites principalement confiance aux autres ordinateurs sur les réseaux pour ne pas endommager votre ordinateur. Seules les connexions entrantes sélectionnées sont acceptées.
dmz :pour les ordinateurs de votre zone démilitarisée qui sont accessibles au public avec un accès limité à votre réseau interne. Seules les connexions entrantes sélectionnées sont acceptées.
externe :Pour une utilisation sur des réseaux externes avec masquage activé spécialement pour les routeurs. Vous ne faites pas confiance aux autres ordinateurs du réseau pour ne pas endommager votre ordinateur. Seules les connexions entrantes sélectionnées sont acceptées.
interne :Pour une utilisation sur les réseaux internes. Vous faites principalement confiance aux autres ordinateurs sur les réseaux pour ne pas endommager votre ordinateur. Seules les connexions entrantes sélectionnées sont acceptées.
de confiance :Toutes les connexions réseau sont acceptées.

Définition de la zone de pare-feu par défaut

Après une première installation, la zone publique est la zone par défaut comme spécifié dans le fichier de configuration, /etc/firewalld/firewalld.conf .

# grep –i defaultzone /etc/firewalld/firewalld.conf 
DefaultZone=public

Les interfaces réseau sont liées à la zone par défaut, sauf indication contraire avec ZONE=[zone] dans le fichier ifcfg. La commande suivante affiche les interfaces liées à la zone publique :

# firewall-cmd --get-active-zone
public
      interfaces: eth0 eth1

Vous pouvez utiliser la commande firewall-cmd pour changer la zone par défaut :

# firewall-cmd --set-default-zone=work 
success

Vous pouvez également utiliser l'interface graphique firewall-config pour modifier la zone par défaut. Dans la barre de menus, sélectionnez Options->Modifier la zone par défaut, puis sélectionnez une zone dans une liste contextuelle.

Services de pare-feu

– Un service firewalld est une combinaison de ports locaux, de protocoles et d'adresses de destination.
– Un service firewalld peut également inclure des modules de noyau Netfilter qui sont automatiquement chargés lorsqu'un service est activé.
– Le package logiciel firewalld inclut un ensemble de services prédéfinis dans le répertoire suivant :

# ls -lrt /usr/lib/firewalld/zones/
total 36
-rw-r----- 1 root root 342 Sep 15  2015 work.xml
-rw-r----- 1 root root 162 Sep 15  2015 trusted.xml
-rw-r----- 1 root root 315 Sep 15  2015 public.xml
-rw-r----- 1 root root 415 Sep 15  2015 internal.xml
-rw-r----- 1 root root 400 Sep 15  2015 home.xml
-rw-r----- 1 root root 304 Sep 15  2015 external.xml
-rw-r----- 1 root root 291 Sep 15  2015 drop.xml
-rw-r----- 1 root root 293 Sep 15  2015 dmz.xml
-rw-r----- 1 root root 299 Sep 15  2015 block.xml

– Les services peuvent être activés pour une zone en mode Runtime.
– Les définitions de service ne peuvent être modifiées qu'en mode Permanent.

Démarrer le pare-feu

Pour démarrer firewalld :

# systemctl start firewalld

Pour vous assurer que firewalld démarre au démarrage :

# systemctl enable firewalld

Pour vérifier si firewalld est en cours d'exécution :

# systemctl status firewalld
# firewall-cmd --state

Trois méthodes pour configurer le service firewalld :
firewall-cmd  :Interface de ligne de commande
configuration du pare-feu  : Interface utilisateur graphique
– Éditer divers XML fichiers de configuration.

CentOS / RHEL 7 :Comment démarrer / Arrêter Firewalld

L'utilitaire firewall-cmd

L'outil de ligne de commande firewall-cmd fait partie de l'application firewalld, qui est installée par défaut. Pour obtenir de l'aide sur la commande firewall-cmd :

# firewall-cmd --help

La commande firewall-cmd propose des catégories d'options telles que General, Status, Permanent, Zone, IcmpType, Service, Adapt and Query Zones, Direct, Lockdown, Lockdown Whitelist et Panic. Pour répertorier les informations de toutes les zones :

# firewall-cmd --list-all-zones public (default, active)
      interfaces: eth0 eth1
      sources:
      services: dhcpv6-client ssh
      ports:
  ...

Pour autoriser l'accès des clients HTTP à la zone publique :

# firewall-cmd --zone=public --add-service=http 
success

Pour répertorier les services autorisés pour la zone publique :

# firewall-cmd --zone=work --list-services
    dhcpv6-client http ssh

L'utilisation de cette commande modifie uniquement la configuration du Runtime et ne met pas à jour les fichiers de configuration.
Les modifications de configuration effectuées en mode de configuration du Runtime sont perdues lorsque le service firewalld est redémarré :

# systemctl restart firewalld
# firewall-cmd --zone=work --list-services dhcpv6-client ssh

Pour rendre les modifications permanentes, utilisez l'option –permanent. Exemple :

# firewall-cmd --permanent --zone=public --add-service=http 
success

Les modifications apportées en mode de configuration permanente ne sont pas mises en œuvre immédiatement. Cependant, les modifications apportées à la configuration permanente sont écrites dans les fichiers de configuration. Le redémarrage du service firewalld lit les fichiers de configuration et applique les modifications. Exemple :

# systemctl restart firewalld
# firewall-cmd --zone=work --list-services 
dhcpv6-client http ssh


Cent OS
  1. Réinitialiser le mot de passe root dans CentOS 7 / RHEL 7

  2. Comment installer MariaDB sur CentOS 7 / RHEL 7

  3. CentOS / RHEL :Guide du débutant pour vsftpd (installation et configuration)

  4. Guide du débutant pour le montage automatique des systèmes de fichiers dans CentOS / RHEL

  5. Guide du débutant sur NFS dans CentOS / RHEL

RHEL 8 / CentOS 8 ouvre le port FTP 21 avec pare-feu

RHEL 8 / CentOS 8 récupèrent le mot de passe root

Comment installer MariaDB sur CentOS 8 / RHEL 8

Comment installer MariaDB sur CentOS 6 / RHEL 6

CentOS / RHEL 7 :Comment réinitialiser le mot de passe root

CentOS / RHEL 7 :Guide du débutant sur les unités de service systemd