Comment installer et utiliser Fail2ban pour la sécurité du serveur Linux

Dans tous les types d'organisations, quel que soit le type d'informations utilisées ou le nombre d'utilisateurs qui en font partie, toujours en tant que personnel des systèmes ou du domaine informatique, nous devons nous assurer que la sécurité est un facteur primordial en son sein, mais lorsqu'un ou plusieurs sont gérés .plus de serveurs.

Lorsque nous parlons de serveurs avec des distributions Linux, nous pensons souvent qu'ils sont exempts d'attaques, mais dans un monde en ligne en constante évolution, il n'y a plus de système sécurisé et toute distribution est exposée à des attaques de logiciels malveillants, de virus, d'attaques DDOS et de nombreux autres. Suite. Como administradores o usuarios con acceso a los eventos y registros del servidor, es normal detectar intentos de inicio de sesión de fuerza bruta, inundaciones web, búsqueda de explotadores y demás amenazas que de una u otra forma pueden poner en riesgo la integridad y disponibilidad de l'information.

Par conséquent, il est nécessaire d'utiliser des outils qui nous offrent les meilleures options et alternatives de sécurité; Et en y réfléchissant, Solvetic vous expliquera comment utiliser Fail2ban pour détecter et sécuriser nos systèmes d'exploitation Linux.

Qu'est-ce que Fail2ban ?Fail2ban a été développé comme un logiciel de prévention d'intrusion, qui analyse les fichiers journaux du serveur tels que / var / log / apache / error_log et interdit ainsi les adresses IP qui contiennent des signes malveillants en tenant compte d'aspects tels que trop d'échecs dans les mots de passe, les recherches de vulnérabilité, etc. .

En règle générale, Fail2Ban est utilisé pour mettre à jour les règles de pare-feu afin qu'il rejette les adresses IP dans une période de temps spécifique, mais vous pouvez également configurer une autre règle qui pourrait mettre en danger la sécurité du système. Bien que Fail2Ban puisse réduire le taux de tentatives d'authentification infructueuses au sein du système, il est idéal que les méthodes d'authentification ne soient pas faibles. Pour cela, nous pouvons configurer les services pour n'utiliser que deux facteurs ou mécanismes d'authentification public/privé pour protéger les services sous Linux.

Conditions requises pour utiliser Fail2ban
La seule dépendance dont nous aurons besoin pour utiliser Fail2ban sera Python, selon la version souhaitée ce sera la suivante :

  • Branche Fail2ban 0.9.x : Python> = 2.6 ou Python> = 3.2
  • Branche Fail2ban 0.8.x : Python> = 2.4
Fail2ban peut éventuellement exiger les éléments suivants :
  • Netfilter / Iptables
  • Mur de rivage
  • Enveloppeur TCP
  • Script de messagerie
  • Ipset

Fonctionnalités Fail2ban
La version actuelle de Fail2ban est la 0.9.x qui nous offre des fonctionnalités telles que :

  • Actions basées sur Python.
  • Prise en charge de la base de données.
  • Analyse multiligne dans les filtres.
  • Prise en charge de la date et de l'heure personnalisées pour les filtres.
  • Reconnaissance du fuseau horaire par défaut.
  • Timeout dans les commandes d'interdiction.
  • Jeu de caractères de reconnaissance dans les fichiers journaux.
  • Python3 + prise en charge
  • Architecture client/serveur.
  • Multi fil.
  • Hautement configurable grâce à l'utilisation de fichiers de configuration divisés.
  • Il utilise par défaut Netfilter / Iptables, mais il sera également possible d'utiliser TCP Wrapper et de nombreux autres pare-feu disponibles.
  • Il permet de gérer plusieurs services en même temps comme sshd, apache, vsftp et plus encore.
  • Exécutez des commandes lorsqu'un modèle est détecté pour la même adresse IP plus de X fois pour interdire cette adresse.

1. Comment installer Fail2ban sur Linux

NoterPour ce cas, nous utiliserons CentOS 7

Étape 1
Pour installer Fail2ban nous allons exécuter les commandes suivantes dans leur ordre :

Mettre à jour le système

 miam mise à jour

Installer les référentiels EPEL
 miam installer epel-release

Nous entrons la lettre y pour confirmer le téléchargement et l'installation du référentiel EPEL.

Étape 2
Ensuite, nous installons Fail2ban en exécutant :

 miam installer fail2ban 

Étape 3
Après cette analyse nous verrons que toutes les dépendances de Fail2ban seront installées. Nous acceptons le téléchargement et l'installation de Fail2ban.

Étape 4
Dans le cas de l'utilisation de Debian ou d'Ubuntu, nous devons exécuter ce qui suit :

 apt-get update && apt-get upgrade -y apt-get install fail2ban
En option, nous pouvons activer la prise en charge de la messagerie, pour les notifications par courrier, en installant sendmail comme suit :

CentOS / RHEL

 miam installer sendmail

Debian/Ubuntu

 apt-get install sendmail-bin sendmail

Étape 5
Après cela, nous allons activer Fail2ban et Sendmail à l'aide des commandes suivantes :

 systemctl démarrer fail2ban systemctl activer fail2ban systemctl démarrer sendmail systemctl activer sendmail

2. Comment configurer Fail2ban sur Linux


Par défaut, Fail2ban utilise les fichiers .conf situés dans le répertoire /etc/fail2ban/; auxquels vous accédez en premier, mais ceux-ci peuvent être remplacés par des fichiers .local situés dans le même répertoire.

Ainsi, le fichier .local n'a pas besoin d'inclure tous les paramètres du fichier .conf, mais uniquement ceux que nous voulons implémenter pour la sécurité du système. Chaque modification doit être apportée aux fichiers .local qui ne sont pas dans le .conf afin d'éviter d'écraser les modifications lors de la mise à jour du package fail2ban.

Étape 1
Pour cela, nous allons copier le fichier fail2ban.conf existant dans fail2ban.local comme ceci :

 cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local

Étape 2
Maintenant il sera possible de faire les modifications dans le fichier .local créé à l'aide d'un éditeur de texte, les valeurs que l'on peut éditer sont :

niveau de journalisationC'est le niveau où les enregistrements sont stockés. Là, nous avons des options telles que:

  • CRITIQUE
  • ERREUR
  • ATTENTION
  • AVIS
  • INFO
  • DÉBOGUER

cible de journalLà, les actions sont enregistrées dans un fichier spécifique, la valeur par défaut est /var/log/fail2ban.log et les options à utiliser sont :

  • STDOUT : sortie de toutes les données.
  • STDERR : Génère toute erreur.
  • SYSLOG : journal basé sur les messages.
  • Fichier : sortie dans un fichier

priseC'est le répertoire dans lequel le fichier socket sera situé.

Fichier pidC'est l'emplacement du fichier pid.

3. Comment configurer Fail2ban jail.local sur Linux


Dans Fail2ban, l'un des fichiers les plus importants est jail.conf, qui définit les prisons ou les mesures de protection. Vous devez y définir les services pour lesquels Fail2ban doit être activé.

Étape 1
Nous allons créer un fichier jail.local pour pouvoir appliquer les modifications, pour cela nous exécutons :

 cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Nous accédons à ce fichier local en utilisant la syntaxe suivante :
 nano /etc/fail2ban/jail.local
Là, nous localisons la ligne backend et modifions la valeur par défaut Auto en systemd :

NoterDans le cas d'Ubuntu ou de Debian, cette modification ne sera pas nécessaire.

Étape 2
Le fichier jail.local activera SSH par défaut pour Debian et Ubuntu, mais pas sur CentOS, donc si nous voulons activer SSH, nous allons ajouter la ligne enabled = true sous [sshd] :

4. Comment configurer les temps d'interdiction et de nouvelle tentative dans Fail2ban Linux


Avec Fail2ban, nous pouvons configurer la manière dont une adresse IP est bloquée. Dans ce but; Pour cela, Fail2ban utilise bantime, findtime et maxretry.

l'heure du banIndique le nombre de secondes pendant lesquelles une adresse IP restera bannie (10 min par défaut).

Trouver le tempsIl s'agit de la durée entre les tentatives de connexion, avant que l'hôte ne soit supprimé. (par défaut 10 minutes)

essai maxFait référence au nombre de tentatives qui doivent être effectuées avant qu'une interdiction ne soit appliquée. (par défaut 3 tentatives).

5. Comment configurer les adresses IP en liste blanche dans Fail2ban Linux


Il est possible d'ajouter des adresses IP à la liste blanche Fail2ban (autorisé). Pour cela, dans le fichier jail.local il faut décommenter la ligne suivante :
 ignoreip = 127.0.0.1/8 :: 1
Là, nous pouvons entrer les adresses IP qui doivent être ignorées. Les adresses IP doivent être séparées par des espaces ou des virgules.

6. Comment créer des alertes par e-mail dans Fail2ban Linux


Cette option est idéale si nous voulons recevoir des alertes sur tout changement ou actualité dans les dossiers. Pour ce faire, nous devons éditer le fichier /etc/fail2ban/jail.local, les options sont :

destemailIl s'agit de l'adresse e-mail où la notification sera reçue.

Nom de l'expéditeurC'est l'expéditeur que nous verrons lorsque le message sera reçu.

ExpéditeurIndique l'adresse e-mail à partir de laquelle Fail2ban enverra les e-mails.

Le mta par défaut (agent de transfert de courrier) est configuré avec sendmail.

Pour recevoir une notification par mail, il faudra également modifier le paramètre « Action » à la ligne suivante :

 Action =% (action_) s
Par la configuration suivante :
 action =% (action_mw) s action =% (action_mwl) s
Bannir l'hôte et envoyer des e-mails avec un rapport whois
 % (action_mw) s

Il interdira l'hôte, générera des informations whois et toutes les informations pertinentes à partir du fichier journal

 % (action_mwl) s

7. Configurations Linux Fail2ban supplémentaires


Si vous souhaitez configurer une prison, elle doit être activée dans le fichier jail.local. La syntaxe est la suivante :
 [prison]… activé = vrai
Nous pouvons voir la structure de la prison pour SSHD. Fail2ban ajoute automatiquement les paramètres supplémentaires.

Il sera également possible d'activer le filtre permettant de l'identifier si une ligne du registre est en défaut. La valeur du filtre est une référence à un fichier avec le nom du service suivi de .conf. Par exemple, nous pouvons utiliser

 /etc/fail2ban/filter.d/sshd.conf.
La syntaxe à utiliser est :
 filtre = service
Au fur et à mesure que nous ajoutons des jails, nous pouvons utiliser le client Fail2ban pour voir lesquelles sont actives sur le serveur, pour cela nous exécutons ce qui suit :
 statut fail2ban-client
Là, ils seront déployés au fur et à mesure que nous créons ces restrictions.

Nous pouvons voir comment Fail2ban est un utilitaire pratique pour augmenter la sécurité des distributions Linux en évitant les accès non autorisés et tout ce qui concerne les mauvaises pratiques exécutées dans l'organisation.

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave