Debian - Firewall avec UFW

Debian - Firewall avec UFW

La sécurité est un point crucial. Il ne se passe pas une journée sans qu’un serveur soit piraté de par le monde. Que ce soit une attaque ciblée et tout simplement les travaux de recherche d’un jeune étudiant en informatique, les serveurs sont des cibles privilégiées, car bien souvent directement exposés sur internet. Bien entendu, sécuriser un serveur ne se limite pas à installer et configurer un firewall, mais c’est déjà un bon début ! N’oubliez pas non plus de le mettre à jour régulièrement afin de combler d’éventuelles failles de sécurité.

Dans ce tutoriel, nous allons nous concentrer sur l’utilisation d’un petit utilitaire: UFW, acronyme de Uncomplicated Firewall. Cet utilitaire va grandement simplifier la vie aux administrateurs qui ne veulent pas passer 15 jours à apprendre les fondements d’IPTABLES, et dans la majorité des cas, UFW répondra  parfaitement à vos besoins. Mais assez de théorie et passons à la pratique!

Dans notre exemple, nous allons imaginer que vous avez installé votre serveur Debian pour y publier votre blog.

Installation du paquet UFW

Avant toute chose, nous allons vérifier si UFW est déjà présent sur votre distribution. Pour ce faire, il suffit de taper la commande suivante:

ufw version

Si vous obtenez une réponse telle que ufw: command not found, c’est que l’utilitaire n’est pas installé, dans le cas contraire vous devriez obtenir l’équivalent de ufw 0.36.1.

Pour installer UFW, taper la commande suivante:

apt-get update && apt-get install ufw -y

Configuration et activation de notre firewall

UFW est maintenant installé sur votre machine… Nous allons à présent activer le firewall et créer les règles nécessaires à notre site web hébergeant notre blog. Taper ligne après ligne la liste des commandes ci-dessous:

ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw allow http
ufw allow https
ufw allow 33434:33534/udp
ufw enable

Décrivons ce que nous avons fait avec les lignes ci-dessus:

  • ufw default deny incoming : Cette règle interdit tout traffic entrant par défaut.
  • ufw default allow outgoing : Cette règle autorise tout traffic sortant par défaut.
  • ufw allow ssh : On autorise les connexions entrantes en SSH (port 22/TCP), dans le cas contraire, vous ne pourriez plus accéder à votre serveur.
  • ufw allow http : On autorise le traffic web entrant non sécurisé (port 80/TCP).
  • ufw allow https : On autorise le traffic web entrant sécurisé (port 443/TCP). Si vous n’avez pas de certificat SSL, cette règle ne vous sera pas utile.
  • ufw allow 33434:33534/udp : Ces ports sont utilisés pour accepter les traceroute, très utile pour diagnostiquer un problème de communication avec votre serveur.
  • ufw enable : Ici on active le firewall et donc les règles que nous avons créées ci-dessus.

Vérification de l’état du firewall

Vous pouvez maintenant vérifier l’état de votre firewall à l’aide de la commande suivante:

ufw status verbose

Si tout c’est bien passé, vous devriez avoir un résultat proche de celui-ci:

UFW example

Vérifier les logs du serveur

Pour vérifier que votre firewall effectue correctement son travail, il est possible d’aller consulter le fichier de log qui se trouve par défaut ici : /var/log/ufw.log

Pour aller plus loin

Voici une liste de commandes qui pourraient vous être utiles:

  • ufw help # Affiche l’aide et les commandes de base.
  • ufw enable # Active le firewall. ufw disable – Désactive le firewall.
  • ufw allow smtp # Ajoute une règle autorisant le flux SMTP entrant.
  • ufw delete smtp # Efface la règle autorisant le flux SMTP entrant.
  • ufw reset # Efface complètement la configuration du firewall.

Pour plus d’information sur l’utilisation et les commandes disponible pour UFW, n’hésitez pas à consulter cette page : https://doc.ubuntu-fr.org/ufw