Otra sugerencia, eso es realmente mejor que fail2ban, es apagar el firewall TODOS los ips EXCEPTO para unos pocos permitidos.
Por lo tanto, digamos que tiene un servidor SSH en casa al que puede acceder desde su casa de vacaciones (banda ancha móvil 3G) y su trabajo.
Su trabajo probablemente tenga una IP estática. Es fácil decirle al firewall que permita que pasen los paquetes para esta IP.
La banda ancha móvil 3G cambia cada conexión, pero puede buscar fácilmente en WHOIS, que es la serie asignada por los ISP. Por ejemplo: "123.123.0.0 a 123.123.255.255". Luego le dice a su firewall que deje pasar el 123.123.0.0/16 al puerto 22 en su servidor.
Incluso en este caso, ha permitido que todos los clientes de ese operador de telefonía móvil 3G se autentiquen contra su servidor SSH, pero TODAVÍA es una GRAN mejora en la seguridad, ya que en lugar de permitir que todo el mundo se autentique contra su servidor SSH, en cambio, tiene un límite esto solo para clientes que tienen una cuenta ISP específica en un país.
Los bloqueos de país también son una muy buena idea si tiene varios usuarios en su servidor SSH pero sabe que todos los usuarios están en un país específico. Por ejemplo, si les vendió alojamiento web a ellos, pero utilizando un método de pago que solo pueden usar los ciudadanos en un país específico. Entonces es más seguro simplemente bloquear todos los países, excepto los países de los que acepta clientes.
Otro paso que puede tomar es limitar la velocidad de inicio de sesión usando iptables como este:
iptables -A ENTRADA-p tcp --dport 22 -m conntrack --ctstate NUEVO -m límite - límite 3 / minuto --limit-burst 3 -j ACEPTAR
iptables -A ENTRADA -p tcp --dport 22 -m conntrack --ctstate ESTABLECIDO -j ACEPTAR
el uso de dos reglas de firewall arriba limitan cualquier intento de inicio de sesión a 3 veces por minuto. modifique de acuerdo a sus necesidades.