Agregando a la buena respuesta de @Labadadada arriba, mi principal preocupación es tener que hacer esto manualmente. Quizás quieras echar un vistazo a fail2ban . Incluso si no pretende usarlo como está, puede intentar emular lo que hace por otros medios.
En esencia, fail2ban
vigila tus archivos de registro y compara patrones. Por ejemplo, puede detectar fácilmente múltiples inicios de sesión fallidos a través de SSH desde una IP específica. A continuación, configura qué acciones realizar y después de qué umbral. Entonces, por ejemplo, bloquee todos los accesos desde la IP después de 5 inicios de sesión SSH fallidos durante 15 minutos. Puede bloquear la IP completa de todos los accesos, o limitar el bloqueo al puerto específico (22), y puede configurar el tiempo después del cual 'desbloquearlo', el umbral, etc.
Esto le da algún tipo de combinación entre IDS / IPS y un firewall.
Creo que el enfoque de fail2ban
ofrece una muy buena solución porque:
- no es necesario que haga nada manualmente, aparte de definir esos filtros. Aunque hay muchos filtros listos para usar listos para usar.
- no tienes que preocuparte si tu lista negra se alarga demasiado, se limpia automáticamente.
- cualquier ataque persistente aún será mitigado, bloqueado y 're-bloqueado' si es necesario.