Hola a tod@s, hoy os traigo un post también relacionado con Mikrotik, en esta ocasión trata de como mediante reglas de nuestro firewall, podemos bloquear intentos de acceso mediante fuerza bruta al servicio SSH.
Aplicar estas reglas a nuestro firewall, es bastante sencillo, únicamente habría que aplicar las siguientes reglas a través de un terminal utilizando la herramienta winbox o desde el propio sistema operativo RotuerOS:
Primera regla, la cual rechazará todas las conexiones entrantes (input) al router al puerto 22 que provengan de las direcciones IP que estén en la lista ssh_blacklist:
/ip firewall filter add chain=input protocol=tcp dst-port=22 src-address-list=ssh_blacklist action=drop comment="Rechazar ataque fuerza bruta SSH" disabled=no
Segunda regla, la cual rechazará todas las conexiones que atraviesen el router (forward) al puerto 22 que provengan de las direcciones IP que estén en la lista ssh_blacklist:
/ip firewall filter add chain=forward protocol=tcp dst-port=22 src-address-list=ssh_blacklist action=drop comment="" disabled=no
Tercera regla, la cual se encarga de comprobar que una nueva conexión de SSH esté en la lista de direcciones «ssh_stage2» y en caso de ser así es añadida a la lista «ssh_blacklist» durante 10 días:
/ip firewall filter add chain=input protocol=tcp dst-port=22 connection-state=new src-address-list=ssh_stage2 action=add-src-to-address-list address-list=ssh_blacklist address-list-timeout=10d comment="" disabled=no
Cuarta regla, esta regla es parecida a la anterior, pero en este caso se comprueba que una nueva conexión de SSH exista en la lista de direcciones «ssh_stage1» y en caso de ser así es añadida a la lista de direcciones «ssh_stage2» durante 1 minuto:
/ip firewall filter add chain=input protocol=tcp dst-port=22 connection-state=new src-address-list=ssh_stage1 action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=1m comment="" disabled=no
Quinta regla, esta regla, añade a la lista de direcciones «ssh_stage1» todas las nuevas conexiones de SSH durante 1 minuto:
/ip firewall filter add chain=input protocol=tcp dst-port=22 connection-state=new action=add-src-to-address-list address-list=ssh_stage1 address-list-timeout=1m comment="" disabled=no
Si analizamos las reglas, podemos observar que este conjunto de reglas funcionan gracias a las listas de direcciones.
Si seguimos analizando vemos que comprueba un máximo de 3 intentos de acceso:
- 1 primer acceso, donde se registra la dirección IP en la lista de direcciones ssh_stage1 de nuevas conexiones SSH.
- 2 segundo acceso donde se comprueba con la lista de direcciones y en caso de existir pasa a otra lista (ssh_stage2)
- 3 tercer acceso donde en caso de existir en la lista final se añade a la lista «ssh_blacklist» donde, con las reglas de input y forward están configuradas para rechazar las conexiones de las IP’s que estén en la lista «ssh_blacklist».
Espero que esto os ayude a tener una red más segura y robusta. Un saludo, David.