[OSSEC et SSH]Bannissement ip définitif de cracker

plop,

today du ban au menu, à la base j’utilise au minimum fail2ban pour me protéger des attaques par bruteforce et ossec pour une protection plus personnalisée, mais depuis peu, j’ai remarqué que bannir un host 5/10 minutes ne servait à rien contre des machines automatisées dédiée à cette tâche, et une fois la période de ban terminée recommençaient leur manège, me polluant de mails me signalant une tentative de bruteforce.

Alors j’ai imaginé des règles plus simple pour mettre en place un ban définitif des méchants cracker pour ossec :
L’idée est simple, j’ai deux utilisateurs sur ma machine (toto et root, root ne s’authentifiant que par clé et toto par mot de passe) :

  • tout utilisateur tentant de se logguer en root via mot de passe est banni définitivement
  • tout utilisateur tentant de se logguer via un utilisateur invalide (autre que toto) est banni définitivement

Comme ça, on évite les bruteforces à répétition, et on est tranquille pour longtemps avec ces ip là.

Côté règles sur ossec, c’est assez simple à mettre en place :
Dans le fichier rules/local_rules.xml on ajoute entre les balises (group) :

  
    5716
    root
    A noob tryed to login as root with password !!
    authentication_failed,
  

La règles 5716 (if_sid) étant celle des authentifications failed par mot de passe  et match root  pour trouver l’utilisateur root (ça veux donc dire que si on à le bon mot de passe root du premier coup, on peut quand même se logger, ce qui peut être utile dans certain cas, et assez improbable pour un cracker de se logguer).

Ensuite on ajoute dans le fichier etc/ossec.conf

  
    host-deny-for-life
    host-deny.sh
    srcip
    no
  
  
    host-deny-for-life
    local
    5710,100033
  

La règle 100033 étant celle que l’on vient de rajouter et la règle 5710, étant l’utilisation d’un mauvais login, et on applique à ces deux règles la commande host-deny-for-life qui rajoute l’ip au fichier /etc/hosts.deny sans timeout (pour autoriser l’ip, il faudra l’enlever à la main).

Et comme ça plus de bruteforce sur des utilisateurs invalide et sur root.

Cela dit, on peut rajouter se genre de système de ban pour le serveur smtp lorsque d’autres machines tente de l’utiliser comme relay, voir faire des règles de ban automatique pour des serveurs de jeux vidéo avec des logs sur des cheaters, …

Si vous voulez en savoir plus sur ossec, un bouquin de syngress (de très bon bouquin sur l’IT en général) dédié à Ossec a été en partie publié et téléchargeable en pdf sur le site officiel (ça couvre l’installation, la configuration et la création de règle maison).

3 réflexions sur « [OSSEC et SSH]Bannissement ip définitif de cracker »

  1. C’est pas un peu risqué pour le smtp, il y a des serveurs qui requiert une connexion pour vérifier la validité du domaine à partir duquel à été envoyé le mail.

    Ensuite, je me trompe peut être mais il est pas possible de faire la même conf avec uniquement fail2ban ?

  2. Pour le smtp, je pensais plutôt au « clients » qui tente d’utiliser le serveur comme relais (généralement des spammeurs), les serveurs qui vérifie la validité du domaine n’essaient pas d’envoyer des mails par le serveur duquel ils reçoivent le mail.

    fail2ban permet effectivement de faire des trucs similaires, mais comme ossec est plus complet, autant zapper fail2ban et ne mettre en place qu’ossec.

Les commentaires sont fermés.