Sécurité

Comment configurer un IPS (Fail2ban) pour se protéger de différentes attaques

Comment configurer un IPS (Fail2ban) pour se protéger de différentes attaques

IPS ou Intrusion Prevention System est une technologie utilisée dans la sécurité des réseaux pour examiner le trafic réseau et empêcher différentes attaques en détectant les entrées malveillantes. En plus de simplement détecter les entrées malveillantes comme le fait le système de détection d'intrusion, il empêche également le réseau des attaques malveillantes. Il peut empêcher le réseau de force brute, DoS (Denial of Service), DDoS (Distributed Denial of Service), Exploits, vers, virus et autres attaques courantes. Les IPS sont placés juste derrière le pare-feu et peuvent envoyer des alarmes, supprimer des paquets malveillants et bloquer les adresses IP incriminées. Dans ce didacticiel, nous utiliserons Fail2ban, qui est un progiciel de prévention des intrusions, pour ajouter une couche de sécurité contre différentes attaques par force brute.

Comment fonctionne Fail2ban

Fail2ban lit les fichiers journaux (e.g. /var/log/apache/error_log) et obtient les adresses IP incriminées qui tentent trop de mots de passe échoués ou recherchent des exploits. Fondamentalement, Fail2ban met à jour les règles de pare-feu pour bloquer différentes IP sur le serveur. Fail2ban fournit également des filtres à l'aide desquels nous pouvons utiliser pour un service spécifique (e.g., apache, ssh, etc.).

Installation de Fail2ban

Fail2ban n'est pas pré-installé sur Ubuntu, donc avant de l'utiliser, nous devons l'installer.

[email protected]:~$ sudo apt-get update -y
[email protected] :~$ sudo apt-get install fail2ban

Après avoir installé Fail2ban, démarrez et activez le service Fail2ban à l'aide de la ligne de commande.

[email protected]:~$ sudo systemctl start fail2ban
[email protected]:~$ sudo systemctl enable fail2ban


Vérifiez maintenant l'état du service fail2ban pour confirmer s'il a démarré ou non.

[email protected]:~$ sudo systemctl status fail2ban

Configuration de Fail2ban pour SSH

Nous pouvons configurer Fail2ban en modifiant /etc/fail2ban/jail.fichier de configuration. Avant de le modifier, faites une sauvegarde de ce fichier.

[email protégé] :~$ sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Nous allons maintenant configurer Fail2ban pour empêcher le service sshd des entrées malveillantes. Ouvrez /etc/fail2ban/jail.fichier local dans votre éditeur préféré.

[email protégé] :~$ sudo nano /etc/fail2ban/jail.local

Allez sur [défaut] et entrez les paramètres de configuration sous [défaut] section.

[DÉFAUT]
ignoreip = 127.0.0.1/8 192.168.18.10/32
bantime = 300
essai max = 2
temps de recherche = 600

ignorer est la liste des masques cidr, des adresses IP ou des hôtes DNS séparés par un espace. Ajoutez vos IP de confiance à cette liste, et ces IP seront sur liste blanche et ne seront pas bloquées par fail2ban même si elles effectuent une attaque par force brute sur le serveur.

l'heure du ban est la durée pendant laquelle une adresse IP sera bloquée après avoir effectué un nombre spécifique de tentatives infructueuses sur le serveur.

essai max est le nombre maximum de tentatives infructueuses après lequel une adresse IP est bloquée par fail2ban pendant une durée spécifique.

trouver le temps est la durée pendant laquelle si un hôte fait essai max tentatives infructueuses, il sera bloqué.

Après avoir configuré les paramètres ci-dessus, nous allons maintenant configurer le service sur lequel les règles ci-dessus vont s'appliquer. Par défaut, Fail2ban a des filtres prédéfinis pour différents services, nous n'avons donc pas besoin de saisir d'entrées spécifiques pour les services. Nous activons ou désactivons uniquement différents services dans le fichier de configuration. Ouvrez /etc/fail2ban/jail.fichier local dans votre éditeur préféré.

[email protégé] :~$ sudo nano /etc/fail2ban/jail.local

Trouvez le [sshd] dans le fichier et entrez les paramètres suivants dans la section.

[sshd]
activer = vrai
port = ssh
filtre = sshd
logpath = /var/log/auth.Journal
essai max = 3

activée définit si ce service est protégé par fail2ban ou non. Si enabled est vrai, alors le service est protégé ; sinon, il n'est pas protégé.

Port définit le port de service.

filtre fait référence au fichier de configuration que fail2ban utilisera. Par défaut, il utilisera /etc/fail2ban/filter.d/sshd.fichier conf pour le service ssh.

chemin de journalisation définit le chemin d'accès aux journaux, fail2ban surveillera pour protéger le service contre différentes attaques. Pour le service ssh, les journaux d'authentification peuvent être trouvés dans /var/log/auth.log, donc fail2ban surveillera ce fichier journal et mettra à jour le pare-feu en détectant les échecs de connexion.

essai max définit le nombre de tentatives de connexion échouées avant d'être bloqué par le fail2ban.

Après avoir appliqué la configuration ci-dessus pour fail2ban, redémarrez le service pour enregistrer les modifications.

[email protected]:~$ sudo systemctl restart fail2ban.un service
[email protected]:~$ sudo systemctl status fail2ban.un service

Test de Fail2ban

Nous avons configuré fail2ban pour protéger notre système contre les attaques par force brute sur le service ssh. Maintenant, nous allons faire des tentatives de connexion infructueuses sur notre système à partir d'un autre système pour vérifier si fail2ban fonctionne ou non. Après avoir fait quelques tentatives de connexion infructueuses maintenant, nous allons vérifier les journaux fail2ban.

[email protégé] :~$ cat /var/log/fail2ban.Journal

Nous pouvons voir qu'après des tentatives de connexion infructueuses, l'IP a été bloquée par fail2ban.

Nous pouvons obtenir une liste de tous les services pour lesquels fail2ban est activé en utilisant la commande suivante.

[email protected]:~$ sudo fail2ban-client status


La figure ci-dessus montre que nous avons activé fail2ban uniquement pour le service sshd. Nous pouvons obtenir plus d'informations sur le service sshd en spécifiant le nom du service dans la commande ci-dessus.

[email protected]:~$ sudo fail2ban-client status sshd

Fail2ban débloque automatiquement l'adresse IP interdite après l'interdiction, mais nous pouvons débloquer n'importe quelle IP à tout moment en utilisant la ligne de commande. Cela donnera plus de contrôle sur fail2ban. Utilisez la commande suivante pour débloquer l'adresse IP.

[email protected]:~$ sudo fail2ban-client set sshd unbanip 192.168.43.35

Si vous essayez de débloquer une adresse IP qui n'est pas bloquée par fail2ban, il vous dira simplement que l'IP n'est pas bloquée.

[email protected]:~$ sudo fail2ban-client set sshd unbanip 192.168.43.35

Conclusion

Pour un administrateur système ou un ingénieur en sécurité, c'est un grand défi de maintenir la sécurité des serveurs. Si votre serveur est protégé par le mot de passe, et non par une paire de clés publique et privée, alors votre serveur est plus vulnérable aux attaquants par force brute. Ils peuvent entrer dans votre système en appliquant différentes combinaisons de mots de passe. Fail2ban est un outil qui peut empêcher les attaquants de lancer différents types d'attaques, y compris les attaques par force brute et les attaques DDoS sur votre serveur. Dans ce tutoriel, nous avons discuté de la façon dont nous pourrions utiliser Fail2ban pour protéger notre serveur de différentes attaques. Nous pouvons également utiliser Fail2ban pour protéger d'autres services tels que Apache, Nginx, etc.

Comment booster les FPS sous Linux?
FPS signifie Images par seconde. La tâche du FPS est de mesurer la fréquence d'images dans les lectures vidéo ou les performances de jeu. En termes si...
Meilleurs jeux de laboratoire d'applications Oculus
Si vous êtes propriétaire d'un casque Oculus, vous devez être au courant du chargement latéral. Le chargement latéral est le processus d'installation ...
Top 10 des jeux à jouer sur Ubuntu
La plate-forme Windows a été l'une des plates-formes dominantes pour les jeux en raison du pourcentage énorme de jeux qui se développent aujourd'hui p...