Utilisation de fail2ban pour protéger votre serveur

Utilisation de fail2ban pour protéger votre serveur

Tous services connectés à l’Internet risquent d’être attaqués par force brute: de nombreux robots et attaquants essaient des mots de passe/utilisateurs aléatoires pour se connecter à votre serveur. Le serveur OpenSSH et le client lui-même sont assez sécurisés, mais comme tout le reste, il peut être craqué avec des attaques par force brute. Pour protéger le serveur j’utilise fail2ban qui bloque l’adresse IP pendant un certain temps après un certain nombre d’échecs de connexions.

Installation fail2ban 

On va installer fail2ban  sur Ubuntu 20.04 64 Bit 

apt update && apt upgrade -y

sudo apt install fail2ban

Pour vérifier si il est bien installé on va vérifier status:

systemctl status fail2ban

Configuration de fail2ban

Le service fail2ban conserve ses fichiers de configuration dans /etc/fail2ban/jail.conf

Chaque fois que vous mettez à jour le programme, ce fichier sera remplacé, nous allons donc changer la copie de ce fichier et le nommer jail.local 

sudo cp /etc/fail2ban/jail.{conf,local}

On va ouvrir et configurer jail.local  :

nano /etc/fail2ban/jail.local

Il faut corriger paramètres situé dans la section [DEFAUT] les paramètres suivantes:

bantime – le paramètre définit l’intervalle de temps, le client sera banni.  Pour bannir définitivement une IP, utilisez un nombre négatif.

maxretry est le nombre d’échecs avant qu’une IP soit bannie. La valeur par défaut est 5, ce qui devrait convenir à la plupart des utilisateurs.

findtime est la durée entre le nombre d’échecs avant qu’une interdiction ne soit définie.

 Avec les paramètres par défaut, le service fail2ban bannit un client qui tente sans succès de se connecter 5 fois dans une fenêtre de 10 minutes.

Je configure:

  • bantime  = 120m
  • findtime  = 10m
  • maxretry = 5

Aussi vous pouvez ajouter adresses IP, plages d’adresses IP ou hôtes que vous souhaitez exclure de l’interdiction.

Décommenter la ligne commençant par ignoreip et ajoutez vos adresses IP séparées par un espace :

Par exemple:

Si vous changez votre port SSH en 222 (par example), vous remplacerez ssh par ce numéro:

[sshd]
# To use more aggressive sshd modes set filter parameter "mode" in jail.local:
# normal (default), ddos, extra or aggressive (combines all).
# See "tests/files/logs/sshd" or "filter.d/sshd.conf" for usage example and details.
#mode = normal
port = 222
logpath = %(sshd_log)s
backend = %(sshd_backend)s

Chaque fois que vous modifiez le fichier de configuration, vous devez redémarrer le service fail2ban pour que les modifications prennent effet :

systemctl restart fail2ban

Pour afficher les IP bannie

fail2ban-client status sshd

 

Débloquer l’IP :

fail2ban-client set sshd unbanip 123.123.123.123

Bloquer l’IP :

fail2ban-client set sshd banip 123.123.123.123

Pour plus d’informations sur ce sujet et pour plus d’informations sur la configuration, visitez https://www.fail2ban.org/

 

 

 

Comments are closed