Installation du firewall UFW
#1 Pourquoi installer un firewall ?
Vous pouvez penser que la réponse est évidente et que bien sûr, on installe un firewall pour protéger sa machine. Mais il y a un autre avantage qui est moins évident et que je veux mettre en avant.
Il y a beaucoup de tentatives de connexion indésirables, notamment sur le port ssh. Même si ça ne semble pas être de véritables attaques, parce qu'en fait souvent ça s'arrête là. Il y a une chose qui est sûre, c'est que ça pollue énormément les fichiers de logs 😒.
A titre d'exemple, je vais vous montrer un fichier de log, le fichier /var/log/auth.log
. C'est un fichier qui enregistre les tentatives d'authentifications. Ce fichier est sur un autre serveur que celui sur lequel je fais cette installation.
En gros, c'est un fichier qui fait 110.000 lignes et qui contient environ 25.000 échecs d'authentifications (7 jours de log).
Autant dire que, si un matin, vous avez besoin de savoir qui s'est connecté dans la nuit sur votre serveur, hé bien, avec un fichier de log comme celui-là, vous êtes mal barré.
Vous pouvez toujours déplacer le numéro du port ssh. Ca peut atténuer les nuisances, mais ça ne vaudra pas la mise en place d'un firewall.
#2 Installation d'un scanner de port : Nmap
Maintenant, je vais vous montrer comment je vais tester l'installation du serveur que j'ai faite dans ce tuto.
Pour ça, je vais installer un scanner de port. C'est un outil que je vais installer sous Windows et qui va me servir à auditer, depuis ma machine Windows, mon serveur Linux.
Je vais vous montrer toutes les informations que l'on peut obtenir avec un scanner de port 😆.
Je télécharge depuis le site officiel de Nmap .
Je vais récupérer mon IP avec un nslookup tuto-dev-web.fr
dans une fenêtre commande Windows.
Je la colle dans Nmap et je scanne.
Vous voyez ce que j'obtiens comme informations : 👍
- La liste des ports qui sont ouverts.
- Le nom et la version des daemons qui tournent sur ces ports. Donc potentiellement la liste des failles qui sont répertoriées et exploitables.
Vous pouvez remarquer, au passage, que si vous changez le numéro du port ssh, hé bien, il ne sera pas bien difficile à retrouver 😜.
#3 Utilisation et configuration de UFW
Sous Linux Ubuntu il y a le firewall UFW, qui est déjà installé. Il suffit de l'activer. Je vous mets un lien vers une documentation complète de UFW.
Vous pouvez vérifier son état avec l'une de ces commandes :
Par défaut, aucun trafic entrant n'est autorisé. Donc avant de l'activer, il faut impérativement le configurer.
-
Je vais commencer par autoriser les connexions entrantes depuis l'IP de ma box pour ssh et ftp. Ma box a une IP fixe. Assurez vous que votre box a une IP fixe si vous voulez faire cette manip. Personnellement j'ai mis une deuxième adresse IP, celle d'un ami, en plan B.
-
Je vais autoriser toutes les connexions pour les services http et https.
-
J'active le firewall 😇.
-
Je fais un accès ssh. Ca passe avec l'IP de ma box. Ca ne passe pas avec un VPN.
-
Avec l'IP de ma box, je fais un accès ftp et je constate un problème. En fait, sans rentrer dans les détails, Ftp a besoin de deux canaux. Un pour les commandes et un pour les données.
-
Pour régler le problème :
- Il va falloir ajouter une plage de port au niveau de la configuration de vsFTPd.
- Il va falloir ouvrir le trafic pour cette plage au niveau de UFW.
-
On prend en édition la configuration de vsFTPd.
On ajoute ces directives à la fin du fichier de conf.
On recharge la conf de vsFTPd.
-
Maintenant sur UFW, on ouvre les connexions sur cette plage de ports.
Maintenant ça devrait passer sur FTP 😆. Vérifiez l'efficacité du firewall. Pour cela utilisez Nmap et un VPN.