8 feb 2011

fail2ban en Elastix | elajonjoli.org

fail2ban en Elastix

Fail2ban nos sirve para evitar los ataques hacia nuestro equipo con Elastix y así evitar que originen llamadas usando nuestros recursos telefónicos.

En Elastix viene el repositorio "epel" por defecto, por lo que la instalación es fácil con el comando yum -y install fail2ban.

Ahora vamos a descargar el archivo adjunto al post y extraemos su contenido en la carpeta /etc/fail2ban/filter.d/
Estas son las especificaciones para que fail2ban lea los logs de Asterisk y busque cadenas como "Wrong password" y otras que indican un intento de acceso no autorizado.

Luego de "enseñarle" a fail2ban a leer los logs de Asterisk, vamos a definir que acciones tomar en caso que haya un intento de acceso; para esto editamos el archivo /etc/fail2ban/jail.conf y ponemos el siguiente contenido al final del archivo, reemplazando los datos donde sea necesario:

# OPCIONES PARA ASTERISK
[asterisk-iptables]
enabled = true
filter = asterisk
action = iptables-allports[name=ASTERISK, protocol=all]
sendmail-whois[name=ASTERISK, dest=MIDIRECCIONDEEMAIL@EXAMPLE.COM, sender=fail2ban@example.com]
logpath = /var/log/asterisk/full
maxretry = 40
bantime = 86400

El parámetro "bantime" esta en segundos, en este ejemplo he puesto que bloquee las IP que intentan atacar por 24 horas.

Para que fail2ban pueda ubicarse en el log de Asterisk debemos cambiar el formato de hora y fecha. Eso lo hacemos editando el archivo /etc/asterisk/logger.conf y poniendo al inicio del archivo las siguientes lineas:

[general]
dateformat=%F %T

para aplicar los cambios en Asterisk ponemos el comando rasterisk -x "reload" y luego iniciamos el servicio de fail2ban con el comando /etc/init.d/fail2ban restart.
Para que se inicie cada vez que arrancamos el equipo, ponemos chkconfig fail2ban on.

Fail2ban puede proteger otros servicios además, para eso podemos revisar el archivo /etc/fail2ban/jail.conf y habilitarlos.

http://elajonjoli.org/sites/default/files/asterisk.conf_.zip

No hay comentarios: