UP | HOME
LPASRSI

Modules « Système Linux »

Vacations en licence professionnelle « Audit et Sécurité des Réseaux et Systèmes d'Information » à l'antenne de Ifs du pôle de Caen de l'IUT Grand Ouest Normandie


M81 : Détection d’intrusion

Travaux pratiques : IPS Fail2ban

Fail2ban est un IDS hôte (HIDS) qui va lire les journaux de l’hôte (sonde), pour y détecter des accès refusés répétés (analyse) et bloquer le cas échéant les acteurs de la menace (action). Ce blocage prévenant de nouvelles tentatives, on parle d’IPS.

Il sera installé sur la VM CentOS. Pour le déclencher sans vous autobannir, tentez l’intrusion depuis une autre VM ou depuis localhost (dans ce cas modifier la directive ignoreself).

  1. Si nécessaire, installer les sources de paquetages EPEL (Extra Packages for Enterprise Linux) : sudo yum install epel-release
  2. Installer fail2ban en prenant soin d’examiner le nom des paquetages installés pour dépendance.
  3. Lister le contenu du répertoire de configuration de Fail2ban. Expliquer la fonction de chacun des éléments (fichiers et dossiers).
  4. En partant de la section [sshd] dans le fichier jail.conf, en utilisant grep de manière récursive dans le dossier, identifier le journal utilisé par l’IPS pour identifier les tentatives d’intrusion.
  5. Activer le contrôle du processus sshd. Quelle directive avez-vous modifié/ajouté ?
  6. Configurer ce contrôle conformément à la modification du port d’écoute du service (22 -> 1337). Quelle directive avez-vous modifié/ajouté ?
  7. Positionner la durée de banissement à une heure. Quelle directive avez-vous modifié ? Quelle valeur avez-vous choisi ?
  8. Démarrer et activer le service afin qu’il soit démarré si le système redémarre. Quelle commande avez-vous utilisé ?
  9. Afficher en temps réel les modifications apportées (tail -f) aux fichiers /var/log/secure/ et /var/log/fail2ban.log.
  10. Déclencher la protection de l’IPS en échouant plusieurs fois à vous connecter au service SSH (mauvais nom d’utilisateur, mauvaise clé, mauvais mot de passe, …)
  11. Vérifier les règles nft. Que constatez-vous ? Justifiez.
  12. Explorer les fonctionnalités de la commande fail2ban-client. Comment afficher l’état de l’IPS ? Quel est le résultat de cette commande ?
  13. Ajouter l’adresse IP à la liste blanche. Quelle directive avez-vous modifié/ajouté ?
  14. Jouer avec les paramètres findtime et maxretry. Comment sont liés ces paramètres ?
  15. Identifier la regex utilisée par fail2ban pour identifier les tentatives d’intrusion sur SSH (examiner les lignes de logs apparues à la question 9) .
  16. Si le serveur SSH est configuré pour n’autoriser que les connexions par clés, une tentative de connexion avec une clé erronée sera du type : Connection closed by authenticating user olm 194.199.112.169 port 43032 [preauth]. Compléter les regex utilisées par fail2ban pour détecter les tentatives d’intrusion sur SSH pour prendre en compte ce cas.