Estoy tratando de bloquear (ralentizar) los ataques de fuerza bruta en mi servidor sshd. Estoy siguiendo esta guía http://www.rackaid.com/resources/how-to-block-ssh-brute-force-attacks/ que básicamente dice que necesito ingresar los 2 comandos a continuación.
sudo iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
sudo iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
Mi puerto sshd es 6622, así que cambié las entradas de "22" a "6622" y puse esos comandos. Luego intenté simplemente probar las nuevas iptables. Fui a otra PC y a propósito ingresé la contraseña de inicio de sesión incorrecta varias veces. Desafortunadamente, las nuevas reglas no parecen impedir que lo intente tanto como quiera. A continuación se enumeran mis reglas actuales. ¿Qué estoy haciendo mal?
# iptables --list
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- anywhere anywhere tcp dpt:6622 state NEW recent: UPDATE seconds: 60 hit_count: 4 name: DEFAULT side: source
tcp -- anywhere anywhere tcp dpt:6622 state NEW recent: SET name: DEFAULT side: source
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain LOGDROP (0 references)
target prot opt source destination
LOG all -- anywhere anywhere LOG level warning
DROP all -- anywhere anywhere
MaxStartups
podría ayudar en el lado del demonio?Respuestas:
Como @banjer señaló en su comentario, está intentando la solución incorrecta para su problema real.
Lo que debe hacer es configurar fail2ban . Utiliza iptables en segundo plano para bloquear automáticamente los intentos de conexión de los hosts que generan intentos de acceso fallidos de varias fuentes. Es increíblemente versátil y le permite agregar y modificar diferentes entradas, patrones para buscar y métodos de prohibición; Tendrá que ajustar ligeramente su cárcel ssh predeterminada para tener en cuenta el puerto no estándar que está utilizando, pero eso no debería ser difícil.
fuente
Uso reglas como esta para ralentizar las cosas:
En otros lugares limito cosas como esta:
fuente
¿Leíste la página del manual?
man sshd_config:
fuente
Acabo de probar la solución de dos reglas y tuve el mismo problema cuando la revisé. ¡Entonces, observo que las reglas publicadas tienen
-i eth0
opción! Lo cambié a la buena interfaz de red y finalmente comenzó a funcionar.fuente
La mayoría de los tutoriales se utilizan
-A
para agregar al final del conjunto de reglas. OP solía-I
insertar pero sin un índice, por lo que las reglas terminaron en el orden incorrecto.Una herramienta valiosa para depurar las reglas de iptables es
iptables -vL
que enumera las reglas con recuentos de cuántas veces se ha aplicado cada regla. Cuando obtienes un recuento inesperado de 0, puede ayudarte a ver qué está mal.fuente