GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer un pare-feu avec Firewalld sur CentOS 8

Un pare-feu est un moyen de protéger votre système contre le trafic indésirable provenant de réseaux extérieurs. Les outils de pare-feu gratuits et commerciaux sont nombreux; certains d'entre eux incluent Iptables, UFW, Juniper, pfSense, SonicWall, etc.

Parmi eux, FirewallD est un outil logiciel de pare-feu gratuit pour le système d'exploitation CentOS/RHEL/Fedora. Il s'agit d'un contrôleur frontal pour iptables et fournit une interface de ligne de commande pour implémenter des règles de pare-feu. Par rapport à Iptables, FirewallD utilise des zones et des services au lieu de chaînes et de règles et gère les ensembles de règles de manière dynamique. FirewallD fournit l'outil de ligne de commande firewall-cmd pour gérer l'exécution et la configuration permanente.

Caractéristiques

  • Compatible avec les protocoles IPv4 et IPv6
  • Liste des zones prédéfinies
  • CLI et configuration graphique
  • API D-Bus complète
  • Pont Ethernet
  • Journal simple des paquets refusés
  • Liste blanche des applications
  • Intégration de marionnettes

Dans ce tutoriel, nous allons apprendre à configurer un pare-feu avec FirewallD sur CentOS 8.

Prérequis

  • Un nouveau VPS CentOS 8 sur la plate-forme cloud Atlantic.Net
  • Un mot de passe root configuré sur votre serveur

Étape 1 :Créer un serveur cloud Atlantic.Net

Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant CentOS 8 comme système d'exploitation avec au moins 1 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.

Une fois que vous êtes connecté à votre serveur CentOS 8, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.

dnf update -y

Étape 2 :Installez le pare-feu

dnf install firewalld -y

Une fois installé, démarrez le service FirewallD et activez-le au redémarrage du système avec la commande suivante :

systemctl start firewalld
systemctl enable firewalld

Vous pouvez également vérifier l'état de FirewallD à l'aide de la commande suivante :

firewall-cmd --state

Sortie :

running

Étape 3 :Utilisation de base de FirewallD

FirewallD gère un ensemble de règles à l'aide de zones. Chaque zone a sa propre configuration pour accepter ou refuser les paquets en fonction du niveau de confiance que vous avez dans les réseaux auxquels votre ordinateur est connecté.

Vous pouvez répertorier toutes les zones disponibles à l'aide de la commande suivante :

firewall-cmd --get-zones

Vous devriez voir la liste suivante :

block dmz drop external home internal public trusted work

Pour obtenir une liste de toutes les zones actives, exécutez la commande suivante :

firewall-cmd --get-active-zones

Vous devriez voir la liste suivante :

public
interfaces: eth0 eth1

Vous pouvez répertorier la zone par défaut définie pour les connexions réseau à l'aide de la commande suivante :

firewall-cmd --get-default-zone

Sortie :

public

Pour modifier la zone par défaut de public à domicile à l'aide de la commande suivante :

firewall-cmd --set-default-zone=home --permanent

Pour afficher plus d'informations sur n'importe quelle zone à l'aide de la commande suivante :

firewall-cmd --info-zone public

Vous devriez obtenir le résultat suivant :

public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: cockpit dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

Vous pouvez également lister tous les services disponibles en exécutant la commande suivante :

firewall-cmd --get-services

Vous devriez obtenir le résultat suivant :

RH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bb bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-mon cfengine cockpit condor-collector ctdb dhcp dhcpv6 dhcpv6-client distcc dns dns-over-tls docker-registry docker-swarm dropbox-lansync elasticsearch etcd-client etcd-server finger freeipa-4 freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master git grafana gre high-availability http https imap imaps ipp ipp-client ipsec irc ircs iscsi-target isns jenkins kadmin kdeconnect kerberos kibana klogin kpasswd kprop kshell kube-apiserver ldap ldaps libvirt libvirt-tls lightning-network llmnr managesieve matrix mdns memcache minidlna mongodb mosh mountd mqtt mqtt-tls ms-wbt mssql murmur mysql nfs nfs3 nmea-0183 nrpe ntp nut openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole plex pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy prometheus proxy-dhcp ptp pulseaudio puppetmaster quassel radius rdp redis redis-sentinel rpc-bind rsh rsyncd rtsp salt-master samba samba-client samba-dc sane sip sips slp smtp smtp-submission smtps snmp snmptrap spideroak-lansync spotify-sync squid ssdp ssh steam-streaming svdrp svn syncthing syncthing-gui synergy syslog syslog-tls telnet tentacle tftp tftp-client tile38 tinc tor-socks transmission-client upnp-client vdsm vnc-server wbem-http wbem-https wsman wsmans xdmcp xmpp-bosh xmpp-client xmpp-local xmpp-server zabbix-agent zabbix-server

Étape 4 :Autoriser et refuser les ports avec le pare-feu

Firewalld fournit l'outil de ligne de commande firewall-cmd pour ajouter et supprimer des ports dans votre système.

Par exemple, pour autoriser les ports TCP 80 et 22 dans la zone publique, exécutez la commande suivante :

firewall-cmd --zone=public --permanent --add-port=80/tcp --add-port=22/tcp

Ensuite, rechargez le démon FirewallD pour enregistrer la configuration :

firewall-cmd --reload

Maintenant, répertoriez le port ajouté avec la commande suivante :

firewall-cmd --info-zone public

Vous devriez voir le résultat suivant :

public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: cockpit dhcpv6-client ssh
ports: 80/tcp 22/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

Vous pouvez également refuser ou supprimer facilement le port de la zone à l'aide de l'option –remove-port.

Par exemple, pour refuser ou supprimer le port 80 de la zone publique, exécutez la commande suivante :

firewall-cmd --zone=public --permanent --remove-port=80/tcp

Étape 5 :Autoriser et refuser les services avec FirewallD

Vous pouvez également autoriser et refuser par nom de service au lieu d'utiliser un port avec FirewallD.

Par exemple, autorisez le service FTP dans la zone publique en exécutant la commande suivante :

firewall-cmd --zone=public --permanent --add-service=ftp
firewall-cmd --reload

Vous pouvez refuser ou supprimer le service FTP de la zone publique à l'aide de la commande suivante :

:

firewall-cmd --zone=public --permanent --remove-service=ftp
firewall-cmd --reload

Étape 6 :Configurer le masquage d'adresses IP avec FirewallD

Le masquage IP est un processus ou une méthode qui permet à vos ordinateurs d'un réseau avec des adresses IP privées de communiquer avec Internet en utilisant l'adresse de votre serveur. C'est très utile lorsque vous souhaitez qu'un autre ordinateur communique avec Internet sans acheter d'adresses IP supplémentaires auprès de votre FAI.

Avant de configurer le masquage IP, vérifiez si le masquage est actif ou non avec la commande suivante :

firewall-cmd --zone=public --query-masquerade

Vous devriez voir que le masquage IP est désactivé dans la zone publique comme indiqué ci-dessous :

no

Maintenant, définissez le masquage IP à l'aide de la commande suivante :

firewall-cmd --zone=public --add-masquerade
firewall-cmd --reload

Vous pouvez également désactiver le masquage IP en utilisant l'option –remove-masquerade :

firewall-cmd --zone=public --remove-masquerade
firewall-cmd --reload

Conclusion

Dans le guide ci-dessus, vous avez appris à utiliser FirewallD pour bloquer le trafic indésirable sur votre système. Vous devriez maintenant pouvoir limiter toutes les connexions inutiles et protéger votre serveur des attaquants. Essayez FirewallD sur un VPS Atlantic.Net !


Linux
  1. Configurer le pare-feu avec FirewallD sur CentOS 7

  2. Comment désactiver le pare-feu sur CentOS 8 Linux

  3. Comment configurer le pare-feu sur CentOS 7

  4. Comment configurer le pare-feu à l'aide de FirewallD sur CentOS 8

  5. Comment configurer WireGuard VPN sur CentOS 8

Comment configurer un pare-feu avec FirewallD sur CentOS 7

Comment configurer un pare-feu avec UFW sur Debian 10

Comment configurer un pare-feu avec UFW sur Debian 9

Comment configurer un pare-feu avec GUFW sous Linux

Comment installer Kubernetes avec Minikube sur CentOS 8

Comment installer Nginx avec le module RTMP sur CentOS 8