Aller au contenu

Configurer votre Pare-feu

Situation

Description

Pour la configuration de notre Pare-feu, on va, dans le cas présent, partir du principe que vous avez un serveur avec l'OS et le pare-feu suivant : - OS : Ubuntu 24.04 LTS - Pare-feu : ufw 0.36.2

Informations complémentaires

Services actifs sur le serveur:

  • SSH : port 2222

  • Nginx : port 8080

  • MySQL : port 3306

Informations réseau pour les scénarios:

  • Réseau interne de l'entreprise : 10.0.0.0/8

  • Réseau DMZ : 172.16.0.0/16

  • Serveur d'administration : 192.168.1.100

  • Serveur de backup : 192.168.1.50

  • Développeurs : 10.10.10.0/24

Installation

Si vous n'avez pas UFW, voici la commande pour l'installer :

Bash
sudo apt install ufw -y

Configurer

Dans un premier temps, vous allez passer en root :

Bash
sudo -i

Bloquer tout le traffic

On va autoriser le traffic sortant et bloquer le traffic entrant via la commande suivante :

Bash
ufw default deny incoming
ufw default allow outgoing

Autoriser qu'une ip à se connecter

On souhaite autoriser la connexion par SSH uniquement au serveur d'administration, pour se faire, on va faire la commande suivante :

Bash
ufw allow from 192.168.1.100 to any port 2222

Autoriser une plage d'adresse IP

On souhaite que le réseau DMZ accède au serveur MySQL.

Pour cela, il suffit de faire la commande suivante :

Bash
ufw allow from 172.16.0.0/16 to any port 3306

Dans ce cas, tous les IP commençant par 172.16 pourront accdéer au port 3306.

Pour les IP a de classe A, on serait sur du 10.0.0.0/8 et de classe C, 192.168.1.0/24.

Si on décide par exemple de n'autoriser que 10.10.10.0/8, Cela veut dire que seul les IP commençant par 10.10.10 peuvent utiliser le port.

Bloquer une IP ou une plage d'adresse IP

On veut par exemple, empêcher au réseau interne de l'entreprise d'accéder au port MySQL sauf pour les personnes autorisées.

Bash
ufw deny from 192.168.1.0/24 to any port 3306

Personne avec une IP commençant par l'IP 192.168.1 ne pourra accéder au port SSH sauf les personnes autorisées spécifiquement comme l'IP 192.168.1.100.

Limiter un port

Si on veut éviter le bruteforce d'un port, par exemple, SSH, on peut le faire via la commande suivante :

Bash
ufw limit 2222

Supprimer une rêgle

Supposons que vous ayez par erreur mit l'IP 192.168.10.100 au lieu du 192.168.1.100 et que vous voulez supprimer la rêgle.

Pour se faire, on peut supprimer une rêgle via la commande suivante :

Bash
ufw delete allow from 192.168.10.100 to any port 2222

Mettre en place des logs

Vous voulez mettre en place des logs pour surveiller le traffic avec ufw, cela est possible.

Puis on va définir son niveau de logs, il y en a 3 - low - medium - high

Dans notre cas, on va le définir sur medium :

Bash
ufw logging medium

Sauvegarder la configuration UFW

Pour se faire, vous allez dans un premier temps sauvegarder la liste des rêgles :

Bash
ufw status > ufw-rules-backup.txt

Dans un secon temps, vous allez sauvegarder votre configuration complète :

Bash
tar -cvzf ufw-backup.tar.gz /etc/ufw

Restaurer la configuration UFW

Dans un premier temps, désactiver UFW le temps de la restauration :

Bash
ufw disable

Dans un deuxième temps, vous allez extraire les fichiers de configuration :

Bash
tar -xvzf ufw-backup.tar.gz -C /etc/ufw

Dans un troisième temps, vous allez définir les permissions sur les fichiers :

Bash
chown -R root:root /etc/ufw
chmod -R 644 /etc/ufw

Dans un quatrième temps, vous allez réactiver votre pare-feu :

Bash
ufw enable

Dans un cinquième temps, vous allez voir si les rêgles ont été chargés :

Bash
ufw status

Dans un denier temps, vous allez tester votre configuration et vérifier si tout fonctionne.