Cómo evitar ataques de diccionario al servidor de SSH

Imagen de Epe

Bueno, no es perfecta pero ayuda.

Estas 3 reglas

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j LOG --log-prefix "SSH_brute_force "
iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j DROP


Lo que hará es evitar que hayan más de 3 conexiones al puerto 22 en el mismo minuto, de forma tal que un atacante tendrá una demora tratando de realizar un ataque de diccionario, se le demorará.

Cómo probarlo? Una vez pongas las 3 reglas abre y cierra 3 veces sesiones de ssh al servidor.. varás cómo te castiga durante un rato... y pasado el castigo podrás entrar.

No es precisamente una forma de evitar un ataque completamente, esto sólo le enlentece, y además en los logs te guardará cualquier intento que haya bloqueado.

Olvidé mencionar por qué no era perfecta:
1- un atacante con calma igual descubrirá la clave, pues le banearás durante un minuto y él entrará y así en oleadas hasta descubrirla, pero te garantizo que le desanimará bastante

2- la peor de las desventajas, estas reglas cuentan sesiones nuevas de ssh, sin importar si son o no fallidas, lo que si en un minuto abres 3 veces sesiones ssh al servidor (ya sea legítima o ilegítimamente) el sistema te bloqueará.

Comentarios

Muchas gracias Epe, creo que

Muchas gracias Epe, creo que también una manera de evitar este tipo de ataques sería cambiar el puerto de escuha de ssh:

en /etc/ssh/sshd_config


Port 22000

Con esto estamos cambiando el puerto de escucha de ssh del 22 al 22000, luego solamente tocaría reiniciar el servicio de ssh.

# service sshd restart

Si hacen este cambio no olvidarse de permitir el puerto 22000 en tcp si tienen un firewall antes.

Saludos,

Bueno, eso te libera de los

Imagen de deathUser

Bueno, eso te libera de los que solo buscan en los puertos estándar, pero luego de un portscan te identifican el puerto y es ahí donde entra el tip de EPE.

O si quieres algo más fuerte puedes usar fail2ban o soluciones similares, que no solo pueden proteger ssh sino ftp, etc, etc, etc ...

bye
;)

todo, tiene ventajas y

Imagen de Epe

todo, tiene ventajas y desventajas, mira, en tu ejemplo la desventaja es que podrían hacer un escaneo de puertos y determinar que tienes el 22000 abierto, incluso se puede averiguar (nmap tiene opción para eso) el servicio que en ese puerto corre.

Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre