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 :
sudo apt install ufw -y
Configurer¶
Dans un premier temps, vous allez passer en root :
sudo -i
Bloquer tout le traffic¶
On va autoriser le traffic sortant et bloquer le traffic entrant via la commande suivante :
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 :
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 :
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.
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 :
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 :
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 :
ufw logging medium
Sauvegarder la configuration UFW¶
Pour se faire, vous allez dans un premier temps sauvegarder la liste des rêgles :
ufw status > ufw-rules-backup.txt
Dans un secon temps, vous allez sauvegarder votre configuration complète :
tar -cvzf ufw-backup.tar.gz /etc/ufw
Restaurer la configuration UFW¶
Dans un premier temps, désactiver UFW le temps de la restauration :
ufw disable
Dans un deuxième temps, vous allez extraire les fichiers de configuration :
tar -xvzf ufw-backup.tar.gz -C /etc/ufw
Dans un troisième temps, vous allez définir les permissions sur les fichiers :
chown -R root:root /etc/ufw
chmod -R 644 /etc/ufw
Dans un quatrième temps, vous allez réactiver votre pare-feu :
ufw enable
Dans un cinquième temps, vous allez voir si les rêgles ont été chargés :
ufw status
Dans un denier temps, vous allez tester votre configuration et vérifier si tout fonctionne.