UFW (Uncomplicated Firewall) signifie pare-feu simple.
Il est pré-installé avec toutes les dernières versions d'Ubuntu et Ubuntu Server.
C'est l'un des moyens les plus simples de configurer rapidement un pare-feu sur votre appareil ou votre serveur.
C'est un front-end pour iptables avec une syntaxe plus simple : ufw VS iptables : quel est le meilleur
Les pare-feu font partie intégrante du maintien d'une sécurité réseau solide et sont essentiels pour les serveurs.
Dans ce guide, nous vous montrerons comment utiliser UFW pour autoriser, refuser ou limiter le débit des ports réseaux de votre appareil.
Liste des commandes ufw
Voici la liste des commandes disponibles dans UFW :
Commandes | Description |
enable | Activer le firewall |
disable | Désactiver le firewall |
default | Définir la politique par défaut |
logging LEVEL | Définir le niveau de logging à LEVEL |
allow ARGS | Ajouter une règle d'autorisation |
deny ARGS | Ajouter une règle de refus |
reject ARGS | Ajouter une règle de rejet |
limit ARGS | Ajouter une règle de rate/limit |
delete RULE|NUM | Supprimer une règle |
insert NUM RULE | Insérer une règle |
prepend RULE | prepend RULE |
route RULE | Ajouter une route RULE |
route delete RULE|NUM | Supprimer une route RULE |
route insert NUM RULE | Insérer une route RULE à NUM |
reload | Recharger le firewall |
reset | Réinitialiser le firewall |
status | Afficher le statut du firewall |
status numbered | Afficher le statut firewall avec les numéros des règles |
status | Afficher le statut du firewall |
Comment activer ufw avec les règles par défaut
ufw est installé par défaut dans beaucoup de distribution Linux comme Ubuntu.
Sinon vous pouvez l'installer avec apt ou dnf selon la distribution :
sudo apt install ufw
sudo dnf install ufw
Lors de la gestion du pare-feu de votre système, l'une des premières choses que vous souhaitez faire est de définir des règles par défaut pour minimiser le nombre de vecteurs d'attaque.
Vous pouvez utiliser la commande ufw par défaut pour créer des règles générales pour le trafic entrant et sortant, comme indiqué ci-dessous.
Une fois que vous avez ajouté vos règles par défaut, vous pouvez ensuite ajouter des règles spécifiques à un service ou à un protocole.
sudo ufw default allow outgoing
sudo ufw default deny incoming
Puis pour activer les journaux et enfin activer ufw dans le système :
sudo ufw logging on
sudo ufw enable
Un message doit vous indiquer que le pare-feu est activé au démarrage du système.
Créer et ajouter une règle d'autorisation sur ufw
Autoriser une connexion entrante
On utilise la commande ufw allow pour créer une règle d'autorisation.
Vous pouvez spécifier le numéro du port avec le protocole en option :
sudo ufw allow PORT[/PROTOCOL]
Par exemple pour autoriser une connexion vers le port 22 :
sudo ufw allow 22
ou en spécifiant le protocole TCP :
sudo ufw allow 22/tcp
Pour autoriser une intervalle de ports :
sudo ufw allow 3000:5000/tcp
Mais on peut aussi spécifier le service réseau avec le protocole (TCP, UDP, ICMP).
Pour autoriser une connexion vers le port SSH :
sudo ufw allow ssh/tcp
Pour autoriser une connexion au service HTTP (port 80 en TCP) et HTTPS (port 443 en TCP) :
sudo ufw allow http/tcp
sudo ufw allow https/tcp
Par exemple, si vous saisissez HTTPS à la place de http, vous aurez une erreur indiquant :
ERROR: Could not find a profile matching 'HTTPS'
Autoriser une connexion sortante
Pour autoriser une connexion sortante, on ajoute out à la commande allow.
Ainsi pour créer une règle ufw qui autorise les connexions sortantes vers le port 443 :
ufw allow out 443
Créer et ajouter une règle d'interdiction ou rejet
C'est le même principe que précédemment, simplement, on utilise la commande ufw deny comme ceci :
sudo ufw deny PORT[/PROTOCOL]
Ainsi pour interdire les connexions entrantes vers le service SSH :
sudo ufw deny 22
ou
sudo ufw deny ssh/tcp
Alors que si l'on désire interdire les connexions sortantes vers le port 22 :
ufw allow deny 22
Enfin voici une règle plus complexe où l'on interdire le réseau 192.168.2.100/8 de se connecter au réseau 192.168.2.101 sur le port 25 :
sudo ufw deny from 192.168.2.100/8 to 192.168.2.101 port 25
Comment autoriser ou bloquer une adresse IP avec ufw
Pour autoriser les connexion d'une adresse IP, on utilise la syntaxe :
ufw allow from <IP ou SUBNET>
Pour autoriser une connexion provenant d'un sous-réseau :
sudo ufw allow from 192.168.1.0/24
Enfin pour autoriser l'adresse IP 192.168.1.12 à se connecter au port 22 :
sudo ufw allow from 192.168.1.12 to any port 22 proto TCP
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 en surbrillance par l'adresse IP que vous souhaitez bloquer :
ufw deny from <IP ou SUBNET>
Par exemple pour bloquer l'adresse IP 192.18.1.12 :
sudo ufw deny from 192.168.1.12
Pour bloquer un sous-réseau entier, spécifier le masque de sous réseau :
sudo ufw deny from 192.168.1.0/24
Pour bloquer les connexions entrantes d'une adresse IP spécifique vers une interface réseau spécifique :
sudo ufw deny in on eth0 from 192.18.1.12
Comment ajouter une règle de taux de limitation
L'une des fonctionnalités les plus utiles d'UFW est sa capacité à limiter facilement le taux de connexions établies vers un port spécifique.
Vous pouvez utiliser cette fonctionnalité pour limiter le nombre de connexions établies vers des ports critiques.
Par exemple, vous pouvez réduire le risque que les utilisateurs forcent brutalement votre connexion SSH en limitant les connexions effectuées via votre connexion SSH.
Lorsque vous limitez une connexion, UFW n'autorisera pas plus de six connexions au cours des 30 dernières secondes. Le pare-feu bloquera toutes les connexions supplémentaires.
La limitation d'un port est un processus relativement simple. Au niveau de la syntaxe, cela fonctionne comme la commande allow, mais à la place, vous utilisez le mot clé limit.
Tout ce que vous avez à faire pour limiter une connexion est d'utiliser « ufw limit » suivi du numéro de port, puis éventuellement du protocole de connexion.
sudo ufw limit PORT[/PROTOCOL]
Par exemple pour protéger le service SSH :
sudo ufw limit 22
ou en spécifiant le protocole :
sudo ufw limit 22/tcp
Lister les règles
Utilisez la commande status pour afficher la liste des règles ufw :
sudo ufw status
Lorsque le statut est en actif, on obtient la liste des règles comme ceci :
- TO : indique le service réseau ou port
- Action : ALLOW (autorisé), DENY (interdit)
- From : Adresse IP ou Anywhere (tout le monde) visé par la règle
Mais si ufw n'est pas actif, cela retourne :
Status: inactive
Pour liste règles ufw lorsque ce dernier est inactif, utilisez la commande suivante :
sudo ufw show added
Supprimer une règle ufw
Il existe deux méthodes pour supprimer une règle ufw.
La première méthode consiste à utiliser la commande delete en spécifiant la règle :
sudo ufw delete RULE
Par exemple pour supprimer la règle suivante :
sudo ufw delete allow https
On utilise la commande delete comme ceci :
sudo ufw delete allow https
Rule deleted
Rule deleted (v6)
La seconde solution pour supprimer une règle ufw est de la supprimer par son numéro.
Tout d'abord, on liste les règles par leurs numéros :
sudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 22 ALLOW IN Anywhere
[ 2] 80/tcp ALLOW IN Anywhere
[ 3] 443 ALLOW IN Anywhere
[ 4] 22 (v6) ALLOW IN Anywhere (v6)
[ 5] 80/tcp (v6) ALLOW IN Anywhere (v6)
[ 6] 443 (v6) ALLOW IN Anywhere (v6)
Puis on utilise la commande delete avec le numéro.
Par exemple pour supprimer la règle 3 :
sudo ufw delete 3
Puis confirmez en saisissant y pour yes :
Deleting:
allow 443
Proceed with operation (y|n)? y
Rule deleted
Désactiver ufw
Vous pouvez désactiver le firewall à tout moment.
Cela ne supprime pas les règles établies, simplement le pare-feu n'est plus actif dans le système.
Pour cela, on utilise la commande disable :
sudo ufw disable
Réinitialiser les règles ufw
Enfin pour réinitialiser complètement ufw et supprimer toutes les régles, on utilise la commande reset :
sudo ufw reset
Confirmez en saisissant y pour yes :
Resetting all rules to installed defaults. This may disrupt existing ssh
connections. Proceed with operation (y|n)? y
Backing up 'user.rules' to '/etc/ufw/user.rules.20211209_143846'
Backing up 'before.rules' to '/etc/ufw/before.rules.20211209_143846'
Backing up 'after.rules' to '/etc/ufw/after.rules.20211209_143846'
Backing up 'user6.rules' to '/etc/ufw/user6.rules.20211209_143846'
Backing up 'before6.rules' to '/etc/ufw/before6.rules.20211209_143846'
Backing up 'after6.rules' to '/etc/ufw/after6.rules.20211209_143846'
Quelques exemples d'utilisation de ufw
Le statut ufw retourne que les politiques sont en deny.
Deux règles sont créées autorisant les connexions entrantes vers le port SSH.
sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), deny (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
22 ALLOW IN Anywhere
22 (v6) ALLOW IN Anywhere (v6)
Ainsi, si l'on tente une connexion HTTPS vers google, cela retourne une erreur de résolution DNS "Temporary failure in name resolution".
Cela est tout à fait logique puisque les connexions vers les serveurs DNS ne sont pas autorisées par le firewall.
On peut donc autoriser les connexions DNS avec cette règle :
sudo ufw allow out 53
Si on tente de se connecter à google, cette fois, la résolution DNS fonctionne puisque l'on obtient bien une adresse IPv4 et IPv6.
Toutefois la connexion vers le port 443 en TCP est bloquée "Network is unreachable".
Là aussi c'est logique puisque nous n'avons pas de règle qui l'autorise.
Il ne reste plus qu'à autoriser les connexions vers le port 443 en sortant de cette manière :
sudo ufw allow out 443
Liens
L’article ufw : configurer, voir, créer, supprimer, réinitialiser des règles de firewall est apparu en premier sur malekal.com.
0 Commentaires