Instalación de fail2ban en CentOS 7

15

Estoy usando la respuesta de @GarethTheRed a esta pregunta para instalar fail2ban en un servidor remoto CentOS 7. Puedo completar todos los pasos hasta tail -f /var/log/fail2ban.log, momento en el que obtengo resultados diferentes a los que él obtiene en su respuesta.

Aquí están los resultados que estoy obteniendo en este paso:

[[email protected] ~]# 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'  

Después de la última línea, solo aparece un cursor pero no aparece el símbolo del sistema a menos que escriba Ctrl-C.

Cuando escribo systemctl status fail2ban, me dice que fail2banestá activo. Cuando cierro sesión en el sistema y vuelvo a iniciar sesión más tarde, sshdme dice que ha habido muchos intentos fallidos de iniciar sesión desde mi último inicio de sesión. Entonces debería haber fail2banregistros. Pero parece que no puedo encontrarlos.

¿Alguien puede mostrarme cómo configurar esto para que fail2bangenere registros que pueda rastrear?

CodeMed
fuente
¿Revisaste los permisos del archivo? Perdí el tiempo más de una vez solo para descubrir que los permisos eran el problema.
codewaggle
1
fail2banahora está en el repositorio de EPEL. Intenta instalarlo desde allí. Desinstale la versión actual y asegúrese de que no haya archivos de configuración residuales, etc. Luego instale desde EPEL. Lo tengo funcionando en una máquina CentOS 7 sin ningún problema.
garethTheRed
Dije una pequeña mentira en el último comentario: olvidé que tenía que arreglarlo hace un tiempo. Respuesta larga a continuación ...
garethTheRed

Respuestas:

32

Intenta instalar fail2bandesde EPEL . Está empaquetado para CentOS 7 y recibirá actualizaciones a medida que se publiquen. Instalar el rpmformulario otro repositorio puede funcionar (lo hizo en este caso) pero no es la mejor manera de hacer las cosas.

En primer lugar, instale el repositorio EPEL emitiendo lo siguiente (como root):

yum install epel-release

Lo anterior debe instalar EPEL y darle acceso a muchos paquetes nuevos . Uno de esos paquetes es fail2ban, por lo tanto, instálelo ejecutando:

yum install fail2ban

Por defecto no hay cárceles configuradas, por lo tanto, para configurar una sshdcárcel básica :

Crea / edita el archivo /etc/fail2ban/jail.localy agrega:

[sshd]
enabled = true

Comience con:

systemctl start fail2ban

Haz que comience en el momento del arranque:

systemctl enable fail2ban

Solía ​​haber un error conocido en el que SELinux bloqueaba el fail2banacceso a los archivos de registro que necesitaba para hacer su trabajo. Esto parece solucionarse en la versión más reciente de CentOS 7; no deberías necesitar hacer los cambios a continuación.

Si tiene este problema, los síntomas son nada que aparece en los registros y nada que aparece como fallido o bloqueado en la salida de fail2ban-client status sshd.

Para verificar el error de SELinux, lea los diarios con:

journalctl -lfu fail2ban

Mírelos para mensajes como:

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

Por lo tanto, haga lo sugerido y ejecute:

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

Luego, para estar seguro, reinicie fail2ban:

systemctl restart fail2ban

Incluso puede que tenga que repetir el proceso anterior hasta que no aparezcan más mensajes de error en el registro.

Si su servidor está en Internet, entonces monitoree fail2ban-client status sshd. Pronto comenzará a mostrar recuentos fallidos y prohibidos si ha detectado todos los problemas de SELinux.

Tenga en cuenta que deberá vigilar las actualizaciones de su política de SELinux. Si selinux-policyaparece una actualización del paquete, puede sobrescribir lo anterior y es posible que deba ejecutar los comandos anteriores nuevamente. ¡Sabrá si este es el caso, ya fail2banque dejará de funcionar nuevamente!

garethTheRed
fuente
Muchas gracias. ¿Debo tomar medidas específicas para desinstalar fail2ban primero? ¿O se maneja automáticamente en los pasos que proporcionó anteriormente?
CodeMed
Primero desinstalaría la versión de Fedora 20 y me aseguraría de que /etc/fail2banse elimine el directorio .
garethTheRed
Esa enabled = trueparte funcionó. Leí en todas partes que ssh está configurado y habilitado de forma predeterminada, pero esto no era cierto.
Rahil Wazir