Firewalld est un outil de gestion de pare-feu utilisé pour autoriser ou refuser la connexion au système Linux. Il fournit un ensemble de règles pour contrôler le trafic entrant. Firewalld agit comme frontal pour le noyau Linux Netfilter.
La configuration permanente est chargée à partir de fichiers XML dans `/usr/lib/firewalld` ou `/etc/firewalld`
Dans cet article, nous allons installer et utiliser firewalld. Je vais également vous montrer comment utiliser des règles enrichies.
Installer le pare-feu dans CentOS / RHEL
Firewalld est livré avec l'installation de base de Redhat ou Centos. S'il n'y en a pas, vous pouvez l'installer des manières suivantes.
Sur RHEL 7.X ou centos 7.X installé par,
$ sudo yum install firewalld -y
Sur RHEL 7.X ou centos 8.X installé par,
$ sudo dnf install firewalld -y
Pour démarrer le service,
$ sudo systemctl start firewalld
Pour activer le service firewalld,
$ sudo systemctl enable firewalld
Vérifiez l'état du pare-feu,
$ systemctl status firewalld
Firewalld est livré avec différentes zones prédéfinies également appelées niveau de confiance. Les zones sont essentiellement des groupes gérés qui ont un ensemble de règles. Cependant, les règles ne sont pas prédéfinies. Par exemple, vous pouvez définir une zone "publique" qui contient des ports d'hébergement publics, tandis que la zone "home" autorise les connexions ssh. Pour répertorier les zones dans firewalld, utilisez la commande suivante,
$ sudo firewall-cmd --get-zones
Pour voir la zone active parmi les zones utilisées,
$ sudo firewall-cmd --get-active-zone
Maintenant, ajoutons quelques ports pour autoriser le trafic dans notre système. Pour ajouter un port tcp, vous devez taper ce qui suit. N'oubliez pas d'ajouter l'option –permanent sinon, votre règle ne sera pas persistante lors du rechargement/redémarrage du pare-feu.
$ sudo firewall-cmd --add-port=443/tcp --permanent
De même, vous pouvez également autoriser le port UDP,
$ sudo firewall-cmd --add-port=161/udp --permanent
Vous pouvez également autoriser des services tels que DNS, HTTP. Il autorisera le port par défaut du service. Par exemple,
$ sudo firewall-cmd --add-service=http --permanent
Après avoir ajouté le service de pare-feu de port/rechargement à prendre en compte
$ sudo firewall-cmd --reload
Vérifiez en utilisant,
$ sudo firewall-cmd --list-all
N'oubliez pas :Lorsque vous n'ajoutez aucune zone, la règle sera ajoutée à la zone "publique" par défaut.
Pour supprimer le port du pare-feu, vous pouvez utiliser,
$ sudo firewall-cmd --remove-port=443/tcp --permanent
Pour supprimer le service du pare-feu, vous pouvez utiliser,
$ sudo firewall-cmd --remove-service=http --permanent
N'oubliez pas de recharger le pare-feu après avoir ajouté ou supprimé le port/les services.
Règles enrichies
Les règles enrichies fournissent des options plus granulaires aux règles de pare-feu. Ils sont utilisés pour configurer la redirection de port, la limitation du débit, la journalisation, etc.
Par exemple, pour accepter une connexion ssh à partir d'une seule adresse IP, par exemple 192.168.10.25, vous devez ajouter une règle riche en spécifiant la version IP, l'adresse source, le port et le protocole.
$ sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.10.25/32" port protocol="tcp" port="22" accept'
De la même manière, vous pouvez supprimer toutes les sources IP d'un réseau entier pour ne pas autoriser 22 ports comme ci-dessous,
$ sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.15.0/24" port protocol="tcp" port="22" drop'
Pour autoriser les nouvelles connexions IPv4 à partir de l'adresse 192.168.0.0/24 pour le service tftp et enregistrer 1 par minute à l'aide de syslog, vous pouvez le faire,
sudo firewall-cmd --permanent --zone=public --add-rich-rule=’rule family="ipv4" source address="192.168.0.0/24" service name="tftp" log prefix="tftp" level="info" limit value="1/m" accept’
Désinstaller firewalld
Si vous souhaitez supprimer le démon de pare-feu de CentOS / RHEL, arrêtez le service en cours d'exécution,
$ sudo systemctl stop firewalld
Sur RHEL 7.X ou Centos 7.X
$ sudo yum remove firewalld -y
Sur RHEL 8.X ou Centos 8.X
$ sudo dnf remove firewalld -y
Conclusion
Nous espérons que cet article vous aidera à augmenter la sécurité de votre système Linux. Notez que le pare-feu basé sur l'hôte comme firewalld est recommandé par des conformités comme PCI DSS.
Merci d'avoir lu.