2021/12/11
Tabla de contenidos
Hace unas semanas, después de publicar mi entrada de blog Conexiones (ssh) no deseadas, cambié el puerto SSH por defecto (22) por uno diferente que no estuviera en uso, ya que no quería que los logs se llenaran con máquinas/IPs aleatorias intentando realizar ataques de fuerza bruta. Durante unos días, los logs en /var/log/secure estuvieron silenciosos, pero para mi sorpresa, los logs volvieron a registrar múltiples intentos con solo unos pocos milisegundos de diferencia entre cada intento; definitivamente no estaban intentando ser discretos.
Intentaron diferentes nombres de usuario, algunos de los habituales como oracle, mysql, ubuntu, etc., y también probaron algunos que no había visto en los logs antes: gaoziqiang, fuhang, ebruayvaz. Por lo que he podido averiguar, los dos primeros son nombres chinos y el tercero es un nombre turco, lo que supongo que son nombres comunes en sus países y lo suficientemente comunes como para intentar iniciar sesión en una máquina.
Ahora, la parte interesante de esto es que, en primer lugar, los filtros de paquetes que he configurado en mi servidor solo permitirán puertos específicos con un protocolo específico; todo lo demás que no coincida con este filtro será descartado. Esto significa que si alguien intenta hacer ping a mi máquina, simplemente no responderá y parecerá que está muerta, por lo que si alguien está intentando conectarse a mi servidor es porque saben que el servidor existe allí o simplemente están probando puertos en cada dirección IP válida. En segundo lugar, cambié el puerto en el que se ejecutaba el servicio SSH a uno no muy conocido, por lo que la única forma en que supieran que había un servicio SSH ejecutándose allí sería mediante un port scan. Una herramienta como nmap puede realizar un port scan y está disponible en la mayoría de, si no todas, las distribuciones de linux. Por ejemplo, si quisieras escanear rápidamente un servidor (-F) sin intentar hacer un ping para comprobar si el host está activo o no (-Pn), obtendrías algo como esto:
$ nmap -Pn -F <IP>
Starting Nmap 7.92 ( https://nmap.org ) at 2021-12-11 20:39 -03
Nmap scan report for <IP-HOSTNAME> (<IP>)
Host is up.
All 100 scanned ports on <IP-HOSTNAME> (<IP>) are in ignored states.
Not shown: 100 filtered tcp ports (no-response)
Nmap done: 1 IP address (1 host up) scanned in 21.14 seconds
Esos fueron los 100 puertos principales y tardó 21.14 segundos; sin la opción rápida (-F), escanea 1000 puertos y tardó 201.44 segundos. nmap tiene opciones para reducir el tiempo de escaneo, pero de nuevo, mi servidor no responde a pings y no tiene puertos abiertos en el rango de escaneo de puertos por defecto de nmap, por lo que habrían tenido que escanear todos los puertos (65535) para intentar encontrar uno abierto para un servicio SSH. Tal vez cuando tenía el SSH en el puerto 22, ya habían intentado iniciar sesión, por lo que sabían que había un servidor en mi dirección IP.
Unos días después de este intento, llegó un nuevo intento desde una dirección IP diferente; revisé los logs y comprobé ambas direcciones IP que intentaban iniciar sesión y estaban asignadas a DigitalOcean, es muy probable que fuera la misma persona con una VM (Máquina Virtual) diferente. Me puse en contacto con ellos a través de su correo de contacto de abusos y les envié los logs, proporcionando información sobre a dónde intentaban conectarse, con la esperanza de que me respondieran con una actualización de la situación. Todo lo que recibí fue una respuesta automática que decía:
This mailbox is processed with automated tooling due to the high volume of abuse submissions we recieve. Reports our automation cannot parse may experience a delay in responde from DigitalOcean.
Ha pasado casi un mes desde que les envié un correo electrónico y todavía no tengo una respuesta. Quiero creer que tienen un alto volumen de informes de abuso y que toma tiempo investigarlo, pero me gustaría recibir una actualización sobre el informe que realicé.
Curiosamente, los atacantes no eran los únicos realizando port scanning; en los logs vi una dirección IP que no era la mía, no intentó múltiples veces con diferentes usuarios, solo conexiones cerradas y errores. Realicé una búsqueda de la IP y el hostname es “scanner-26.ch1.censys-scanner.com”, que parece ser parte de “Censys”, una plataforma de seguridad para tus máquinas en Internet. Por lo que he podido averiguar, probablemente escanea Internet, intentando encontrar vulnerabilidades, en mi caso, una vulnerabilidad en mi servicio SSH y siguiendo adelante. Yo consideraría esto como algo indeseado porque nunca pedí que escaneen mi servidor, sin embargo, están intentando algo en mi servidor, ¿y qué pasa si encuentran una vulnerabilidad? ¿Me contactarán de alguna manera y me informarán? Es como si yo fuera por las casas forzando puertas para comprobar si son fáciles de abrir o no sin pedir permiso.
Tener un servidor para juar con el “abierto” a la internet pública puede definitivamente ser divertido.