ataques ssh

desde hace unos dias no puedo conectarme desde fuera de mi lan via ssh a mi "servidor". tengo una cuenta en dyndns gestionada mediante el router zyxel de telefonica
el caso es que al no poder conectarme con el nombre probe con la ip publica y tampoco, verifique y reconfigure el mapeo de puertos en el router y nada. googleando vi que el log del ssh esta incluido en el auth.log asi que me meti a ver si habia algo raro, y habia esto
skynet escribió:May 1 21:06:04 skynet sshd[2589]: Did not receive identification string from ::ffff:201.15.101.130
May 1 21:17:03 skynet sshd[2736]: reverse mapping checking getaddrinfo for 201-15-101-130.cbace300.ipd.brasiltelecom.net.br failed -
POSSIBLE BREAKIN ATTEMPT!
May 1 21:17:07 skynet sshd[2741]: reverse mapping checking getaddrinfo for 201-15-101-130.cbace300.ipd.brasiltelecom.net.br failed -
POSSIBLE BREAKIN ATTEMPT!
May 1 21:17:13 skynet sshd[2744]: reverse mapping checking getaddrinfo for 201-15-101-130.cbace300.ipd.brasiltelecom.net.br failed -
POSSIBLE BREAKIN ATTEMPT!
May 1 21:17:19 skynet sshd[2746]: reverse mapping checking getaddrinfo for 201-15-101-130.cbace300.ipd.brasiltelecom.net.br failed -
POSSIBLE BREAKIN ATTEMPT!
.....

May 1 21:18:08 skynet sshd[2768]: reverse mapping checking getaddrinfo for 201-15-101-130.cbace300.ipd.brasiltelecom.net.br failed -
POSSIBLE BREAKIN ATTEMPT!
May 1 21:20:02 skynet sshd[2837]: reverse mapping checking getaddrinfo for 201-15-101-130.cbace300.ipd.brasiltelecom.net.br failed -
POSSIBLE BREAKIN ATTEMPT!
...
May 1 21:20:02 skynet sshd[2837]: Illegal user administrator from ::ffff:201.15.101.130
May 2 00:52:09 skynet sshd[4590]: Illegal user test from ::ffff:61.211.230.98
May 2 00:52:12 skynet sshd[4592]: Illegal user test from ::ffff:61.211.230.98
May 2 00:52:16 skynet sshd[4594]: Illegal user test from ::ffff:61.211.230.98
May 2 01:02:16 skynet sshd[4596]: fatal: Timeout before authentication for ::ffff:61.211.230.98
May 2 05:54:40 skynet sshd[5029]: Did not receive identification string from ::ffff:61.211.230.98
May 2 06:05:58 skynet sshd[5036]: Illegal user test from ::ffff:61.211.230.98
May 2 06:06:01 skynet sshd[5038]: Illegal user test from ::ffff:61.211.230.98
May 2 06:06:11 skynet sshd[5040]: Illegal user test from ::ffff:61.211.230.98
May 2 16:02:18 skynet sshd[5679]: Did not receive identification string from ::ffff:61.211.230.98
May 2 16:12:58 skynet sshd[5681]: Illegal user test from ::ffff:61.211.230.98
May 2 16:13:01 skynet sshd[5683]: Illegal user marius from ::ffff:61.211.230.98
May 2 16:13:36 skynet sshd[5703]: Illegal user soporte from ::ffff:61.211.230.98
May 2 18:04:02 skynet sshd[5714]: Did not receive identification string from ::ffff:61.241.130.174
May 2 18:11:04 skynet sshd[5718]: Illegal user admin from ::ffff:61.241.130.174
May 2 18:11:09 skynet sshd[5720]: Illegal user test from ::ffff:61.241.130.174
May 2 18:11:13 skynet sshd[5722]: Illegal user guest from ::ffff:61.241.130.174
May 2 18:21:10 skynet sshd[5722]: fatal: Timeout before authentication for ::ffff:61.241.130.174

y lo que mas rabia me da es que yo hace casi una semana que no puedo conectarme desde fuera de casa y aun asi sigue apareciendo esto

skynet escribió:May 6 06:02:08 skynet sshd[16424]: Illegal user staff from ::ffff:222.141.66.177
May 6 06:02:12 skynet sshd[16426]: Illegal user sales from ::ffff:222.141.66.177
May 6 06:02:16 skynet sshd[16428]: Illegal user recruit from ::ffff:222.141.66.177

osea que ellos si pueden conectarse, solo que parece qque por suerte aun no sacaron el password.

navegando encontre esta pagina
y me han surgido unas dudas basicas:
1)el no aceptar al usuario root (yo ya lo tenia en denny) por que es? acaso no esta todo cifrado?
2)si yo entro como usuario normal y hago su es igual de peligroso?
3) las iptables vienen por defecto en debian(estable), es para seguir el how-to de la pagina de antes
4)como reparo el ssh?

--no lo he dicho y es importante, el error que me da el putty es "netwrok error:conection refused"
zuper escribió:y me han surgido unas dudas basicas:
1)el no aceptar al usuario root (yo ya lo tenia en denny) por que es? acaso no esta todo cifrado?

Si, está todo cifrado, pero en caso de que por fuerza bruta alguien entre en tu sistema, mucho mejor que lo haga como un ususario sin apenas permisos que como root ¿no crees?


zuper escribió:2)si yo entro como usuario normal y hago su es igual de peligroso?
¿igual de peligroso que qué? Es recomendable no aceptar login de rrot desde ssh. Asi, si alguien consigue entrar como usario normal, para poder hacer "su" y entrar como root, deberia de averiguar de nuevo la contraseña, es decir, para conseguir permisos de root necesita haber reventado dos contraseñas, algo altamante improbable.

zuper escribió:) 3)las iptables vienen por defecto en debian(estable), es para seguir el how-to de la pagina de antes

Ejecuta iptables y sal tu mismo de dudas ;). Si funciona es que esta instalado.

zuper escribió:4)como reparo el ssh?
Ni idea. Si poniendo estando el puerto 22 redirigidoa tu maquina, poniendo la IP publica desde la otra maquina y estando seguro de que esa IP es la tuya, no te conecta, no se que puede pasar.

Un consejo, para automatizar la tarea de bloquear las IPs con demasiados intentos fallidos por SSH hay scripts/progarmas muy útiles. Yo uso fail2ban y me va de perlas. Echale un vistazo (google es tu amigo).

Saludozzzzzz
pues me he llevado la sorpresa de que fail2ban ya venia en debian y tb de que no me termina de funcionar por que me he puesto como 192.168.1.5 para probar de equivocarme y si cuando miro el fail2ban.log me dice que esta baneada pero me permite conectarme.
en el fail2ban.conf solo he modificado que la ip segura sea una en concreto y que los bane por 1 dia
Si aparece en el log es que fail2ban si ha detectado el intento y ha ejecutado la regla,por tanto fail2ban está haciendo su papel. S a pesar de eso te deja de conectar una de dos:
-la regla de iptables que viene en tu instalacion está mal
-la regla está bien, pero falla IP tables

En el 1er caso, repasa la documentacion de IPtables
En el 2º reporta un bug

Saludozzzzzzz

PD: Para comprobar el funionamiento basta con dejarlo un rato y ejecutar
# iptables -L -n
bueno, ya se donde esta el problema del bloqueo
cuando hago un iptables -L -n me da esto


skynet escribió:Chain INPUT (policy ACCEPT)
target prot opt source destination
fail2ban-ssh tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
SSHD tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain SSHD (1 references)
target prot opt source destination

Chain fail2ban-ssh (1 references)
target prot opt source destination
DROP all -- 192.168.1.6 0.0.0.0/0
DROP all -- 192.168.1.5 0.0.0.0/0
RETURN all -- 0.0.0.0/0 0.0.0.0/0


me coje como puerto el 22, y yo tengo otro. lo he puesto en el 22 para hacer la prueba, he reiniciado el servicio y no me deja conetarme con las ip's bloquedas
lo que no se ahora es como decirle cual es el purto que debe bloquear, y lo que tampoco entiendo es por que en destino sale 0.0.0.0, no deberia salir 127.1.1.1?

edito::::
he modificado el fail2ban.conf diciendole en --dport el puerto en concreto en vez ssh, que supongo que sera una variable, y ya bloquea perfectamente
mañana desde el curro vere si me deja conectarme desde fuera de la lan
gracias y perdona por el coñazo

vuelvo a editar:::::ahora me vuelve a dejar conectarme desde fuera, no se que seria la verdad, pero al menos he aprendido algo de reglas e iptables
4 respuestas