| Formulario de acceso |
|---|
| Anuncios |
|---|
|
|
| Prevenir ataques de fuerza bruta con fail2ban |
|
|
| viernes, 18 de mayo de 2007 | ||
|
Una de las molestias mas usuales a las que suele enfrentarse un administrador de sistemas es el intento de acceso a un servicio a través de ataques de fuerza bruta. Aunque este tipo de ataques no suelen dar resultado en un sistema medianamente bien configurado, sí que suelen restar algún que otro recurso al sistema contra el que atacan, ya que solicitan una y otra vez la ejecución de una parte del código del servidor consultado. Podemos actuar contra estos ataques escribiendo una simple regla en nuestro cortafuegos que deniegue el acceso a una determinada dirección en un momento dado o podemos automatizar el proceso para que se actúe contra estos ataques sin intervención del administrador. fail2ban repasa continuamente los ficheros de mensajes del sistema y de los diferentes servidores y toma decisiones en contra de aquellas direcciones que intentan y fallan el acceso de forma continuada. Funcionamiento La filosofía de fail2ban es muy simple: cada uno de los servicios que corren en un sistema lanzan mensajes de información de forma periódica donde se recojen, entre otras muchas cosas, los intentos de acceso. fail2ban accede a dichos ficheros y busca coincidencias que concuerden con las opciones especificadas en el fichero de configuración. Una vez se haya encontrado una coincidencia, se obtiene la dirección IP objeto y se impide el acceso a la misma mediante la ejecución de una regla en el cortafuegos. Obviemente, se puede determinar el tiempo de denegación de acceso mediante la propia regla, que será eliminada una vez pasado el periodo prefijado. Tendremos de esta forma un control casi absoluto sobre todos aquellos demonios susceptibles de recibir un ataque por la fuerza. Instalación del programa Casi todas las distribuciones de linux incorporan a su lista de paquetes por defecto el programa. No obstante podemos descargar y compilar las fuentes desde la página oficial (www.fail2ban.org), teniendo en cuenta que el programa pedirá como requisito imprescindible una versión de Python igual o superior a la 4.2. La instalación en una distribución bajo Fedora Core quedaría completada de la manera siguiente: [root@elise ~]# yum install fail2ban Setting up Install Process Setting up repositories Installed: fail2ban.noarch 0:0.8.0-3.fc6 Complete!
Si hemos decidido instalar desde el código fuente, teclearemos los comandos siguientes para dejar instalado el programa: [root@elise ~]# tar xvfj fail2ban-0.8.0.tar.bz2 Configuración La rama /etc/fail2ban contiene todos los archivos de configuración que necesita el programa para su correcto funcionamiento. Apuntaremos igualmente que las configuraciones aquí detalladas hacen referencia a la versión 0.8 del programa, pudiendo variar considerablemente si instalamos versiones inferiores. Básicamente tenemos cuatro secciones de configuración que pasamos a detallar a continuación.
Los filtros y las acciones se tienen que combinar bajo las secciones del archivo de configuración jail.conf y así construir reglas que impidan intentos de acceso continuados (y fallidos) a determinados servicios. Probar el funcionamiento Ante todo y si no lo hemos hecho ya, arrancaremos el programa: [root@elise ~]# fail2ban-client start Este comando llamará a la parte servidor de fail2ban y todos las configuraciones establecidas se cargarán de forma conveniente. Para comprobar que nuestras reglas funcionan de forma correcta podemos utilizar el programa fail2ban-regex incluido en el paquete de distribución. Dicho programa comprueba un fichero de mensajes contra una regla específica y muestra las ocurrencias encontradas. Puede utilizarse de la siguiente forma: [root@elise ~]# fail2ban-regex /var/log/maillog /etc/fail2ban/filter.d/postfix.conf Tambien podemos comprobar, si está a nuestro alcance, el funcionamiento de fail2ban haciendo cumplir alguna de la reglas de forma real. Para comprobar si el programa funciona, observaremos la salida del fichero de mensajes propio en /var/log/fail2ban.log: 2007-05-13 21:26:21,927 fail2ban.actions: WARNING [postfix] Ban 58.153.34.102 Limitaciones La principal limitación que podemos encontrarnos al correr fail2ban en cualquier entorno es el funcionamiento propio del programa y su interacción con el sistema. Al ser un programa de procesamiento de ficheros de mensajes, jamás podrá actuar contra un ataque si dichos mensajes no están escritos previamente. Muchos demonios de mensajes almacenan en memoria (buffer) una cantidad determinada de información antes de escribirla en el fichero, lo cual degrada enormemente la efectividad de fail2ban. Otra limitación evidente es el tiempo de respuesta del programa ante un ataque automatizado. Este tipo de ataques lanzan una multitud de solicitudes en un periodo muy corto de tiempo y, aunque fail2ban responde a la lectura de los ficheros de log en segundos, es fácil que se produzcan más intentos de acceso que los especificados en maxretry antes de la ejecución de la regla prevista. No obstante, siempre es preferible este sistema que la escritura a mano de la regla.
Sólo los usuarios registrados pueden escribir comentarios. Powered by AkoComment 2.0! |
||
| Siguiente > |
|---|







