InfraFenceInfraFence

Live Security Operations

Inizia

SSH e forza bruta

Come InfraFence rileva gli attacchi brute force SSH con 15 pattern nei log, banna gli attaccanti con durate crescenti e protegge i login di posta, database e FTP.

Ultimo aggiornamento:

Cosa legge

Sui server con systemd l'agente legge i messaggi di autenticazione SSH dal journal (le facility auth e authpriv), quindi sono coperte anche le distribuzioni senza rsyslog. Negli altri casi, o in un container, legge /var/log/auth.log o /var/log/secure. AUTH_LOG_PATH lo indirizza a un file non standard. Il log dell'agente indica la fonte: reading authentication messages from ….

I 15 pattern

Nove pattern intercettano le autenticazioni fallite: password e chiavi errate, utenti non validi o non ammessi, errori di autenticazione PAM, maximum authentication attempts exceeded, disconnessioni per autenticazione fallita, utenti non autorizzati, login di root rifiutati, rifiuti dei TCP wrappers e disconnessioni di utenti non validi prima dell'autenticazione.

Altri sei intercettano le scansioni prima dell'autenticazione: nessuna stringa di identificazione, versione del protocollo errata, negoziazione dello scambio di chiavi fallita, errori nello scambio del banner, connessioni chiuse o resettate prima dell'autenticazione e timeout prima dell'autenticazione.

Quando un indirizzo viene bannato

Un indirizzo viene bannato quando i suoi tentativi falliti raggiungono la soglia entro la finestra: per impostazione predefinita 5 tentativi in 60 secondi, configurabili in Impostazioni › Agente (Soglia brute force, Finestra brute force). Ogni ban viene segnalato alla dashboard come evento critico brute_force.

Un indirizzo di un paese che blocchi viene bannato al primo tentativo. Un indirizzo in whitelist non viene mai bannato.

Quanto dura un ban

Impostazioni › Agente › Durata dei ban:

  • Progressiva: 24 ore, 7 giorni, 30 giorni, poi permanente (l'impostazione predefinita): ogni nuovo ban dello stesso indirizzo dura di più;
  • oppure sempre 1 ora, 24 ore, 7 giorni, 30 giorni o permanente.

Un ban parte subito sul server e dura 24 ore finché la dashboard non ne fissa la scadenza definitiva. I ban scadono puntuali sul server anche quando la dashboard non è raggiungibile, e sopravvivono ai riavvii.

Dalla scheda Rete del server puoi usare Cambia durata, Sblocca ora o Aggiungi alla whitelist per qualsiasi ban attivo. Con Ban su tutti i server attivo, un indirizzo bannato su un server viene bannato su tutti i server dell'organizzazione.

Come viene applicato il ban

I ban finiscono nell'ipset infrafence-bans, scartato dalla catena propria dell'agente INFRAFENCE, verso cui salta INPUT (e DOCKER-USER, per le porte dei container). Con ipset l'agente gestisce fino a 65.000 ban; senza, una regola del firewall per indirizzo, fino a 500. Al limite di capacità i ban più vecchi lasciano spazio, con un avviso.

L'agente non banna mai indirizzi di loopback, link-local e privati, gli indirizzi del server stesso, l'indirizzo della dashboard o gli indirizzi in whitelist, nemmeno se gli viene chiesto.

Posta, database e FTP

Lo stesso rilevamento copre gli altri servizi che accettano login, con una soglia fissa di 5 tentativi falliti in 5 minuti:

Servizio Log letti
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/ e le directory 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, il log di autenticazione di sistema per Pure-FTPd

MAIL_LOG_PATH, DB_LOG_PATH e FTP_LOG_PATH sostituiscono i file rilevati. Un watcher che non ha nulla da leggere lo dice nel log, per esempio [mailwatcher] no mail service found — mail attack detection disabled.

Modalità monitor

Con Modalità monitor attiva, ogni tentativo viene comunque rilevato e segnalato, e nulla viene bannato.