^Volver Arriba
Get Adobe Flash player

Cheats del día

Team Speak 3

Cod2

Contador de visítas

842115
Hoy
Ayer
Esta semana
Semana pasada
Este mes
Mes pasado
En total
181
142
992
838089
8178
12806
842115

Tu IP: 3.142.197.198
Server Time: 2024-04-26 13:30:21

No a los Cheats

 

Formulario de acceso

Denyhosts, protegiendo ataques a SSH en Debian

Tenéis un servidor accesible desde Internet por ssh y ¿le habéis echado alguna vez un vistazo al fichero de logs? Pues ya tardais en hacerlo. Si usas Debian está en el archvo /var/log/auth.log. Los ataques son constantes y, con facilidad, os encontraréis decenas de líneas como esta que provienen, como podeis imaginar, de ataques por fuerza bruta:

1 Failed password for invalid user anna from 118.219.232.208
2 Failed password for invalid user anne from 118.219.232.208
3 Failed password for invalid user anneliese from 118.219.232.208
4 Failed password for invalid user annemarie from 118.219.232.208
5 Failed password for invalid user annette from 118.219.232.208
6 Failed password for invalid user annike from 118.219.232.208
7 Failed password for invalid user antje from 118.219.232.208
8 Failed password for invalid user arianne from 118.219.232.208
9 Failed password for invalid user astrid from 118.219.232.208
10 Failed password for invalid user barbara from 118.219.232.208

La mejor forma de proteger tu servidor de estos ataques es deshabilitar los accesos a ssh a través de passwords y sólo permitir los autenticados mediante claves RSA y/o habilitar las IP’s válidas para realizar una conexión a través del fichero /etc/hosts.allow denegando todas las demás, pero esto no siempre es posible. A veces necesitamos permitir el acceso desde cualquier sitio a personal autorizado y no podemos usar ni una cosa ni la otra. Denyhosts es, en estos casos, una gran ayuda.

Se trata, básicamente, de un script escrito en python que analiza tus ficheros de log del servidor ssh, detecta los ataques al mismo e incluye las direcciones IP de las que provienen los mismos en el fichero /etc/hosts.deny para bloquearlas. Además, si habilitamos esta característica, permite sincronizar los datos recogidos por nuestra máquina con los de todos los usuarios que están usando este producto de forma que las IP’s desde las que se lanzan ataques a otros servidores son bloqueadas de forma automática cuando tratan de acceder a nuestro servidor, y viceversa.

Instalarlo en Debian es tan fácil como ejecutar un apt-get install denyhosts con privilegios de root. El paquete debian instala Denyhosts como un daemon (existen otras opciones como ejecutarlo manualmente o de forma periódica a través de cron). Después del primer arranque, que se ejecuta de forma automática, Denyhosts rastreará nuestro fichero de log más reciente y ya incluirá las primeras direcciones atacantes en el fichero hosts.deny:

1 sshd: 201.6.117.169
2 sshd: 216.77.98.235
3 sshd: 59.188.7.108
4 sshd: 200.161.135.135
5 sshd: 88.208.203.130
6 sshd: 58.241.40.66

El fichero de log de Denyhosts está en el fichero /var/log/denyhosts y en él podemos ver como va recogiendo las direcciones peligrosas, tanto provenientes de este primer análisis como de su posterior funcionamiento en tiempo real:

1 2008-11-01 23:04 - denyhosts   : INFO     new denied hosts: ['201.6.117.169', '216.77.98.235', '59.188.7.108', '200.161.135.135', '88.208.203.130', '58.241.40.66']
2 ...
3 2008-11-02 01:57 - denyhosts   : INFO     new denied hosts: ['200.111.154.196']
4 2008-11-02 05:15 - denyhosts   : INFO     new denied hosts: ['122.200.102.6']
5 2008-11-02 05:51 - denyhosts   : INFO     new denied hosts: ['66.80.59.131']

La sincronización con otros usuarios no está habilitada inicialmente en el paquete que nos distribuye Debian. Para activarla basta con editar el fichero de configuración (/etc/denyhosts.conf) y descomentar las siguientes líneas que habilitan la configuración por defecto:

1 SYNC_SERVER = http://xmlrpc.denyhosts.net:9911
2 SYNC_INTERVAL = 1h
3 SYNC_UPLOAD = yes
4 SYNC_DOWNLOAD = yes
5 SYNC_DOWNLOAD_THRESHOLD = 3
6 SYNC_DOWNLOAD_RESILIENCY = 5h

Ahora reiniciamos el daemon (/etc/init.d/denyhosts restart) para que lea la nueva configuración y, al cabo de una hora como le hemos indicado, podremos ver la primera sincronización de datos:

1 2008-11-02 12:53 - denyhosts   : INFO     received new hosts: ['65.254.53.75', '83.19.41.182', '69.25.47.134', '86.219.230.217', '211.73.25.85', '201.6.252.150', '222.68.193.131', '62.213.23.138', '220.225.237.150', '75.125.196.226', '150.46.222.121', '61.150.114.76', '86.1.114.15', '75.127.83.114', '218.211.38.66', '60.164.220.15', '200.6.102.30', '66.104.77.34', '66.231.237.116', '61.184.142.98', '219.128.143.133', '88.198.158.42', '148.243.212.136', '85.17.169.129', '125.21.50.228', '210.205.217.77', '122.116.38.188', '200.253.218.210', '212.43.80.163', '83.98.220.52', '200.27.109.99', '201.6.126.232', '202.62.0.150', '122.224.108.216', '195.133.227.107', '219.142.114.254', '216.35.7.109', '196.217.243.13', '60.217.32.83', '211.22.147.18', '60.18.147.36', '210.75.200.9',  202.179.252.102', '125.88.102.23', '80.13.215.199', '61.100.180.19', '66.175.118.55', '208.43.145.242', '75.101.243.23', '193.137.226.2']

Las estadísticas de atacados y atacantes recogidas por el programa y sincronizadas mediante este servicio son públicas y pueden verse en esta página.