La moda del usuario ilegal
Hay una nueva moda por internet. <ironia>Consiste en escanear en busca de un servidor con demonios antiguos y petarlos con cualquier exploit por ahí. Una vez dentro lo único que debemos hacer es poner a funcionar un script que se conecte a todos los servidores ssh que encuentre y tratar de autentificarse como "guest/guest", "test/test", "admin/admin" o similares</ironia>.
Últimamente está pasando muy a menudo (visto desde el otro lado), en los logs de los servidores ssh los intentos de intrusión con usuarios "standard", del tipo de los mencionados anteriormente. Para muestra un botón:
# cat auth.log | grep "illegal user"
Sep 29... sshd[7907]: Failed password for illegal user test from x.x.x.x port 40438 ssh2
Sep 29... sshd[7909]: Failed password for illegal user guest from x.x.x.x port 40448 ssh2
Sep 29... sshd[10229]: Failed password for illegal user test from x.x.x.x port 57622 ssh2
Sep 29... sshd[10231]: Failed password for illegal user guest from x.x.x.x port 57671 ssh2
Y ésto no es nada ni yo soy el único, a muchísima más gente le está pasando lo mismo estos días. No parece alarmante a simple vista, pero ¿puede ser que se encuentre algo más detrás de todo este juego de niños?, ¿alguna nueva vulnerabilidad de OpenSSH?. Muchos admins preocupados (1) (2) (3) y se han tomado ciertas medidas (1) (2), pero parece que no cesa.
¿También las sufrís en silencio?
Yo también ando un poco preocupado por los frecuentes intentos de conexión al tun-tun.
Por ahora me conformo con tenerlo bajo control, utilizando fwlogwatch y zenity estoy informado en tiempo real de los intentos de conexión (y con esdplay suena una sirena como la de los ataques aéreos ;-) Si la cosa pasa a mayores habrá que pensar en algo...
Que raro me ha salido ese comentario... Algo ha fallado o he escrito el BBCode fatal?
A mi también me pasa...
130
Pues eso.. que si, es una putada; pero no es como para alarmarse. De todas formas si quereis que no tengan ningún "chance" de entrar, desactivad la autenticación por password con:
ChallengeResponseAuthentication no
Y manejad vuestra autenticación con claves rsa (usad keychain para manejarlas). Si veo que hay mucha "incertidumbre" sobre esto, decidmelo y escribo detalladamente cómo hacerlo
Salu2.Ferdy
Las pocas veces que he tenido que abrir el ssh al exterior, siempre lo he hecho en puertos alternativos. No es que sea la caña (TM) como medida de seguridad, pero te quitas de encima a muchos de estos script-fuckin'-kiddies.
# grep "ilegal user" /var/log/auth.log* | wc -l
0
Eso me aparece en mis dos servidores. Tal vez se deba a dos factores, el primero es que acostumbro a cambiar el puerto 22 por otro "alto". Como el SSH lo usamos solo mi padre y yo, no es necesario utilizar el puerto predeterminado.
Y después utilizo un "truco", hay una opción llamada AllowUsers que se puede incluir en el fichero de configuración sshd_config para indicar qué usuarios deseas permitir el acceso por SSH
# grep AllowUsers /etc/ssh/sshd_config
AllowUsers neuronal j.enrique enrique
AllowUsers, AllowHosts, AllowGroups son opciones de configuración muy interesantes para filtrar el acceso al servicio ;-) En el blog de trycky leí hace unos meses algo sobre SSH y le puse un comentario parecido a éste. Lo recuerdo porque no sé qué pasó pero no se envió bien, y como tenía prisa guardé el comentario
-rw-r--r-- 1 neuronal users 723 jul 9 13:37 comentario_sshd.txt
Tengo que enviarlo aún... XD
Yo tengo AllowGroups en mis servidores SSH en los que tengo habilitado el acceso con Password y eso no les para... es una medida de seguridad; sin duda. Pero si se demuestra que es un ataque de "brute force" como muchos dicen... solamente tardarán más :D
Yo lo vuelvo a decir... el acceso con claves RSA es la leche.. os lo recomiendo (además de que no hay que poner el password cada vez que te logueas).
Salu2.Ferdy
Te las tienes que llevar a cuestas :D ¿Es eso un problemas si accedemos desde distintos sitios? Puede.
Las claves RSA las uso en la red local, desde la WS al servidor.
El AllowUsers es un buen mecanismo, y si podemos poner user@host mejor... y si host es una IP fija... la leche :D
De todas formas... aquí todo usa "contraseñas razonables (tm)", ¿no? :P
Lo que daría por un script que filtrara logs y agregara IPs al cortafuegos automáticamente. Es que es se están poniendo de una pesadez que abruma. Y no es sólo el SSH, yo estoy sufriendo un auténtico bombardeo en el servidor web:
* Cretinos que piden todas las variaciones imaginables de 'FormMail.cgi'. Cada semana se enriquece la combinatoria.
* Errores 404 inexistentes. ¿Qué navegador o bot interpreta href="https://www.sitio.com/destino" como "http://www.sitio.com/origen/https://www.sitio.com/destino"?
Voy a tener que desactivar el script para enviarme correo en caso de enlaces rotos...
Intentan verificar si hay mal instalado un proxy web transparente o algo. Mira el METHOD; verás que es CONNECT... de esos recibo yo también unos cuantos :)
Intentan verificar si hay mal instalado un proxy web transparente o algo. Mira el METHOD; verás que es CONNECT... de esos recibo yo también unos cuantos :)
No, el método es GET. De verdad que parece un bot que no sabe parsear un URL. Digamos que tengo en mi sitio una página en /directorio/pagina.html en la que hay este código:
<script src="https://www.thawte.com/html/certdetails.js"></script>
Pues el muy bruto lo interpreta como un URL relativo y me pide el documento /directorio/https://www.thawte.com/html/certdetails.js en lugar de ir a Thawte.com
Y así docenas de veces, cada santo día del año.
A mi tb me ocurrio un par de ataques al sshd, y no veas como joden a la hora de leer el log xD, a si k mi neurona solto la game boy y saco de la manga, un script en python que junto a swath, bloquea en tiempo real la ip k esta fastidiando. Probadlo haber si os va bien, la verdad es que es muuuy simple pero funciona.
Lo podeis baja de http://packetstorm.linuxsecurity.com/UNIX/misc/bb.tar.gz
ya me contareis como os fue.


