====== Firewalld ====== ===== Listes des zones ===== * Drop zone: Tous les paquets entrants sont drop. Seul le trafic sortant est autorisé * Block zone: Tous les paquets entrants sont rejetés avec un  « icmp-host-prohibited ». Seules les connections établies sont autorisées. * Public zone: Accepte les connections définies. Les autres sont refusés. * External zone: Cette zone agit comme un routeur avec du NAT. Seules les connections définies sont autorisées. * DMZ zone: Si l’on a besoin de rendre disponible certains services par tout le monde, c’est cette zone qu’il faut utiliser. Seules les connections définies sont autorisées. * Work zone: On peut définir que le trafic privé et interne. * Home zone: Cette zone est pour les zones de confiances où les machines du réseau sont de confiance. Seules les connections entrantes définies sont autorisées. * Internal zone: Comme la Work zone avec seules les connections définies autorisées. * Trusted zone: Tout le trafic est autorisé. ===== Commandes pour les zones ===== ==== Liste de zone ==== * Voir les zones : firewall-cmd --get-zones * Voir la zone par defaut: firewall-cmd --get-default-zone * Voir les règles de toutes les zones : firewall-cmd --list-all-zones * Définir la zone par défaut : firewall-cmd --set-default-zone=internal * Voir la zone d’une interface: firewall-cmd --get-zone-of-interface=enp0s3 ==== Services ==== * Voir les services: firewall-cmd --get-services * Répertoire des services : /usr/lib/firewalld/services/ * Créer son service depuis un existant cd /etc/firewalld/services/ cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ cd /etc/firewalld/services/ vim ssh.xml firewall-cmd --reload ==== FirewallD management ==== * Voir l’état du firewall : firewall-cmd --state firewall-cmd --get-active-zones * Ajout d’un service à une zone temporairement: firewall-cmd –zone=public --add-service=rtmp * Suppression d’un service d’une zone : firewall-cmd --zone=public --remove-service=rtmp * Ajout d’un service à une zone de manière permanente : firewall-cmd --add-service=rtmp --permanent firewall-cmd --reload * Ajout d’une source et d’un port à une zone : firewall-cmd --permanent --add-source=192.168.0.0/24 firewall-cmd --permanent --add-port=1935/tcp firewall-cmd --reload firewall-cmd --list-all * Autoriser un réseau à acceder à un service de manière temporaire ou permanente : firewall-cmd --add-rich-rule 'rule family="ipv4" source \ address="192.168.0.0/24" service name="http" accept' firewall-cmd --add-rich-rule 'rule family="ipv4" source \ address="192.168.0.0/24" service name="http" accept' –permanent firewall-cmd --reload firewall-cmd --list-all * Des/Activation du mode panic: firewall-cmd --panic-on firewall-cmd --panic-off * Voir/Ajout du NAT à la zone external : firewall-cmd --zone=external --query-masquerade firewall-cmd --zone=external --add-masquerade * Ajout d’une règle de port forwarding: firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=2222:toaddr=192.168.0.132 * Voir les types d’icmp: firewall-cmd --get-icmptypes * Voir l’état du blocage d’une requête icmp : firewall-cmd --zone=public --query-icmp-block=echo-reply * Bloquer un type de requête icmp: firewall-cmd --zone=public --add-icmp-block=echo-reply * Voir/Créer/Supprimer un règle direct: firewall-cmd --direct --get-rules ipv4 filter IN_public_allow firewall-cmd --direct --add-rule ipv4 filter IN_public_allow 0 -m tcp -p tcp --dport 25 -j ACCEPT firewall-cmd --direct --remove-rule ipv4 filter IN_public_allow 0 -m tcp -p tcp --dport 25 -j ACCEPT * Activer le lockdown: vim /etc/firewalld/firewalld.conf Lockdown=yes firewall-cmd --lockdown-on firewall-cmd --lockdown-off * Ajout d’une IP en trusted firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.254" accept' * Blacklist d’une IP firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.250" reject' firewall-cmd --zone=public --list-all