Tengo un fail2ban configurado como a continuación:
- bloquear la ip después de 3 intentos fallidos
- liberar la IP después de 300 segundos de tiempo de espera
Esto funciona perfectamente y quiero mantenerlo así para que un usuario válido tenga la oportunidad de volver a intentar el inicio de sesión después del tiempo de espera. Ahora, quiero implementar una regla en la que si se detecta la misma IP como ataque y se bloquea, se desbloquea 5 veces, se bloquea permanentemente la IP y nunca se vuelve a desbloquear. ¿Se puede lograr esto solo con fail2ban o necesito escribir mi propio script para hacerlo?
Estoy haciendo esto en centos.
Respuestas:
Antes de 0.11, no había una función predeterminada o una configuración dentro de fail2ban para lograr esto. Pero a partir de la próxima versión 0.11, el tiempo de prohibición se calcula automáticamente y aumenta exponencialmente con cada nuevo delito que, a largo plazo, significará un bloqueo más o menos permanente.
Hasta entonces, su mejor enfoque probablemente sea configurar fail2ban para monitorear su propio archivo de registro . Es un proceso de dos pasos ...
Paso 1
Podríamos necesitar crear un filtro para verificar si hay BAN en el archivo de registro (archivo de registro de fail2ban)
Paso 2
Necesitamos definir la cárcel , similar a lo siguiente ...
Técnicamente, no es un bloqueo permanente , sino solo bloques por un año (que también podemos aumentar).
De todos modos, para su pregunta (¿Se puede lograr esto solo con fail2ban o necesito escribir mi propio script para hacer eso?) ... escribir el propio script podría funcionar bien. Lo que recomendaría es configurar el script para extraer las IP prohibidas con frecuencia y luego ponerlas en ellas
/etc/hosts.deny
.fuente
sshd_config
, esto podría bloquear solo 3 inicios de sesión fallidos para una "sesión" sshd, no se proporcionan 3 inicios de sesión fallidos. Por ejemplo, de manera predeterminada, un atacante podría intentar ['pass1', 'pass2', 'pass3'] en una sola sesión antes de que sshd se desconecte. Dependiendo de cómo se configure sshd para iniciar sesión, esto podría aparecer como 1, 2 o 3 intentos de fail2ban.Creo que si pones
bantime = -1
en esa sección de configuración, es un bloque permanente.fuente
bantime
un valor negativo es una prohibición permanente (a partir de Fail2Ban ver. 0.6.1 (16/03/2006))Phil Hagen escribió un excelente artículo sobre este tema. " Prohibir permanentemente a los delincuentes reincidentes con fail2ban ".
Su sugerencia es la misma que Pothi, pero proporciona una guía paso a paso.
Esto incluyó:
fuente
Para ampliar la respuesta de Chin esto es bastante simple. Simplemente edite las 2 configuraciones
/etc/fail2ban/jail.local
para que coincidan con sus preferencias.fuente
fail2ban ya tiene una cárcel para prohibir la reincidencia. Si observas
/etc/fail2ban/jail.conf
, encontrarás:¿Cómo agregar en jail.local?
Para la comprobación del nivel de registro que se puede hacer:
fail2ban-client get loglevel
.Con la versión anterior de fail2ban, puede obtener este error .
fuente
Vaya a vim, abra /etc/fail2ban/jail.conf
y simplemente modificar después de
fail2ban service restart
:fuente