Version Firewalld 1.0

Une version du pare-feu à contrôle dynamique firewalld 1.0 est présentée, implémentée sous la forme d'un wrapper sur les filtres de paquets nftables et iptables. Firewalld s'exécute comme un processus en arrière-plan qui vous permet de modifier dynamiquement les règles de filtrage de paquets via D-Bus sans avoir à recharger les règles de filtrage de paquets ni à rompre les connexions établies. Le projet est déjà utilisé dans de nombreuses distributions Linux, notamment RHEL 7+, Fedora 18+ et SUSE/openSUSE 15+. Le code firewalld est écrit en Python et est sous licence GPLv2.

Pour gérer le pare-feu, on utilise l'utilitaire pare-feu-cmd qui, lors de la création de règles, n'est pas basé sur les adresses IP, les interfaces réseau et les numéros de port, mais sur les noms de services (par exemple, pour ouvrir l'accès à SSH, vous devez exécutez « firewall-cmd —add —service= ssh », pour fermer SSH – « firewall-cmd –remove –service=ssh »). Pour modifier la configuration du pare-feu, l'interface graphique pare-feu-config (GTK) et l'applet pare-feu-applet (Qt) peuvent également être utilisées. La prise en charge de la gestion du pare-feu via le pare-feu API D-BUS est disponible dans des projets tels que NetworkManager, libvirt, podman, docker et fail2ban.

Un changement significatif dans le numéro de version est associé à des modifications qui rompent la compatibilité ascendante et modifient le comportement de travail avec les zones. Tous les paramètres de filtrage définis dans la zone sont désormais appliqués uniquement au trafic adressé à l'hôte sur lequel firewalld est exécuté, et le filtrage du trafic de transit nécessite la définition de politiques. Les changements les plus notables :

  • Le backend qui lui permettait de fonctionner sur iptables a été déclaré obsolète. La prise en charge d'iptables sera maintenue dans un avenir prévisible, mais ce backend ne sera pas développé.
  • Le mode de transfert intra-zone est activé et activé par défaut pour toutes les nouvelles zones, permettant la libre circulation des paquets entre les interfaces réseau ou les sources de trafic au sein d'une zone (publique, bloc, fiable, interne, etc.). Pour rétablir l'ancien comportement et empêcher le transfert des paquets dans une zone, vous pouvez utiliser la commande « firewall-cmd –permanent –zone public –remove-forward ».
  • Les règles liées à la traduction d'adresses (NAT) ont été déplacées vers la famille de protocoles « inet » (précédemment ajoutée aux familles « ip » et « ip6 », ce qui entraînait la nécessité de dupliquer les règles pour IPv4 et IPv6). Le changement nous a permis de supprimer les doublons lors de l'utilisation d'ipset - au lieu de trois copies des entrées ipset, une seule est désormais utilisée.
  • L'action "par défaut" spécifiée dans le paramètre "--set-target" est désormais équivalente à "rejeter", c'est-à-dire tous les paquets qui ne répondent pas aux règles définies dans la zone seront bloqués par défaut. Une exception est faite uniquement pour les paquets ICMP, qui sont toujours autorisés. Pour renvoyer l'ancien comportement de la zone « de confiance » accessible au public, vous pouvez utiliser les règles suivantes : firewall-cmd —permanent —new-policyallowForward firewall-cmd —permanent —policyallowForward —set-target ACCEPT firewall-cmd —permanent — stratégie allowForward — ajout d'une zone d'entrée pare-feu public-cmd — permanent — stratégie AllowForward — ajout d'une zone de sortie fiable pare-feu-cmd — rechargement
  • Les politiques de priorité positive sont désormais exécutées immédiatement avant l'exécution de la règle « --set-target catch-all », c'est-à-dire au moment avant d'ajouter les règles finales de dépôt, de rejet ou d'acceptation, y compris pour les zones qui utilisent « --set-target drop|reject|accept ».
  • Le blocage ICMP s'applique désormais uniquement aux paquets entrants adressés à l'hôte actuel (entrée) et n'affecte pas les paquets redirigés entre les zones (forward).
  • Le service client tftp, conçu pour suivre les connexions pour le protocole TFTP, mais qui était sous une forme inutilisable, a été supprimé.
  • L'interface « directe » est obsolète, permettant d'insérer directement des règles de filtrage de paquets prêtes à l'emploi. Le besoin de cette interface a disparu après l'ajout de la possibilité de filtrer les paquets redirigés et sortants.
  • Ajout du paramètre CleanupModulesOnExit, qui est remplacé par « non » par défaut. En utilisant ce paramètre, vous pouvez contrôler le déchargement des modules du noyau après l'arrêt de firewalld.
  • Autorisé à utiliser ipset lors de la détermination du système cible (destination).
  • Ajout de définitions pour les services WireGuard, Kubernetes et netbios-ns.
  • Implémentation de règles d'auto-complétion pour zsh.
  • La prise en charge de Python 2 a été interrompue.
  • La liste des dépendances a été raccourcie. Pour que firewalld fonctionne, en plus du noyau Linux, les seules bibliothèques python dbus, gobject et nftables sont désormais requises, et les packages ebtables, ipset et iptables sont classés comme facultatifs. Le décorateur et le slip des bibliothèques Python ont été supprimés des dépendances.

Source: opennet.ru

Ajouter un commentaire