Améliorez la sécurité du serveur Ubuntu par l’ajout d’un système de détection des intrusions. Pour cela, vous voudrez probablement vous tourner vers Fail2ban. Fail2ban surveille des fichiers journaux spécifiques (situés dans le répertoire /var/log) pour détecter les tentatives de connexion échouées ou les attaques automatisées.

Lorsque Fail2ban détecte une tentative de compromission à partir d’une adresse IP, il bloque cette adresse (en ajoutant une nouvelle chaîne au système de sécurité iptables) pour l’empêcher d’accéder au serveur.

Pour installer Fail2ban, vous devez disposer d’un accès shell sur n’importe quelle version prise en charge du serveur Ubuntu, avec un compte disposant des privilèges sudo permettant l’installation de nouveaux paquets logiciels avec Ubuntu 18.04.

Comment installer Fail2ban

Installez Fail2ban à l’aide d’Apt. Il est préférable d’effectuer l’installation sur une plate-forme serveur fraîchement mise à jour, et si la version du noyau est mise à jour, redémarrez le serveur avant d’installer Fail2ban.

Une fois l’installation terminée, démarrez et activez Fail2ban avec les deux commandes suivantes :

sudo systemctl start fail2ban
sudo systemctl enable fail2ban

Fail2ban fonctionne maintenant sur le système et est prêt à être configuré.

LINUX MINT OU UBUNTU : QUELLE DISTRIBUTION CHOISIR ?

Configuration de Fail2ban

Fail2ban est configuré à l’aide de jails. Un jail définit la manière dont un service surveille et la rapidité avec laquelle il prend des mesures contre les attaques.

Dès le départ, le système est déjà sécurisé. Cependant, il est également très flexible. Le fichier de configuration principal est /etc/fail2ban/jail.conf. Ne modifiez pas ce fichier. Créez plutôt un nouveau fichier avec l’extension .local. Fail2ban lit toujours les fichiers .conf en premier et les fichiers .local en second. Toute configuration lue dans le fichier .local remplacera les configurations similaires dans le fichier .conf.

Exemple de configuration

Supposons que vous souhaitiez créer un jail personnalisé pour le démon Secure Shell qui.. :

Surveiller /var/log/auth.log.
Utiliser le filtre fail2ban sshd par défaut.
Définir le port SSH à 22.
Définir le nombre maximum de tentatives à 3.

Les personnalisations de ssh dans le jail .local remplaceront toute configuration similaire trouvée dans le fichier de configuration principal, jail.conf (par exemple, le nombre maximum de tentatives par défaut dans jail.conf est fixé à 5). Avec cette prison en place, si une personne (ou un robot) échoue trois fois dans une tentative de connexion SSH, l’adresse IP d’origine sera bannie.

Pour configurer cela, lancez la commande

sudo nano /etc/fail2ban/jail.local

Dans ce nouveau fichier, collez le contenu suivant :

[sshd]
enabled = true
port = 22
filtre = sshd
logpath = /var/log/auth.log
maxretry = 3

Sauvegardez et fermez le fichier, puis redémarrez Fail2ban avec la commande :

sudo systemctl restart fail2ban

Tester Fail2ban

Pour tester Fail2ban, allez sur une autre machine avec une adresse IP différente et lancez une session Secure Shell sur le serveur, en tapant à chaque fois le mot de passe de l’utilisateur de manière incorrecte. Après le troisième échec de connexion, ce compte utilisateur est interdit.

Capture d’écran de Fail2ban bloquant une adresse IP.

Même si vous tentez de vous reconnecter au serveur en SSH à partir de la même adresse IP, l’accès est toujours refusé.
Débloquer une adresse IP

Débloquez une adresse IP à l’aide de la commande fail2ban-client (qui est installée avec fail2ban) comme suit :

sudo fail2ban-client set sshd unbanip 192.168.1.100