InfraFenceInfraFence

Live Security Operations

Commencer

SSH et force brute

Comment InfraFence détecte la force brute SSH avec 15 motifs de journal et bannit les attaquants pour des durées croissantes, et comment il protège les connexions mail, base de données et FTP.

Dernière mise à jour:

Ce qu'il lit

Sur les serveurs systemd, l'agent lit les messages d'authentification SSH dans le journal (les facilités auth et authpriv), ce qui couvre les distributions sans rsyslog. Ailleurs, ou dans un conteneur, il lit /var/log/auth.log ou /var/log/secure. AUTH_LOG_PATH lui indique un fichier non standard. Le journal de l'agent nomme la source : reading authentication messages from ….

Les 15 motifs

Neuf motifs repèrent les échecs d'authentification : mots de passe et clés refusés, utilisateurs invalides ou illégaux, échecs d'authentification PAM, maximum authentication attempts exceeded, déconnexions pour échec d'authentification, utilisateurs non autorisés, connexions root refusées, refus des TCP wrappers et déconnexions d'utilisateurs invalides avant l'authentification.

Six autres repèrent les scans avant l'authentification : absence de chaîne d'identification, mauvaise version de protocole, échec de la négociation d'échange de clés, erreurs d'échange de bannière, connexions fermées ou réinitialisées avant l'authentification, et délais dépassés avant l'authentification.

Quand une adresse est bannie

Une adresse est bannie lorsque ses tentatives échouées atteignent le seuil dans la fenêtre de temps : par défaut 5 tentatives en 60 secondes, réglables dans Paramètres › Agent (Seuil de force brute, Fenêtre de force brute). Chaque bannissement est signalé au tableau de bord par un événement critique brute_force.

Une adresse venant d'un pays que vous bloquez est bannie dès sa première tentative. Une adresse en liste blanche n'est jamais bannie.

Combien de temps dure un bannissement

Paramètres › Agent › Durée des bannissements :

  • Croissant : 24 heures, 7 jours, 30 jours, puis définitif (par défaut) : chaque nouveau bannissement de la même adresse dure plus longtemps ;
  • ou toujours 1 heure, 24 heures, 7 jours, 30 jours, ou définitif.

Un bannissement démarre aussitôt sur le serveur et dure 24 heures jusqu'à ce que le tableau de bord fixe son expiration définitive. Les bannissements expirent à l'heure prévue sur le serveur même quand le tableau de bord est injoignable, et ils survivent aux redémarrages.

Dans l'onglet Réseau du serveur, vous pouvez Modifier la durée, Débannir maintenant ou Ajouter à la liste blanche pour tout bannissement actif. Avec Bannir sur tous les serveurs activé, une adresse bannie sur un serveur est bannie sur tous les serveurs de l'organisation.

Comment le bannissement est appliqué

Les bannissements vont dans l'ipset infrafence-bans, rejeté depuis la chaîne propre à l'agent INFRAFENCE, vers laquelle INPUT saute (ainsi que DOCKER-USER, pour les ports des conteneurs). Avec ipset, l'agent gère jusqu'à 65 000 bannissements ; sans, une règle de pare-feu par adresse, jusqu'à 500. À pleine capacité, les bannissements les plus anciens laissent la place, avec un avertissement.

L'agent ne bannit jamais les adresses loopback, link-local et privées, les adresses du serveur lui-même, l'adresse du tableau de bord ni les adresses en liste blanche, même si on le lui demande.

Mail, base de données et FTP

La même détection couvre les autres services qui acceptent des connexions, avec un seuil fixe de 5 tentatives échouées en 5 minutes :

Service Journaux lus
Postfix, Dovecot, Roundcube /var/log/mail.log, /var/log/maillog, /var/log/dovecot.log
MySQL, MariaDB /var/log/mysql/error.log, /var/log/mysqld.log, /var/log/mariadb/mariadb.log
PostgreSQL /var/log/postgresql/ et les répertoires pg_log
MongoDB /var/log/mongodb/mongod.log, /var/log/mongod.log
vsftpd, ProFTPD, Pure-FTPd /var/log/vsftpd.log, /var/log/proftpd/proftpd.log, le journal d'authentification du système pour Pure-FTPd

MAIL_LOG_PATH, DB_LOG_PATH et FTP_LOG_PATH remplacent les fichiers détectés. Un module de surveillance qui n'a rien à lire le dit dans le journal, par exemple [mailwatcher] no mail service found — mail attack detection disabled.

Mode surveillance

Avec le Mode surveillance activé, chaque tentative est toujours détectée et signalée, et rien n'est banni.