Vorrei scegliere il cervello della comunità per quanto riguarda la sicurezza del server Linux, in particolare per quanto riguarda gli attacchi di forza bruta e l'utilizzo di fail2ban vs iptables personalizzati .
Ci sono alcune domande simili là fuori, ma nessuna di esse affronta l'argomento con mia soddisfazione. In breve, sto cercando di determinare la migliore soluzione per proteggere i server Linux esposti a Internet (eseguendo i soliti servizi, ssh, web, posta), dagli attacchi di forza bruta.
Ho un buon controllo della sicurezza del server, ovvero blocco di ssh non consentendo accessi root o password, cambiando la porta predefinita, assicurando che il software sia aggiornato, controllando i file di registro, permettendo solo ad alcuni host di accedere al server e fare uso della sicurezza strumenti di controllo come Lynis ( https://cisofy.com/lynis/ ), per la conformità generale alla sicurezza, quindi questa domanda non è necessariamente relativa a ciò, sebbene input e consigli siano sempre ben accetti .
La mia domanda è quale soluzione dovrei usare (fail2ban o iptables) e come dovrei configurarla, o dovrei usare una combinazione di entrambi per proteggermi dagli attacchi di forza bruta?
C'è una risposta interessante sull'argomento ( Denyhosts vs fail2ban vs iptables: il modo migliore per prevenire accessi a forza bruta? ). La risposta più interessante per me personalmente è stata ( https://serverfault.com/a/128964 ) e che il routing di iptables si verifica nel kernel invece di fail2ban che utilizza strumenti in modalità utente per analizzare i file di registro. Fail2ban utilizza ovviamente iptables, ma deve comunque analizzare i file di registro e abbinare un modello fino a quando non esegue un'azione.
Ha senso quindi usare iptables e usare la limitazione della velocità ( https://www.rackaid.com/blog/how-to-block-ssh-brute-force-attacks/ ) per eliminare le richieste da un IP per un periodo di tempo che fa troppi tentativi di connessione durante un periodo specifico indipendentemente dal protocollo a cui stava tentando di connettersi? Se è così, allora ci sono alcuni pensieri interessanti sull'uso di drop vs reject per quei pacchetti qui ( http://www.chiark.greenend.org.uk/~peterb/network/drop-vs-reject ), qualche idea al riguardo?
Fail2ban consente la configurazione personalizzata sotto forma di essere in grado di scrivere " regole " personalizzate per i servizi che potrebbero non essere risolti nella configurazione predefinita. È facile da installare e configurare ed è potente, ma potrebbe essere eccessivo se tutto ciò che sto cercando di ottenere è " bloccare " un IP dal server se effettuano 2 tentativi di accesso non riusciti su qualsiasi servizio / protocollo su una quantità x di tempo?
L'obiettivo qui è quello di aprire report giornalieri di logwatch e di non dover scorrere le pagine di tentativi di connessione non riusciti al server.
Grazie per aver dedicato del tempo.