Nouvelles
Sept jours de folie du Black Friday — de bonnes affaires Serverspace!
Serverspace Black Friday
BM
Août 13 2022
Mis à jour le 6 décembre 2024

UFW de base (simple Firewall) commandes

Linux Réseaux

Introduction

L'outil de configuration du pare-feu par défaut pour Ubuntu est ufw. Conçu pour simplifier la configuration du pare-feu iptables, ufw fournit un moyen pratique de créer un IPv4 ou un pare-feu basé sur l'hôte IPv6. Par défaut, UFW est désactivé.

Si votre version n'a pas installé ufw, vous pouvez l'installer en utilisant la commande :

sudo apt update && sudo apt install ufw

Vérification de l'état UFW

Vérifiez que le pare-feu est activé, utilisez cette commande :

sudo ufw status

Firewall status
Le résultat indiquera si votre pare-feu est actif ou non.

Activer UFW

Si vous obtenez un Statut : inactif message lors de l'exécution de la commande ufw status, cela signifie que le pare-feu n'est pas encore activé sur le système. Vous devrez exécuter une commande pour l'activer.

Par défaut, lorsque UFW est activé, il bloque l'accès externe à tous les ports du serveur. En pratique, cela signifie que si vous vous connectez à un serveur via SSH et activez ufw avant d'autoriser l'accès sur le SSH port, vous serez déconnecté.

Pour activer UFW sur votre système, exécutez la commande :

sudo ufw enable

Vous verrez un résultat similaire à celui-ci.

Enabling firewall autoloading

Pour voir ce qui est actuellement bloqué ou autorisé, vous pouvez utiliser le verbeux paramètre lors de l'exécution statut de ufw comme indiqué ci-dessous:

sudo ufw status verbose

Advanced firewall configuration output

Éteindre l'UFW

Si pour une raison quelconque vous devez désactiver le pare-feu, vous pouvez le faire avec la commande suivante :

sudo ufw disable

Attention, cette commande désactivera complètement le service pare-feu de votre système !

Empêcher une adresse IP d'être adressée

Pour bloquer toutes les connexions réseau provenant d'une adresse IP spécifique, exécutez la commande suivante, en remplaçant l'adresse IP allouée par l'adresse IP que vous souhaitez bloquer :

sudo ufw deny from 91.198.174.190

Blocking incoming requests from an ip address
Dans cet exemple, À partir de 91.198.174.190 ans indique l'adresse IP source "91.198.174.190".

sudo ufw status

Si vous exécutez cette commande, vous verrez que l'adresse IP spécifiée est sur la liste interdite :

Active filtering rules

Toutes les connexions, entrantes et sortantes, sont bloquées pour l'adresse IP spécifiée.

Bloquer le sous-réseau

Si vous devez bloquer l'intégralité du sous-réseau, vous pouvez utiliser l'adresse du sous-réseau comme paramètre « from » dans la commande ufw deny. Cela bloquera toutes les adresses IP dans l'exemple de sous-réseau 91.198.174.0/24 :

sudo ufw deny from 91.198.174.0/24

Subnet blocking

Blocage des connexions entrantes à l'interface réseau

Pour bloquer les connexions entrantes d'une adresse IP spécifique vers une interface réseau spécifique, exécutez la commande suivante, en remplaçant l'adresse IP par l'adresse IP que vous souhaitez bloquer :

sudo ufw deny in on eth0 from 91.198.174.192

Blocking an ip address in a subnetwork

Le paramètre « in » indique au pare-feu d'appliquer la règle uniquement aux connexions entrantes, et le paramètre « on eth0 » lui indique que la règle s'applique uniquement à l'interface eth0.

Cela peut être utile si vous avez un système avec plusieurs interfaces réseau (y compris des interfaces virtuelles) et que vous devez bloquer l'accès externe à certaines de ces interfaces, mais pas à toutes.

Autoriser les conversions d'adresse IP

Pour autoriser toutes les connexions réseau provenant d'une adresse IP spécifique, exécutez la commande suivante, en remplaçant l'adresse IP allouée par l'adresse IP à laquelle vous souhaitez autoriser l'accès :

sudo ufw allow from 91.198.174.192

Allow incoming requests from an ip address

Si vous exécutez maintenant "sudo ufw status", vous verrez une sortie similaire à celle-ci, avec ALLOW à côté de l'adresse IP que vous venez d'ajouter.

sudo ufw status

List of active filtering rules

Vous pouvez également autoriser les connexions à partir d'un sous-réseau entier en spécifiant le masque de sous-réseau approprié pour l'hôte, par exemple 91.198.174.0/24.

Autoriser les connexions entrantes à l'interface réseau

Pour autoriser les connexions entrantes d'une adresse IP spécifique vers une interface réseau spécifique, exécutez la commande suivante, en remplaçant l'adresse IP par celle que vous souhaitez autoriser :

sudo ufw allow in on eth0 from 91.198.174.22

Allow incoming requests on the network interface

Le paramètre « in » indique au pare-feu d'appliquer la règle uniquement aux connexions entrantes et le paramètre « on eth0 » spécifie que la règle s'applique uniquement à l'interface « eth0 ».

sudo ufw status

Si vous exécutez la commande, vous verrez un résultat semblable à celui-ci :

Active filtering rules

Supprimer une règle de pare-feu

Pour supprimer une règle précédemment installée dans UFW, utilisez "ufw delete", puis saisissez la règle (autoriser/refuser) et la spécification cible. L'exemple suivant supprime une règle précédemment définie pour autoriser toutes les connexions à partir de l'adresse IP 91.198.174.192 :

sudo ufw delete allow from 91.198.174.192

Deletion of UFW rule

Une autre façon de spécifier la règle que vous souhaitez supprimer consiste à spécifier l'ID de la règle. Ces informations peuvent être obtenues à l'aide de la commande suivante :

sudo ufw status numbered

Numbered list of active ufw rules

À partir de la sortie, vous pouvez voir qu'il y a deux règles actives. La première règle refuse toutes les connexions provenant de l'adresse IP 91.198.174.190. La deuxième règle autorise les connexions sur l'interface eth0 provenant de l'adresse IP 91.198.174.22.

Étant donné que le pare-feu bloque par défaut tous les accès externes, sauf s'ils sont explicitement autorisés, la première règle est redondante et peut donc être supprimée. Pour supprimer une règle en fonction de son ID, exécutez la commande :

sudo ufw delete 1

Vous serez invité à confirmer l'opération et à vous assurer que l'ID que vous spécifiez correspond à la bonne règle que vous souhaitez supprimer.

Deleting a rule using its id

Si vous listez à nouveau vos règles avec le statut "sudo ufw", vous verrez que la règle a été supprimée.

Liste des profils d'application disponibles

Lors de l'installation d'applications qui s'appuient sur des communications réseau, il est courant de configurer un profil de pare-feu qui peut être utilisé pour autoriser les connexions à partir d'adresses externes. Cela revient souvent à exécuter « ufw allow from », avec l'avantage qu'il s'agit d'un raccourci qui fait abstraction des numéros de port spécifiques utilisés par le service et fournit une nomenclature pratique pour référencer les services.

sudo ufw app list

Si vous avez installé un service, tel qu'un serveur Web ou un autre logiciel dépendant du réseau, et que le profil n'était pas disponible dans le pare-feu, assurez-vous d'abord que le service est activé.

Pour les serveurs distants OuvrirSSH est généralement disponible :

List of available profiles

Inclure un profil pour une application spécifique

Pour activer un profil d'application de pare-feu, exécutez la commande « ufw allow » suivie du nom du profil d'application que vous souhaitez activer, qui peut être obtenu avec la commande :

sudo ufw app list

Dans l'exemple suivant, nous activons l'OpenSSH profil, qui permettra à tous les entrants SSH connexions sur la norme SSH Port.

sudo ufw allow OpenSSH

Enabling connection using a profile

Désactiver un profil pour une application spécifique

Pour désactiver un profil d'application que vous avez précédemment configuré dans le pare-feu, vous devez supprimer la règle correspondante. Par exemple, considérez la sortie suivante de « sudo ufw status »

sudo ufw status

List of active filtering rules

Cette sortie indique que le "Nginx Le profil d'application complet" est actuellement activé, permettant toutes les connexions au serveur Web via les deux HTTP et le HTTPS.

Si vous souhaitez autoriser uniquement HTTPS requêtes à votre serveur Web, vous devez d'abord activer la règle la plus restrictive, qui dans ce cas est "Nginx HTTPS", puis désactivez la règle active "Nginx Complet":

sudo ufw allow "Nginx HTTPS"
sudo ufw delete allow "Nginx Full"

N'oubliez pas que vous pouvez répertorier tous les profils d'application disponibles avec :

sudo ufw app list

Activer SSH

Lorsque vous travaillez avec des serveurs distants, vous devez vous assurer que le SSH port est ouvert pour les connexions afin que vous puissiez vous connecter à distance à votre serveur.

La commande suivante activera l'OpenSSH profil d'application pour le pare-feu et autoriser toutes les connexions par défaut SSH port sur le serveur :

sudo ufw allow OpenSSH

Allow SSH connection

Bien que moins conviviale, une syntaxe alternative consiste à spécifier le numéro de port exact du SSH service, qui est généralement défini sur 22 par défaut :

sudo ufw allow 22

Allow connection to a port

Autoriser les appels entrants SSH à partir d'une adresse IP ou d'un sous-réseau spécifique

Pour autoriser les connexions entrantes à partir d'une adresse IP ou d'un sous-réseau spécifique, vous devez inclure la directive « from » pour définir la source de la connexion. Cela nécessite que vous spécifiiez également l'adresse de destination avec le paramètre « to ». Pour bloquer cette règle pour SSH seulement, limitez « proto » (protocole) à « tcp » puis utilisez le paramètre « port » et définissez-le sur 22, la valeur par défaut SSH Port.

La commande suivante permettra uniquement SSH connexions provenant de l'adresse IP 91.198.174.33 :

sudo ufw allow from 91.198.174.33 proto tcp to any port 22

Allow incoming requests only from a specific ip address

Vous pouvez également utiliser l'adresse du sous-réseau comme paramètre « de » pour autoriser les communications entrantes. SSH connexions de l'ensemble du réseau :

sudo ufw allow from 91.198.174.0/24 proto tcp to any port 22

Allow incoming requests from a specific subnet only

Autoriser Rsync entrant à partir d'une adresse IP ou d'un sous-réseau spécifique

Rsync, qui s'exécute sur le port 873, peut être utilisé pour transférer des fichiers d'un ordinateur à un autre.

Pour autoriser les connexions rsync entrantes à partir d'une adresse IP ou d'un sous-réseau particulier, utilisez le paramètre from pour spécifier l'adresse IP source et le paramètre port pour définir le port de destination sur 873. La commande suivante autorisera uniquement les connexions Rsync provenant de l'adresse IP 91.198.174.33 :

sudo ufw allow from 91.198.174.33 to any port 873

Permission for rsycn

Pour permettre à l'ensemble du sous-réseau 91.198.174.0/24 de se "rsynchroniser" avec votre serveur, exécutez la commande :

sudo ufw allow from 91.198.174.0/24 to any port 873

Allowing a subnet to use rsync

Autoriser Nginx HTTP / HTTPS

Lors de l'installation du Nginx serveur Web, il installe plusieurs profils de pare-feu différents à l'intérieur du serveur. Après l'installation et l'activation Nginx en tant que service, exécutez la commande suivante pour déterminer les profils disponibles :

sudo ufw app list | grep Nginx

List of available Nginx profiles

Autoriser HTTP et le HTTPTrafic S, sélectionnez Nginx Full. Sinon, sélectionnez soit Nginx HTTP pour permettre HTTP seulement, ou Nginx HTTPS pour permettre HTTPS seulement.

La commande suivante permettra HTTP et le HTTPTrafic S sur le serveur (ports 80 et 443) :

sudo ufw allow "Nginx Full"

Active Nginx profile

Autoriser Apache HTTP / HTTPS

Lors de l'installation le Apache Le serveur Web installe plusieurs profils UFW différents sur le serveur. Après avoir installé et activé Apache en tant que service, exécutez la commande suivante pour déterminer les profils disponibles :

sudo ufw app list | grep Apache

Available Apache profiles

Autoriser HTTP et le HTTPTrafic S, sélectionnez "Apache Complet". Sinon, sélectionnez soit "Apache" pour HTTP ou "Apache Sécurisé" pour HTTPS.

La commande suivante permettra HTTP et le HTTPTrafic S sur le serveur (ports 80 et 443) :

sudo ufw allow "Apache Full"

Adding apache full profile to filter rules

Autoriser tous les entrants HTTP (port 80)

des serveurs Web tels que Apache et le Nginx écoute normalement HTTP requêtes sur le port 80. Si votre politique par défaut pour le trafic entrant est définie sur rejeter ou refuser, vous devez créer une règle UFW pour autoriser l'accès externe au port 80. Vous pouvez utiliser le numéro de port ou le nom du service (http) comme paramètre de cette commande.

Pour autoriser tous les appels entrants HTTP connexions (port 80), exécutez la commande :

sudo ufw allow http

Allow incoming http traffic

Une syntaxe alternative consiste à spécifier le numéro de port du HTTP service:

sudo ufw allow 80

Allow incoming traffic through the service port

Autoriser tous les appels entrants HTTPS (port 443)

HTTPS s'exécute normalement sur le port 443. Si votre politique par défaut pour le trafic entrant est définie sur rejeter ou refuser, vous devez créer une règle UFW pour autoriser l'accès externe sur le port 443. Vous pouvez utiliser le numéro de port ou le nom du service (https) comme paramètre de cette commande.

Pour autoriser tous les entrants HTTPLes connexions S (port 443) exécutent cette commande :

sudo ufw allow https

Allow incoming https traffic

Une syntaxe alternative consiste à spécifier le numéro de port du HTTPService S :

sudo ufw allow 443

Allow incoming traffic by service port number

Autoriser tous les entrants HTTP et le HTTPS

Si vous souhaitez autoriser HTTP et le HTTPPour le trafic S, vous pouvez créer une règle qui autorise les deux ports. Cette utilisation nécessite que vous définissiez également le protocole à l'aide du paramètre « proto », qui dans ce cas doit être défini sur tcp.

Pour autoriser tous les appels entrants HTTP et le HTTPconnexions S (ports 80 et 443), lancez la commande :

sudo ufw allow proto tcp from any to any port 80,443

Allow incoming traffic for http and https

Autoriser la connexion à MySQL à partir d'une adresse IP ou d'un sous-réseau spécifique

MySQL écoute les connexions client sur le port 3306. Si votre MySQL le serveur de base de données est utilisé par un client sur un serveur distant, vous devez créer une règle UFW pour autoriser un tel accès.

Pour autoriser les entrées MySQL pour les connexions à partir d'une adresse IP ou d'un sous-réseau particulier, utilisez le paramètre from pour spécifier l'adresse IP source et le paramètre « port » pour définir le port de destination 3306.

La commande suivante permettra à l'adresse IP 91.198.174.33 de se connecter au MySQL port de serveur:

sudo ufw allow from 91.198.174.33 to any port 3306

Allow connection to MySQL port

Pour permettre à l'ensemble du sous-réseau 91.198.174.0/24 de se connecter à votre MySQL serveur, exécutez la commande :

sudo ufw allow from 91.198.174.0/24 to any port 3306

Allow entire subnet to connect to MySQL port

Autoriser la connexion à PostgreSQL à partir d'une adresse IP ou d'un sous-réseau spécifique

PostgreSQL écoute les connexions client sur le port 5432. Si votre PostgreSQL le serveur de base de données est utilisé par un client sur un serveur distant, vous devez autoriser ce trafic.

Pour autoriser les entrées PostgreSQL connexions à partir d'une adresse IP ou d'un sous-réseau particulier, spécifiez la source avec le paramètre from et définissez le port sur 5432 :

sudo ufw allow from 91.198.174.33 to any port 5432

Allow connection to PostgreSQL

Pour permettre à l'ensemble du sous-réseau 91.198.174.0/24 de se connecter à votre PostgreSQL serveur, exécutez la commande :

sudo ufw allow from 91.198.174.0/24 to any port 5432

Autoriser la connexion à PostgreSQL à partir d'une adresse IP ou d'un sous-réseau spécifique

Les serveurs de messagerie tels que Sendmail et Postfix utilisent normalement le port 25 pour le trafic SMTP. Si votre serveur n'est pas censé envoyer de courrier sortant, vous pouvez bloquer ce type de trafic. Pour bloquer les connexions SMTP sortantes, exécutez la commande :

sudo ufw deny out 25

Blocking outgoing mail traffic

Cela configurera votre pare-feu pour bloquer tout le trafic sortant sur le port 25. Si vous devez rejeter les connexions sortantes sur un numéro de port différent, vous pouvez répéter cette commande et remplacer 25 par le numéro de port que vous souhaitez bloquer.

Pour aller plus loin

UFW est un outil puissant qui, lorsqu'il est configuré correctement, peut améliorer considérablement la sécurité de vos serveurs. Ce guide couvre certaines règles UFW courantes qui sont souvent utilisées pour configurer le pare-feu dans Ubuntu. La plupart des commandes de ce guide peuvent être adaptées à différents cas d'utilisation et scénarios en modifiant des paramètres tels que l'adresse IP source et/ou le port de destination. Pour plus d'informations sur chaque paramètre de commande et les modificateurs disponibles, vous pouvez utiliser le man utilitaire pour vérifier le manuel UFW :

man ufw
Voter:
3 sur 5
Note moyenne : 3.2
Noté par : 31
1101 CT Amsterdam Pays-Bas, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300
Nous utilisons des cookies pour rendre votre expérience sur le Serverspace meilleur. En poursuivant votre navigation sur notre site, vous acceptez nos
Utilisation des cookies et le Politique de Confidentialité.