Comment restreindre l'accès au réseau à l'aide de FirewallD
En tant qu'utilisateur Linux, vous pouvez choisir d'autoriser ou de restreindre l'accès réseau à certains services ou adresses IP à l'aide du pare-feu firewalld qui est natif de CentOS/RHEL 8 et de la plupart des RHEL. distributions basées sur Fedora.
Le pare-feu firewalld utilise l'utilitaire de ligne de commande firewall-cmd pour configurer les règles de pare-feu.
Avant de pouvoir effectuer des configurations, activons d'abord le service firewalld à l'aide de l'utilitaire systemctl comme indiqué :
sudo systemctl enable firewalld
Une fois activé, vous pouvez maintenant démarrer le service firewalld en exécutant :
sudo systemctl start firewalld
Vous pouvez vérifier l'état de firewalld en exécutant la commande :
sudo systemctl status firewalld
Le résultat ci-dessous confirme que le service firewalld est opérationnel.
Configuration des règles à l'aide de Firewalld
Maintenant que firewalld est en cours d'exécution, nous pouvons procéder directement à certaines configurations. Firewalld vous permet d'ajouter et de bloquer des ports, des listes noires et des adresses IP sur liste blanche pour fournir l'accès au serveur. Une fois les configurations terminées, assurez-vous toujours de recharger le pare-feu pour que les nouvelles règles prennent effet.
Ajout d'un port TCP/UDP
Pour ajouter un port, par exemple le port 443 pour HTTPS, utilisez la syntaxe ci-dessous. Notez que vous devez spécifier si le port est un port TCP ou UDP après le numéro de port :
sudo firewall-cmd --add-port=22/tcp --permanent
De même, pour ajouter un port UDP, spécifiez l'option UDP comme indiqué :
sudo firewall-cmd --add-port=53/udp --permanent
L'indicateur --permanent
garantit que les règles persistent même après un redémarrage.
Bloquer un port TCP/UDP
Pour bloquer un port TCP, comme le port 22, exécutez la commande.
sudo firewall-cmd --remove-port=22/tcp --permanent
De même, le blocage d'un port UDP suivra la même syntaxe :
sudo firewall-cmd --remove-port=53/udp --permanent
Autoriser un service
Les services réseau sont définis dans le fichier /etc/services. Pour autoriser un service tel que https, exécutez la commande :
sudo firewall-cmd --add-service=https
Bloquer un service
Pour bloquer un service, par exemple FTP, exécutez :
sudo firewall-cmd --remove-service=https
Mettre une adresse IP sur liste blanche
Pour autoriser une seule adresse IP à travers le pare-feu, exécutez la commande :
sudo firewall-cmd --permanent --add-source=192.168.2.50
Vous pouvez également autoriser une plage d'adresses IP ou un sous-réseau entier à l'aide d'une notation CIDR (Classless Inter-Domain Routing). Par exemple, pour autoriser un sous-réseau entier dans le sous-réseau 255.255.255.0, exécutez.
sudo firewall-cmd --permanent --add-source=192.168.2.0/24
Supprimer une adresse IP sur liste blanche
Si vous souhaitez supprimer une adresse IP en liste blanche sur le pare-feu, utilisez l'indicateur --remove-source
comme indiqué :
sudo firewall-cmd --permanent --remove-source=192.168.2.50
Pour l'ensemble du sous-réseau, exécutez :
sudo firewall-cmd --permanent --remove-source=192.168.2.50/24
Bloquer une adresse IP
Jusqu'à présent, nous avons vu comment ajouter et supprimer des ports et des services, ainsi que mettre sur liste blanche et supprimer des adresses IP sur liste blanche. Pour bloquer une adresse IP, des « règles riches » sont utilisées à cet effet.
Par exemple pour bloquer l'IP 192.168.2.50 exécutez la commande :
sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.2.50' reject"
Pour bloquer l'intégralité du sous-réseau, exécutez :
sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.2.0/24' reject"
Enregistrement des règles de pare-feu
Si vous avez apporté des modifications aux règles de pare-feu, vous devez exécuter la commande ci-dessous pour que les modifications soient appliquées immédiatement :
sudo firewall-cmd --reload
Affichage des règles de pare-feu
Pour consulter toutes les règles du pare-feu, exécutez la commande :
sudo firewall-cmd --list-all
Ceci conclut ce guide sur la façon d'autoriser ou de restreindre l'accès au réseau à l'aide de FirewallD sur CentOS/RHEL 8. Nous espérons que vous avez trouvé ce guide utile.