24 | 07 | 2008
Lo más visitado
Enlaces patrocinados
Protege tu servidor SSH de ataques de fuerza bruta Imprimir E-mail
Escrito por Tolito   
Lunes, 25 de Junio de 2007 02:51

Si tenéis un servidor SSH corriendo y alguna vez os habéis parado a mirar los logs, habréis visto una gran cantidad de intentos de acceso no autorizados. Si estudiáis más detenidamente los logs descubriréis que la mayoría de veces son ataques basados en diccionarios o similares, por tanto a no ser que nuestros passwords sean muy débiles es difícil que consigan acceder a nuestra máquina. Pero para que arriesgarnos...vamos a ver como protegernos de estos seres malignos e indeseables que intentan entrar en nuestro sistema.

Hay varios programas/scripts que sirven para proteger nuestro servidor SSH de ataques de fuerza bruta, como por ejemplo:

Después de probarlos , me quedo con Denyhosts, ya que es sencillo de instalar/configurar, apenas consume recursos y cumple su cometido de sobra. Vamos a ver como instalarnos Denyhosts en nuestra Ubuntu.

En Feisty Fawn (en Edgy creo que también)  Denyhosts viene incluido en los repositorios, así que su instalación es tan sencillo como:

  • sudo apt-get install denyhosts

 Una vez instalado debemos crear un par de archivos (si es que no existen ya), para ello nuestro colega touch nos será útil:

  • sudo touch /etc/hosts.allow
  • sudo touch /etc/hosts.deny

Con esto ya tenemos instalado denyhosts y con la configuración por defecto, para arrancarlo y pararlo manualmente haremos lo siguiente:

  • sudo /etc/init.d/denyhosts start
  • sudo /etc/init.d/denyhosts stop
La configuración de denyhosts se guarda en /etc/denyhosts.conf, vamos a ver algunas de las directivas que podemos modificar desde este archivo:
  • DENY_THRESHOLD_INVALID: Número de intentos fallidos (con un usuario que no exista) necesarios para banear esa IP.
  • DENY_THRESHOLD_VALID: Número de intentos fallidos (con un usuario existente) necesarios para banear esa IP.
  • DENY_THRESHOLD_ROOT: Número de intentos fallidos (intentando entrar como root) necesarios para banear esa IP.
  • BLOCK_SERVICE  = sshd/ALL/etc... : Esta directiva indica los servicios que bloqueará a los usuarios baneados.
  • DAEMON_LOG = /var/log/denyhosts : Indica el archivo en el que se guardará el log de denyhosts.

Estas son las directivas más utilizadas,  aunque tiene muchas más, dentro del propio archivo /etc/denyhosts.conf viene comentado para que sirve cada una, por tanto no me alargaré más en explicarlas todas. Otro de los consejos que os daría para evitar el 90% de los intentos de acceso es cambiar el puerto en el que tenemos corriendo el servidor de ssh por uno más alto (por encima del 1024 a ser posible), eso lo hacemos modificando la directiva port en el archivo /etc/ssh/sshd_config. Para terminar os aconsejaría que no permitierais logearse por ssh como root, esto se desactiva en el mismo archivo etc/ssh/archivo sshd_config mediante la directiva "PermitRootLogin no"

 

Con todo esto tendremos algo más seguro (en informática pocas veces se esta seguro de algo un 100%) nuestro servidor SSH.

Un saludo compañeros

Comentarios
Añadir nuevo Buscar
calabacin  - Otra opción   |26-06-2007 02:37:49
Hola

Me ha gustado mucho esta aplicación, es estupenda si tienes que
permitir acceso ssh desde cualquier punto.

Sin embargo, para quien no lo
sepa, es posible prohibir el acceso ssh poniendo esto en /etc/hosts.deny
sshd:
ALL

Luego pondrías en /etc/hosts.allow la(s) IP(s) que quieres
permitir:
sshd: 64.233.167.99

Básicamente denyhosts lo que hace es vigilar
los logs de sshd y meter en hosts.deny los que quiera banear.

Espero que os
sirva de algo esta información.

Calabacín.
Sir  - iptables vs hosts.allow/hosts.   |29-06-2007 02:18:25
Preferiría poner unas reglas en el iptables.
Walter  - Interesante y aplicado   |11-09-2007 08:21:20
Muy bueno, ya puesto en marcha.
sysadmin Chile  - Bueno , pero no recomendable     |27-01-2008 21:28:54
no es recomendable solo modificar estos archivos , deberias ademas tirar tus
buenas reglas de firewall tambien puedes hacer lo mismo y queda mas seguro
!!!!

Deniegas todo el trafico a ssh y solo permites la IP de la cual vas a
entrar

y para dar mator seguridad configuras el sshd.config para que no te
rompan el servicio a furza bruta !!!

Saludos amigos

VIVA CHILE
Tolito  - Iptables     |27-01-2008 23:18:54
El script Denyhosts lo que hace es agregar de manera automatica reglas al
firewall Iptables....
Escribir comentario
Nombre:
Email:
 
Website:
Título:
Código UBB:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
Security Image
Por favor introduce el código anti-spam que puedes leer en la imagen.

3.20RC1-i Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

Actualizado ( Martes, 26 de Junio de 2007 13:20 )
 
Rankings

Bloguzz

Top Blogs España

Sindicación
Feed RSS