[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Ataque por fuerza bruta por ssh. ¿Cómo evitarlo?



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Diego Bote wrote:
> 	Hola colisteros.
> 
> 	Pues eso, que el otro día me dio por mirar el log de auth y me
> 	encontré con esto:
> 
> 	# grep Invalid  /var/log/auth.log
> Dec  5 08:26:03 localhost sshd[8107]: Invalid user test from
> 219.235.231.105
> Dec  6 03:45:36 localhost sshd[4908]: Invalid user patrick from
> 125.16.12.147
> Dec  6 11:38:12 localhost sshd[6383]: Invalid user webadmin from
> 202.38.120.253
> ...
> ...
> Dec  7 03:31:24 localhost sshd[7822]: Invalid user oracle from
> 148.208.234.7
> Dec  7 17:13:08 localhost sshd[9490]: Invalid user test from
> 219.136.9.84
> Dec  8 01:56:59 localhost sshd[10072]: Invalid user guest from
> 211.137.167.116
> 
> 	Por supuesto, para no aburriros, sólo he puesto un intento con
> 	cada una de las IP que había, pero en realidad hubo
> 	 # grep Invalid /var/log/auth.log |wc -l 
> 	 454
> 	 intentos.
> 
> 	 No tengo muchos usuarios en el sistema y además he
> 	 deshabilitado a root para entrar por ssh, pero me gustaría
> 	 poder evitar tantos intentos seguidos, algo como "si fallas
> 	 tres te toca esperar una hora", pero no veo esa opción en el
> 	 man de sshd. La idea discutida hace poco del knockd la estoy
> 	 estudiando. Parece prometedora. ¿Álguien me puede dar una idea
> 	 sobre lo de esperar un tiempo si fallas un nº de intentos?
> 
> 	 Saludos y gracias.
> 
> 	 					Diego Bote
> 
En este[1] ejemplo implementan el efecto port knocking con sólo
iptables... checa el uso de recent, tu lo puedes aplicar a la inversa...
es decir si lo ha intentado en los ultimos N segundos, hacerle un drop.

Aunque yo no lo haría así. Yo pondría en drop todo y según quien sea
(por port knocking, o algún otro método que se te ocurra) le abriría.
También es muy buena idea limitar tu servicio al protocolo 2 solamente.
Por último, deshabilita el uso de passwords, usa llaves públicas.

Cambiarlo de puerto sólo te resuelve el problema con los script kiddies,
aunque si están tratando de usar fuerza bruta por la red lo más seguro
es que sea el caso.

He visto otros ejemplos que no requieren el uso del módulo recent, pero
no los tengo a la mano. Tal vez alguien con experiencia en
iptables/netfilter te pueda ayudar más.

[1] http://www.debian-administration.org/articles/268

- --
Saludos,
Alejandro Bárcena Campos

A bug is a feature that didn't make it into the manual.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQFFfdXmpZP6bMridNYRAsy/AJ983iyPTjWtK9NvXeydU/xZuH23FQCfSiAW
v65eM9CtCRU8Orth2R7iwLA=
=nsyw
-----END PGP SIGNATURE-----



Reply to: