Has montado un servidor linux ? Cuentas con dirección ip publica?
Bienvenido al mundo de los ataques de los famosos “script kiddies”, por si no estan enterados, vulnerabilidades para los sistemas operativos estan a la orden del dia. Cadia dia salen diferentes vulnerabilidades, y la verdad que hay muchas personas especialmente del otro lado del charco (asia, europa) que pues no tienen nada que hacer y solo se dedican a joder.

Como puden empezar? bueno lo primero que tienen que que hacer es un scaneo de puertos para ver que ips tienen abiertos al publico, este escaneo de puertos lo tienen que hacer al ip publico del servidor. Para esto pueden usar una herramienta llamada nmap. Si usan debian la pueden instalar ejecutando el comand apt-get install nmap.
Ya instalado el programa vamos a ver que puertos tienen abiertos con el siguiente comando:
nmap -v IP
Para la prueba voy a hacer un escaneo de puertos a un servidor en la interface del loopback o el famoso “localhost”.
Estos son los resultados.
The Connect() Scan took 0.12s to scan 1663 total ports.
Host localhost (127.0.0.1) appears to be up … good.
Interesting ports on localhost (127.0.0.1):
(The 1657 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
21/tcp open ftp
80/tcp open http
110/tcp open pop3
143/tcp open imap
783/tcp open hp-alarm-mgr
3389/tcp open ms-term-serv
Si se fijan este servidor tiene estos puertos abiertos, el programa nos dice para que sirve cada uno. Todos estos puertos son utilizados en este servidor asi que esta bien que esten disponibles pero….
3389/tcp open ms-term-serv
Este puerto se me hace extraño, es el puerto que utilizan los servidores windows la cual esta abierto para que se hagan conexiones remotas por remote desktop. Bueno me acorde que justo me pidieron levantar un proxy en ese puerto para hacer unas pruebas. Bueno esto quiere decir que solo la red del trabajo necesita tener acceso a este puerto. Entonces vamos a tener que filtrarlo para que solo puedan accesar personas dentro de la empresa a ese puerto, esta de mas que desde cualquier parte del mundo puedan ver que este puerto esta abierto.
Esto lo podemos hacer con iptables con el siguiente comando:
/sbin/iptables -A INPUT -p tcp –dport 3389 -s 10.10.0.0/16 -d 0/0 -j ACCEPT
/sbin/iptables -A INPUT -p tcp –dport 3389 -s 0/0 -d 0/0 -j DROP
Les recomiendo que lean un poco de iptables en internet, van a encontrar un monton de informacion, pero con estas reglas, vamos a permitir que solo se hagan coneciones desde la red clase b con IP 10.10.0.0. Cualquier persona ajena a esta red no va a poder ver que este puerto.
Al hacerle del nuevo el nmap -v IP, estos van a hacer los resultados:
3389/tcp filtered ms-term-serv
Ya fue filtrado, y por lo consiguiente ya personas ajenas a nuestra red se van a poder conectar a nuestro proxy privado.
Otro principio que DEBEN aplcar es, que servicio que no les sirva, desinstalenlo, ya que asi reducimos el riesgo de ataques ya que entre menos servicios tengamos habilitados, van a haber menos vulnerabilidades.
Yo soy partidiario de generar un firewall echo por uno, no bajado de Internet, en lo personal detesto un tal shorewal, ya que si ejecutas un IPTABLES -F (iptables flush) bota toda las conexiones del servidor y hay que pedir un reboot.
Se preguntan ustedes porque este loco hace su propio firewall para cada server? pues la respuesta es simple.
Cada server es diferente y por lo mismo tienen diferentes requisitos. Yo acutalmente manejo mis propios firewall en los servers y no he tenido problemas de ataques.
Otra recomendacion que dare es que filtren el puerto 22 que es el del SSH, lo pueden filtrar para que solo algunos ips se puedan conectar, al hacer esto en los servers que administro reduje en un 80 % los ataques diarios en los servdores, no tienen idea cuanto script hay corriendo buscando servers con vulnerabilidades de ssh. Al hacer esto tambien nos protegemos en caso de que alguien se logre conectar al server, por ejemplo atravez de un php o algo, pueden ganar acceso pero no pueden hacer mayor cosa o conectarse directamente al servidor, esto es muy importante.
Si por alguna razon no pueden filtrar los puertos de SSH lo que pueden hacer es cambiarlo de puerto, yo los pongo en los puertos 2223 2224 y pasa lo mismo los ataques son reducidos en un 80 %.
Por ultimo ya no los aburro mas, les recomiendo que instalen un programa llamado logwatch y que le echen un ojo diariamente, este programa lo que hace es enviar un resumen de todos los logs del servidor, aqui se pueden dar cuenta cuando son atacados ya sea por ftp o por algun otro protocolo.
Por ultimos NO POGAN CLAVES GENERICAS, jamas a un usuario con nombre esteban, le pongan login: esteban password: esteban. Esto es lo primero que buscan los hackers, bueno realmente la mayoria de ataques se dan por este tipo de errores, les recomiendo que les pongan mayusculas, numeros y algun cacarcter especial como la @.
Espero les sirva todo esto.
Muy buena entrada e interesante.
Pongo tu web a favoritos