Installazione di fail2ban su CentOS 7


15

Sto usando la risposta di @GarethTheRed a questa domanda per installare fail2ban su un server CentOS 7 remoto. Sono in grado di completare tutti i passaggi fino a quando tail -f /var/log/fail2ban.log, a quel punto, ottengo risultati diversi da quelli che ottiene nella sua risposta.

Ecco i risultati che sto ottenendo in questo passaggio:

[root@remotecentosserver.com ~]# tail -f /var/log/fail2ban.log
2014-12-02 16:55:53,548 fail2ban.server.server[6667]: INFO    Changed logging target to /var/log/fail2ban.log for Fail2ban v0.9.0
2014-12-02 16:55:53,550 fail2ban.server.database[6667]: INFO    Connected to fail2ban persistent database '/var/lib/fail2ban/fail2ban.sqlite3'
2014-12-02 16:55:54,239 fail2ban.server.database[6667]: WARNING New database created. Version '2'  

Dopo l'ultima riga, ottengo solo un cursore ma nessun prompt dei comandi a meno che non scrivo Ctrl-C.

Quando scrivo systemctl status fail2ban, mi dice che fail2banè attivo. Quando esco dal sistema e accedo più tardi, sshdmi dice che ci sono stati molti tentativi falliti di accedere dal mio ultimo accesso. Quindi dovrebbero esserci dei fail2banregistri. Ma non riesco a trovarli.

Qualcuno può mostrarmi come ottenere questa impostazione in modo da fail2bangenerare registri che posso monitorare?


Hai controllato le autorizzazioni del file? Ho perso tempo più di una volta solo per scoprire che le autorizzazioni erano il problema.
codewaggle

1
fail2banè ora nel repository EPEL. Prova a installarlo da lì. Disinstallare la versione corrente e assicurarsi che non vi siano file di configurazione residui ecc. Quindi installare da EPEL. Ho funzionato su una macchina CentOS 7 senza problemi.
garethTheRed,

Ho detto una piccola bugia nell'ultimo commento - ho dimenticato che dovevo ripararlo qualche tempo fa. Risposta lunga di seguito ...
garethTheRed

Risposte:


32

Prova a installare fail2banda EPEL . È confezionato per CentOS 7 e riceverai gli aggiornamenti man mano che vengono rilasciati. L'installazione del rpmmodulo potrebbe funzionare con un altro repository (in questo caso ha funzionato) ma non è il modo migliore di fare le cose.

Prima di tutto, installa il repository EPEL emettendo il seguente (come root):

yum install epel-release

Quanto sopra dovrebbe installare EPEL e darti accesso a molti nuovi pacchetti . Uno di questi pacchetti è fail2ban, quindi installalo eseguendo:

yum install fail2ban

Per impostazione predefinita non ci sono sshdjail configurate, quindi per configurare una jail di base :

Crea / modifica il file /etc/fail2ban/jail.locale aggiungi:

[sshd]
enabled = true

Inizia con:

systemctl start fail2ban

Fallo iniziare all'avvio:

systemctl enable fail2ban

C'era un bug noto in cui SELinux fail2banimpediva l'accesso ai file di registro necessari per fare il suo lavoro. Questo sembra essere stato risolto nella versione più recente di CentOS 7; non dovresti aver bisogno di apportare le modifiche di seguito.

Se si riscontra questo problema, i sintomi non vengono visualizzati nei registri e nulla viene visualizzato come non riuscito o bloccato nell'output di fail2ban-client status sshd.

Per verificare l'errore SELinux, leggere le riviste con:

journalctl -lfu fail2ban

Guardali per messaggi come:

SELinux is preventing /usr/bin/python2.7 from getattr access on the file .
       *****  Plugin catchall (100. confidence) suggests   **************************
       If you believe that python2.7 should be allowed getattr access on the  file by default.
       Then you should report this as a bug.
       You can generate a local policy module to allow this access.
       Do 
       allow this access for now by executing:
       # grep fail2ban-server /var/log/audit/audit.log | audit2allow -M mypol
       # semodule -i mypol.pp

Quindi fai come suggerito ed esegui:

grep fail2ban-server /var/log/audit/audit.log | audit2allow -M mypol
semodule -i mypol.pp

Quindi, per sicurezza, riavvia fail2ban:

systemctl restart fail2ban

Potrebbe anche essere necessario ripetere la procedura sopra descritta fino a quando non vengono più visualizzati messaggi di errore nel registro.

Se il tuo server è su Internet, monitora fail2ban-client status sshd. Presto inizierà a mostrare conteggi falliti e vietati se hai riscontrato tutti i problemi di SELinux.

Nota che dovrai tenere d'occhio gli aggiornamenti delle tue politiche SELinux. Se viene visualizzato un selinux-policyaggiornamento del pacchetto, potrebbe sovrascrivere quanto sopra e potrebbe essere necessario eseguire nuovamente i comandi sopra. Saprai se questo è il caso, poiché fail2bansmetterà di funzionare di nuovo!


Grazie mille. Devo prendere misure specifiche per disinstallare prima fail2ban? O viene gestito automaticamente nei passaggi sopra indicati?
CodeMed,

Prima disinstallerei la versione da Fedora 20 e mi assicurerei che la directory /etc/fail2banvenga cancellata.
garethTheRed,

Quella enabled = trueparte ha funzionato. Ho letto ovunque che ssh è configurato e abilitato di default, ma questo non era vero.
Rahil Wazir,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.