:.     Home     .:.     Cours     .:.     Faits divers     .:.     Blagues     .:.     Liens     .:.     Perso     .:

 

Linux Firewalld

 

Cela fait déjà plusieurs années que Firewalld existe sous Linux, mais un nombre impressionnant de sysadmins font la grève en le désactivant pour rester fidèle à iptables.

J'aimerais bien faire aussi la grève, mais comme je ne suis pas maître de tous les environnements que j'administre, je suis bien obligé de m'y mettre.

Je livre donc quelques éléments intéressants de mes interactions avec Firewalld.

1- Généralités


2- Ajout/suppression de règles


2.1 - Changement de la zone par défaut

firewall-cmd --set-default-zone=autrezone

Vérifier avec la commande : firewall-cmd --get-default-zone


2.2 - Ajouter un service

firewall-cmd --permanent --add-service=http

firewall-cmd --permanent --add-service=http

firewall-cmd --reload

Autorisation de http et https.

Pour lister tous les services qu'on peut spécifier, on peut utiliser la commande :

firewall-cmd --get-services


2.3 - Ajouter un port

firewall-cmd --permanent --zone=public --add-port=2500-2600/tcp

firewall-cmd --reload

Autorisation des ports 2500 à 2600 sur tcp.

firewall-cmd --permanent --remove-port=9445/tcp


2.4 - Ajouter une règle riche

firewall-cmd --permanent --zone=public --add-rich-rule='

rule family="ipv4"

source address="10.10.1.8"

port protocol="tcp"

port=1000-1010

accept'

firewall-cmd --reload

La source 10.10.1.8 aura le droit d'accéder aux ports 1000 à 1010.

Exemple :

firewall-cmd --permanent --zone=public --remove-rich-rule='rule family="ipv4" source address="10.10.22.130/32" port protocol="tcp" port=9443 accept'


2.5 - Ajouter une zone et l'utiliser

firewall-cmd --new-zone=tsmp --permanent

firewall-cmd --permanent --zone=secours --add-source=10.10.1.8

firewall-cmd --permanent --zone=secours --add-port=1581/tcp

On crée la zone secours, puis on ajoute la source 10.10.1.8 dans la zone, enfin on ajoute le port 1581 en tcp.

Ce qui a pour effet d'autoriser la machine 10.10.1.8 à se connecter au port 1581 en tcp.


2.6 - Ajouter directement du iptabes

firewall-cmd --permanent --direct --add-rule ipv4 nat POSTROUTING 0 -o ens160 -j MASQUERADE

firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p tcp -m multiport --dport 25,587 -s 132.207.0.0/16 -j ACCEPT

Pour afficher toutes les règles directes:

firewall-cmd --direct --get-all-rules

Pour supprimer une règle directe:

firewall-cmd --permanent --direct --remove-rule ipv4 filter INPUT 10 -p tcp --dport 7995 -s 132.207.23.22 -j ACCEPT


3 - Afficher des règles

firewall-cmd --list-ports

firewall-cmd --list-services

firewall-cmd --list-rich

firewall-cmd --zone=public --list-all

firewall-cmd --list-all-zones


4 - Remplacer firewalld par iptables

Vérifier le statut de firewalld :

systemctl status firewalld.service

Arrêter firewalld :

systemctl stop firewalld.service

Vérifier le statut de firewalld :

systemctl status firewalld.service

Désactiver pour le démarrage :

systemctl disable firewalld.service

Installer iptables si ce n'est pas encore fait :

yum -y install iptables-services

Activer iptables :

systemctl enable iptables

Démarrer iptables :

systemctl start iptables

Vérifier les règles de firewall

iptables-save

Masquer firewalld pour éviter même un démarrage manuel :

systemctl mask firewalld.service


Sources :

https://linode.com/docs/security/firewalls/introduction-to-firewalld-on-centos/

https://www.rootusers.com/how-to-disable-the-firewall-in-centos-7-linux/



L'information, n'est-elle pas précieuse ? Partageons la tous ensemble !

 © Février 2020
Roger YERBANGA
www.yerbynet.com