Recherche de site Web

Comment installer et utiliser UFW Firewall sur Linux


Introduction

UFW, également connu sous le nom de Uncomplicated Firewall, est une interface d’iptables et est particulièrement bien adapté aux pare-feu basés sur l’hôte. UFW fournit une interface facile à utiliser pour les utilisateurs débutants qui ne sont pas familiers avec les concepts de pare-feu. C’est l’outil de pare-feu le plus populaire provenant d’Ubuntu. Il prend en charge IPv4 et IPv6.

Dans ce tutoriel, nous allons apprendre à installer et à utiliser le pare-feu UFW sous Linux.

Exigences

  • Toute distribution Linux installée sur votre système
  • Configuration des privilèges root sur votre système

Installation d’UFW

Ubuntu

Par défaut, UFW est disponible dans la plupart des distributions basées sur Ubuntu. S’il est supprimé, vous pouvez l’installer en exécutant la commande linux suivante.

apt-get install ufw -y 

Debian

Vous pouvez installer UFW dans Debian en exécutant la commande linux suivante :

apt-get install ufw -y

CentOS

Par défaut, UFW n’est pas disponible dans le référentiel CentOS. Vous devrez donc installer le référentiel EPEL sur votre système. Vous pouvez le faire en exécutant la commande linux suivante :

yum install epel-release -y

Une fois le référentiel EPEL installé, vous pouvez installer UFW en exécutant simplement la commande linux suivante :

yum install --enablerepo="epel" ufw -y

Après avoir installé UFW, démarrez le service UFW et activez-le pour qu’il démarre au démarrage en exécutant la commande linux suivante.

ufw enable 

Ensuite, vérifiez l’état de UFW avec la commande linux suivante. Vous devriez voir le résultat suivant :

ufw status 
Status: active 

Vous pouvez également désactiver le pare-feu UFW en exécutant la commande linux suivante :

ufw disable 

Définir la politique par défaut UFW

Par défaut, la configuration de la stratégie par défaut UFW permet de bloquer tout le trafic entrant et d’autoriser tout le trafic sortant.

Vous pouvez configurer votre propre politique par défaut à l’aide de la commande linux suivante.

ufw default allow outgoing 
ufw default deny incoming 

Ajouter et supprimer des règles de pare-feu

Vous pouvez ajouter des règles pour autoriser le trafic entrant et sortant de deux manières, à l’aide du numéro de port ou du nom du service.

Par exemple, si vous souhaitez autoriser les connexions entrantes et sortantes du service HTTP. Exécutez ensuite la commande linux suivante en utilisant le nom du service.

ufw allow http 

Vous pouvez également exécuter la commande suivante à l’aide du numéro de port :

ufw allow 80 

Si vous souhaitez filtrer les paquets en fonction de TCP ou UDP, exécutez la commande suivante :

ufw allow 80/tcp 
ufw allow 21/udp 

Vous pouvez vérifier l’état des règles ajoutées avec la commande linux suivante.

ufw status verbose 

Vous devriez voir le résultat suivant :

Status: active 
Logging: on (low) 
Default: deny (incoming), allow (outgoing), deny (routed) 
New profiles: skip 

To                         Action      From 
--                         ------      ---- 
80/tcp                     ALLOW IN    Anywhere 
21/udp                     ALLOW IN    Anywhere 
80/tcp (v6)                ALLOW IN    Anywhere (v6) 
21/udp (v6)                ALLOW IN    Anywhere (v6) 

Vous pouvez également refuser tout trafic entrant et sortant à tout moment à l’aide des commandes suivantes :

ufw deny 80 
ufw deny 21 

Si vous souhaitez supprimer les règles autorisées pour HTTP, il vous suffit de faire précéder la règle d’origine de delete comme indiqué ci-dessous :

ufw delete allow http 
ufw delete deny 21 

Règles UFW avancées

Vous pouvez également ajouter une adresse IP spécifique pour autoriser ou refuser l’accès à tous les services. Exécutez la commande suivante pour permettre à l’IP 192.168.0.200 d’accéder à tous les services du serveur :

ufw allow from 192.168.0.200 

Pour refuser l’IP 192.168.0.200 pour accéder à tous les services sur le serveur :

ufw deny from 192.168.0.200 

Vous pouvez autoriser la plage d’adresses IP dans UFW. Exécutez la commande suivante pour autoriser toutes les connexions de l’adresse IP 192.168.1.1 à 192.168.1.254 :

ufw allow from 192.168.1.0/24 

Pour autoriser l’adresse IP 192.168.1.200 à accéder au port 80 via TCP, exécutez la commande linux suivante :

ufw allow from 192.168.1.200 to any port 80 proto tcp 

Pour autoriser l’accès à la plage de ports tcp et udp de 2000 à 3000, exécutez la commande linux suivante :

ufw allow 2000:3000/tcp 
ufw allow 2000:3000/udp 

Si vous souhaitez bloquer l’accès au port 22 à partir des adresses IP 192.168.0.4 et 192.168.0.10 mais autoriser toutes les autres adresses IP à accéder au port 22, exécutez la commande suivante :

ufw deny from 192.168.0.4 to any port 22 
ufw deny from 192.168.0.10 to any port 22 
ufw allow from 192.168.0.0/24 to any port 22 

Pour autoriser le trafic HTTP sur l’interface réseau eth0, exécutez la commande linux suivante :

ufw allow in on eth0 to any port 80 

Par défaut, UFW autorise les requêtes ping. Si vous souhaitez refuser la demande ping, vous devrez modifier le fichier /etc/ufw/before.rules :

nano /etc/ufw/before.rules 

Supprimez les lignes suivantes :

-A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT 
-A ufw-before-input -p icmp --icmp-type source-quench -j ACCEPT 
-A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT 
-A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT 
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT 

Enregistrez le fichier lorsque vous avez terminé.

Si jamais vous avez besoin de réinitialiser UFW, en supprimant toutes vos règles, vous pouvez le faire via la commande linux suivante.

ufw reset 

Configurer NAT avec UFW

Si vous souhaitez NAT les connexions de l’interface externe à l’interface interne à l’aide de UFW. Ensuite, vous pouvez le faire en modifiant /etc/default/ufw et /etc/ufw/before.rules file.
Tout d’abord, ouvrez le fichier /etc/default/ufw à l’aide de l’éditeur nano :

nano /etc/default/ufw

Modifiez la ligne suivante :

DEFAULT_FORWARD_POLICY="ACCEPT"

Ensuite, vous devrez également autoriser la redirection ipv4. Vous pouvez le faire en éditant le fichier /etc/ufw/sysctl.conf :

nano /etc/ufw/sysctl.conf

Modifiez la ligne suivante :

net/ipv4/ip_forward=1 

Ensuite, vous devrez ajouter NAT au fichier de configuration de ufw. Vous pouvez le faire en modifiant le fichier /etc/ufw/before.rules :

nano /etc/ufw/before.rules

Ajoutez les lignes suivantes juste avant les règles de filtrage :

NAT table rules
*nat
:POSTROUTING ACCEPT [0:0]

Forward traffic through eth0 - Change to match you out-interface
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

don't delete the 'COMMIT' line or these nat table rules won't
be processed
COMMIT
Save the file when you are finished. Then restart UFW with the following linux command:
ufw disable
ufw enable

Configurer la redirection de port avec UFW

Si vous souhaitez transférer le trafic à partir d’une adresse IP publique, par exemple. 150.129.148.155 ports 80 et 443 vers un autre serveur interne avec l’adresse IP 192.168.1.120. Ensuite, vous pouvez le faire en modifiant /etc/default/before.rules :

nano /etc/default/before.rules

Modifiez le fichier comme indiqué ci-dessous :

:PREROUTING ACCEPT [0:0] 
-A PREROUTING -i eth0 -d 150.129.148.155   -p tcp --dport 80 -j  DNAT --to-destination 192.168.1.120:80 
-A PREROUTING -i eth0 -d 150.129.148.155   -p tcp --dport 443 -j  DNAT --to-destination 192.168.1.120:443 
-A POSTROUTING -s 192.168.1.0/24 ! -d 192.168.1.0/24 -j MASQUERADE 

Ensuite, redémarrez UFW avec la commande suivante :

ufw disable
ufw enable

Ensuite, vous devrez également autoriser les ports 80 et 443. Pour ce faire, exécutez la commande suivante :

ufw allow proto tcp from any to 150.129.148.155 port 80
ufw allow proto tcp from any to 150.129.148.155 port 443

Articles connexes: