sábado, 18 de febrero de 2017


Sabes si te están atacando desde China, Rusia, revisa tus logs

Entorno de la prueba:
Se tiene un servidor en USA/Hosting con Linux/Ubuntu y dos servicios "TCP" disponibles desde Internet como:
- SSH, puerto 22/tcp para una conexión cifrada con el servidor.
- Apache, puerto 80/tcp para publicar un servicio web, básico.
-  A continuación muestro algunos intentos de ingreso de cada servicio:


1.- Servicio SSH:  
IP es: 116.31.116.34,182.100.67.4 pertenece a China Telecom, como se puede observar constantemente hay intentos de fuerza bruta utilizando el usuario root que es super usuario a nivel del sistema operativo Linux, por ello siempre hay que colocar una contraseña fuerte con un mix entre números, letras mayúsculas, minúsculas, caracteres alfanuméricos y con un tamaño mínimo, en lo personal recomendaría 11 caracteres.

ubuntu@ubuntu:/var/log# tail -f auth.log




Feb 18 01:34:22 ubuntu sshd[14059]: message repeated 5 times: [ Failed password for root from 182.100.67.4 port 17356 ssh2]
Feb 18 01:34:22 ubuntu sshd[14059]: error: maximum authentication attempts exceeded for root from 182.100.67.4 port 17356 ssh2 [preauth]
Feb 18 01:34:22 ubuntu sshd[14059]: Disconnecting: Too many authentication failures [preauth]
Feb 18 01:34:22 ubuntu sshd[14059]: PAM 5 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=182.100.67.4  user=root
Feb 18 01:34:22 ubuntu sshd[14059]: PAM service(sshd) ignoring max retries; 6 > 3



Feb 16 21:56:38 ubuntu sshd[12096]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.34  user=root
Feb 16 21:56:40 ubuntu sshd[12096]: Failed password for root from 116.31.116.34 port 61791 ssh2
Feb 16 21:56:44 ubuntu sshd[12096]: message repeated 2 times: [ Failed password for root from 116.31.116.34 port 61791 ssh2]
Feb 16 21:56:44 ubuntu sshd[12096]: Received disconnect from 116.31.116.34 port 61791:11:  [preauth]
Feb 16 21:56:44 ubuntu sshd[12096]: Disconnected from 116.31.116.34 port 61791 [preauth]
Feb 16 21:56:44 ubuntu sshd[12096]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.34  user=root



2.- Servicio Apache,
Es una instalación básica sin Firewall de aplicaciones web como: mod Security, que permite monitorizar sesiones HTTP.


IPs desde:Brazil,China Telecom, Moscu, USA, Irak,Surinam, Londres. Algunos intentos usan bots y el buscador Russo Yandex, quizas este intento no es malicioso.

ubuntu@ubuntu:/var/log/apache2# tail -f access.log

170.150.252.7 - -[16/Feb/2017:11:03:11 -0500] "GET / HTTP/1.1" 200 11576 "-" "curl/7.17.1 (mips-unknown-linux-gnu) libcurl/7.17.1 OpenSSL/0.9.8i zlib/1.2.3"
171.83.79.83 - - [16/Feb/2017:11:25:29 -0500] "GET http://631333.top/proxyheader.php HTTP/1.1" 404 506 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"
185.110.132.231 - - [16/Feb/2017:12:40:16 -0500] "GET / HTTP/1.1" 200 11595 "-" "Scanbot"
5.255.250.40 - - [16/Feb/2017:13:26:59 -0500] "GET /robots.txt HTTP/1.1" 404 506 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
5.255.250.40 - - [16/Feb/2017:13:27:03 -0500] "GET / HTTP/1.1" 200 3524 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
62.201.228.152 - - [16/Feb/2017:13:41:11 -0500] "GET / HTTP/1.1" 200 11632 "-" "curl/7.17.1 (mips-unknown-linux-gnu) libcurl/7.17.1 OpenSSL/0.9.8i zlib/1.2.3"
186.179.235.16 - - [16/Feb/2017:16:03:04 -0500] "POST / HTTP/1.1" 200 3525 "-" "okhttp/3.2.0"
139.59.176.72 - - [16/Feb/2017:16:03:43 -0500] "POST / HTTP/1.1" 200 3525 "-" "okhttp/3.2.0"




Recomendaciones Generales:
- En el apache instalar y gestionar un firewall de aplicación web, como Mod Security y es opensource y también instalar un IDS como Suricata: https://suricata-ids.org/
http://idroot.net/tutorials/how-to-install-mod_security-apache-on-ubuntu-14-04/
-  Para el servicio SSH, el proveedor de Cloud me recomendo usar File2Ban contra ataques de fuerza bruta:
https://help.ubuntu.com/community/Fail2ban
https://www.youtube.com/watch?v=wvZ73tTWL_M



No hay comentarios: