Telesoft Integrando Tecnologías

Productos

Soporte

Downloads

Servicios

Empresa

 
   
Instalar y configurar fail2ban para Asterisk
   

Fail2ban es un programa que lee los registros (por ejemplo /var/log/asterisk/messages) y si hay un numero determinado de intentos de conexión sin éxito, banea (bloquea) las IP de donde se han originados los intentos interactuando con iptables (cortafuegos).

 

Instalación:

Fail2ban está escrito en Python y para que funcione tenemos que instalar este lenguaje de programación:

yum install python

luego bajamos el programa:

cd /usr/src

wget http://downloads.sourceforge.net/project/fail2ban/fail2ban-stable/fail2ban-0.8.4/fail2ban-0.8.4.tar.bz2

lo descomprimimos

tar -xf fail2ban-0.8.4.tar.bz2

entramos en la carpeta

cd fail2ban-0.8.4

y lo instalamos

python setup.py install

ahora instalamos el script para arrancarlo como un servicio (para Centos)

cp /usr/src/fail2ban-0.8.4/files/redhat-initd /etc/init.d/fail2ban

Ahora podemos configurarlo para que lea los registros de Asterisk

cd /etc/fail2ban/filter.d

y copiamos estas líneas

 

# Fail2Ban configuration file
#
#
# $Revision: 250 $
#

# Fail2Ban configuration file
#
#
# $Revision: 250 $
#

[INCLUDES]

# Read common prefixes. If any customizations available -- read them from
# common.local
#before = common.conf


[Definition]

#_daemon = asterisk

# Option:  failregex
# Notes.:  regex to match the password failures messages in the logfile. The
#          host must be matched by a group named "host". The tag "<HOST>" can
#          be used for standard IP/hostname matching and is only an alias for
#          (?:::f{4,6}:)?(?P<host>\S+)
# Values:  TEXT
#

failregex = NOTICE.* .*: Registration from '.*' failed for '<HOST>' - Wrong password
            NOTICE.* .*: Registration from '.*' failed for '<HOST>' - No matching peer found
            NOTICE.* .*: Registration from '.*' failed for '<HOST>' - Username/auth name mismatch
            NOTICE.* <HOST> failed to authenticate as '.*'$
            NOTICE.* .*: No registration for peer '.*' (from )
            NOTICE.* .*: Host  failed MD5 authentication for '.*' (.*)
            NOTICE.* .*: Registration from '.*' failed for '<HOST>' - Device does not match ACL
            NOTICE.* .*: Registration from '.*" .* failed for '<HOST>' - Peer is not supposed to register
            VERBOSE.*SIP/<HOST>-.*Received incoming SIP connection from unknown peer
  
# Option:  ignoreregex
# Notes.:  regex to ignore. If this regex matches, the line is ignored.
# Values:  TEXT
#
ignoreregex =
 

con estas líneas le decimos a fail2ban que tiene que controlar eventuales accesos indeseados en el archivo de registro de Asterisk.

Ahora tenemos que modificar el archivo de configuración de fail2ban

cd /etc/fail2ban

nano jail.conf

y añadimos al final del archivo de texto estas líneas

 

[asterisk-iptables]

enabled  = true
filter   = asterisk
action   = iptables-allports[name=ASTERISK, protocol=all]
              sendmail[name=ASTERISK, dest=you@yourmail.co.uk, sender=fail2ban@local.local]
logpath  = /var/log/messages
maxretry = 2
bantime = 259200

 

En la línea en negrita aparece el archivo de registro que fail2ban leerá para averiguar intentos frustrados de conexión a nuestra centralita. En la configuración tenemos que modificar la dirección de correo electrónico. En lugar de root@localhost ponemos la dirección de correo electrónico donde queremos recibir los avisos. Para enviar los correos, fail2ban está configurado con Sendmail

 

Para que funcione tenemos que modificar la configuración del los archivos de registro de Asterisk:

nano /etc/asterisk/logger.conf

Agregamos al inicio:

 

[general]
dateformat=%F %T

y averiguar que la línea messages tenga el parámetro que aparece en negrita

messages => notice,debug

 
Terminamos con la configuración del script de arranque:

chkconfig fail2ban on

/etc/init.d/fail2ban start

Starting fail2ban: [ OK ]

Si sale algún error tenemos que revisar la configuración. 

 
 
 

Revisado y porbado con Elastix 2.2 en Diciembre del 2011

 
 
Privacidad de Información Términos de Uso Mapa del sitio Contáctenos Comentarios