Datasheet/Firewalld

De TartareFR
Version datée du 17 septembre 2016 à 07:38 par Didier (discussion | contributions) (→‎Commandes de modification)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

__NOTITLE__

Logo Wiki Didier

Firewalld

Gestion du firewall

Introduction

Firewalld est une surcouche aux outils netfilter traditionnels: iptables, ip6tables et ebtables qui permet une gestion dynamique des règles, c'est à dire que les règles sont appliquées sans le redémarrage complet du parefeu. Les règles existantes restent donc en place, et les modules noyaux complémentaires utilisés ne sont pas déchargés.

Avec iptables en direct, il fallait soit ré-appliquer l'ensemble des règles, soit appliqué la modification au runtime (non triviale car les règles sont forcément empilées par le dessus), puis aux fichiers pour le prochain redémarrage.

Avec firewalld, il n'y a plus de période (très courte) sans protection, ni de rupture dans le suivi des connexions (related established)

Warning.png
Utilisation des outils traditionnels netfiter
L'utilisation de FirewallD implique que les commandes <app>iptables</app>, <app>ip6tables</app> et <app>ebtables</app> ne soient plus utilisées directement.
De plus les fichiers <path>/etc/sysconfig/iptables</path>, <path>/etc/sysconfig/ip6tables</path> et <path>/etc/sysconfig/ebtables<chain></path> ne sont plus utilisés.

Les fichiers de configurations:

  • configuration par défaut dans des fichiers au format XML dans le répertoire <path>/usr/lib/firewalld</path>. Ils sont susceptibles d'être modifiés par une mise à jour.
  • configuration effectuée par l'administrateur ou les utilisateurs dans le répertoire <path>/etc/firewalld</path>.

Les zones

FirewallD intègre une notion de zones de réseaux.

  • A chaque zone de réseau est associé un ensemble de services réseaux accessibles de l'extérieur, suivant la confiance que l'on accorde à cet "extérieur".
  • Les interfaces réseaux (ifaces) peuvent être affectées à une zone de réseau.
Important.png
Par défaut, le trafic sortant est toujours autorisé ainsi que les connexions déja établies
Seules les caractéristiques du trafic entrant seront à préciser.

Détails des zones:

  • trusted (non modifiable): un vLAN dédié considéré comme totalement fiable (Réseau dédié pour du RAID sur IP, etc...).
  • home: un LAN considéré comme partielement fiable
  • work: un autre LAN considéré comme partielement fiable
  • internal: un autre LAN considéré comme partielement fiable
  • dmz: une DMZ très peu fiable (sans DHCP)
  • public: un réseau non fiable
  • external: un réseau non fiable (sans DHCP)
  • block (non modifiable): l'intégralité du traffic est bloqué (reject)
  • drop (non modifiable): l'intégralité du traffic est ignoré (drop)


Les commandes

Certaines commandes n'ont pas de sortie, il faut donc analyser le code de retour.

Commandes de statut

  • Statut du firewall
    firewall-cmd --state
  • Obtenir la zone par défaut
    firewall-cmd --get-default-zone
  • Obtenir la zone courante
    firewall-cmd --get-active-zone
  • Obtenir la zone associé à l'interfcae réseau eth0
    firewall-cmd --get-zone-of-interface=eth0
  • Lister les services autorisés pour la zone public
    firewall-cmd --zone=public --list-services

Commandes de modification

Les commandes persistantes doivent être suivi d'un rechargement du service (reload)

  • Reload du firewall (sans perte d'information sur le suivi de connexion)
    firewall-cmd --reload
  • Ouvrir le firewall (runtime only) pour les connexions http
    firewall-cmd --add-service=smtp
  • Ouvrir le firewall (runtime et persistant) pour les connexions http
    firewall-cmd --persistant --add-service=smtp
  • Fermer le firewall (runtime et persistant) pour les connexions http
    firewall-cmd --persistant --remove-service=smtp
  • Ouvrir le firewall (runtime et persistant) pour les connexions sur le port TCP 8080
    firewall-cmd --persistant --add-port=8080/tcp
  • Bloquer une adresse en particulier (runtime et persistant)
    firewall-cmd --persistant --add-rich-rule="rule family=ipv4 source address=115.0.0.0/8 drop"

Liens