Cet article fournit des informations de base sur l'utilisation de votre firewalld
pare-feu logiciel. Ce pare-feu est la solution de pare-feu par défaut pour les distributions Linux® basées sur RHEL® 7 et CentOS® 7.
Remarque :Si vous devez apporter des modifications à votre pare-feu sur un serveur RackConnect®, vous devez le faire via votre gestionnaire de pare-feu dédié.
Prérequis
Vous devez avoir les prérequis suivants :
- Compréhension de base de Secure Shell (SSH®)
- Accès sudo ou administratif à votre serveur
- Un serveur cloud non RackConnect exécutant RHEL 7 ou CentOS 7
Qu'est-ce que firewalld ?
Le firewalld
service est la solution de pare-feu logicielle par défaut et la plus courante utilisée dans RHEL et CentOS 7. Il s'agit d'un wrapper sur iptables
qui utilise une syntaxe différente pour appliquer de nouvelles règles.
Comment fonctionne firewalld ?
Le firewalld
Le service utilise des zones pour contrôler l'accès au pare-feu. Les zones sont des ensembles de règles préconstruits pour différents niveaux de confiance. Vous avez probablement une zone pour un lieu ou un scénario donné, comme home
, public
, ou trusted
. Différentes zones activent différents services réseau et types de trafic entrant tout en refusant tout le reste. Après avoir activé firewalld
pour la première fois, public
est la zone par défaut.
Voici quelques exemples de zones :
Zone | Ce qu'il fait |
---|---|
public | Ceci est le externe zone ou zone Internet. Vous ne faites pas confiance aux connexions provenant du monde extérieur et n'autorisez que des services spécifiques. |
internal | C'est traditionnellement l'intérieur du réseau derrière le pare-feu. |
dmz | Cette zone est destinée à être utilisée sur des ordinateurs situés dans une DMZ (zone démilitarisée). Seules certaines connexions entrantes peuvent accéder au réseau interne restreint. |
drop | Trafic destiné au drop zone est abandonnée sans aucune réponse. Utilisez ceci comme un trou noir pour les adresses IP malveillantes. |
trusted | trusted accepte toutes les connexions. Utilisez cette zone avec parcimonie. |
Activation et vérification de l'état de firewalld
Avant de commencer, vous devez vous assurer que firewalld
s'exécute sur votre serveur. Vous pouvez vérifier avec la commande suivante :
firewall-cmd --state
Si le service est démarré, vous devriez recevoir une sortie indiquant que le service est en cours d'exécution.
Si le service n'est pas en cours d'exécution, vous pouvez démarrer le service en exécutant la commande suivante :
systemctl start firewalld
Vous pouvez également activer firewalld
pour démarrer au démarrage en exécutant la commande suivante :
systemctl enable firewalld
Zones dans firewalld
Avant d'ajouter des règles, vous devez revoir vos paramètres par défaut dans firewalld
.
Pour vérifier la zone par défaut dans firewalld
, vous pouvez exécuter la commande suivante :
firewall-cmd --get-default-zone
Par défaut, cette zone est définie sur public
. Vous pouvez voir d'autres zones en utilisant la commande suivante :
firewall-cmd --get-zones
Cette commande liste les zones disponibles dans firewalld
.
Comme indiqué précédemment, les différentes zones dans firewalld
ont des fonctionnalités différentes. Vous pouvez spécifier les connexions de zone et de contrôleur Ethernet pour obtenir plus de contrôle sur l'accès à votre serveur, mais pour les besoins de Rackspace, vous utilisez la configuration par défaut et modifiez le public
secteur.
Basic firewalld
règle d'anatomie
Lorsque vous écrivez un firewalld
règle, vous avez besoin de quelques éléments de base dans la règle.
-
Spécifiez la commande.
-
Spécifiez la zone et modifiez.
-
Définir la persistance.
En mettant tout cela ensemble, vous obtenez quelque chose comme l'exemple suivant :
firewall-cmd --zone=public --add-source=127.0.0.1 --permanent
Cette commande permet l'accès depuis l'IP 127.0.0.1
au public
zone. Il existe d'autres drapeaux disponibles, mais c'est la construction de base d'un firewalld
règle.
Drapeau permanent et règles enrichies
Le drapeau permanent peut définir la persistance des règles et activer le réglage fin des règles à l'aide de règles enrichies .
Drapeau permanent
L'utilisation de l'indicateur permanent n'active pas la règle dans la configuration en cours. Pour vous assurer que la règle persiste, vous devez ajouter la règle une seconde fois avec l'indicateur permanent.
Exemple de drapeau permanent :
firewall-cmd --add-source=12.345.67.89 --zone=trusted --permanent
Règles enrichies
Les règles riches offrent plus de contrôle en ayant des options granulaires personnalisées. Des règles riches peuvent configurer la journalisation, le masquage, la redirection de port et la limitation du débit.
Exemple de règles enrichies :
firewall-cmd --add-rich-rule='rule family=ipv4 source address="123.45.69.78" port port="11" protocol=tcp accept' --permanent
Remarque :Un mélange de règles riches et de règles régulières peut conduire à une configuration désordonnée. L'utilisation de règles enrichies uniquement pour certaines règles, telles que l'accès SSH, peut vous aider à garder votre configuration propre.
Exemples de commandes
Enfin, voici quelques exemples de firewalld
commandes.
Commande | Ce qu'il fait |
---|---|
firewall-cmd --add-source=12.345.67.89 --zone=trusted | Cette commande accepte le trafic de l'adresse IP spécifiée vers la zone de confiance. |
firewall-cmd --zone=drop --add-source=12.345.67.89/24 | Cette commande supprime le trafic de la plage d'adresses IP spécifiée. |
firewall-cmd --zone=public --add-service=ssh | Cette commande autorise le trafic via SSH sur la zone publique. |
firewall-cmd --zone=public --list-all | Cette commande répertorie toutes les spécifications définies pour la zone, telles que les sources, les services, les règles enrichies, etc. |
firewall-cmd --add-rich-rule='rule family=ipv4 source address="123.456.789.123" port port="22" protocol=tcp accept' --permanent | Cette commande ajoute une règle enrichie pour autoriser l'accès depuis l'IP spécifiée sur le port 22 via TCP sur le public secteur. |
Autres lectures
Ce document ne fait qu'effleurer la surface des possibilités avec firewalld
. Vous pouvez revoir le man
page pour firewalld
ou consultez la documentation officielle de firewalld
sur https://firewalld.org/documentation/man-pages/firewall-cmd.html.