Configurando Fail2ban en Elastix

Proteger Elastix de Ataques con Fail2ban

En la publicación anterior observamos como instalar  y Configurar Fail2ban en CentOS, ahora veremos como proteger tu central de Elastix o Asterisk con Fail2ban.

Configurando Fail2ban en Elastix

Configurando Fail2ban en Elastix 1

Paso 1 – Verificar que el servicio Iptables este funcionando correctamente, revisamos con el usuario como root que este configurado adecuadamente con el siguiente comando.

service iptables status

Vemos que el servicio de iptables esta funcionando correctamente pasamos a ver las reglas de Fail2ban si esta disponible en las reglas de iptables.

Paso 2 – Configuramos asterisk para que guarde los Logs en un archivo en especifico, asterisk puede cambiar la forma en que reporta los eventos, esto se realiza en el archivo /etc/asterisk/logger.conf.  debes editarlo y agregar las siguientes líneas:

Justo debajo en la sección donde dice  [general] poner las siguientes  líneas, si ya el archivo tiene las lineas solo hay que des comentarla o quitarle los dos puntos,  que cambian el formato de la hora reportada:

[general]

dateformat=%F %T 

Entonce quedar de esta manera:

Después de haber guardado el archivo de logger.conf pues actualizamos la configuración del asterisk con el siguiente comando:

# asterisk -rx 'module reload logger'

Si no parece un error es por que todo el proceso fue satisfactorio.

Paso 3 – Ahora pasamos a configurar y ejecutar  Fail2ban en Elastix

Ésta es la parte más interesante de todo el proceso de configuración de Fail2ban en Elastix. Fail2ban ya se encuentra instalado en la central de  Elastix, y si no está lo puedes instalar de esta forma haciendo clic Aquí. Lo primero que tenemos que hacer es configurar el archivo /etc/fail2ban/filter.d/asterisk.conf

Copiamos este contenido y después lo pegamos en el  archivo /etc/fail2ban/filter.d/asterisk.conf :

#
#
# $Revision: 251 $
#

[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 “” can

# be used for standard IP/hostname matching and is only an alias for

# (?:::f{4,6}:)?(?P<host>S+)

# Values: TEXT
#
# Asterisk 1.8 uses Host:Port format which is reflected here

failregex = NOTICE.* .*: Registration from ‘.‘ failed for ‘:.‘ – Wrong password

NOTICE.* .*: Registration from ‘.‘ failed for ‘:.‘ – No matching peer found

NOTICE.* .*: Registration from ‘.‘ failed for ‘:.‘ – No matching peer found

NOTICE.* .*: Registration from ‘.‘ failed for ‘:.‘ – Username/auth name mismatch

NOTICE.* .*: Registration from ‘.‘ failed for ‘:.‘ – Device does not match ACL

NOTICE.* .*: Registration from ‘.‘ failed for ‘:.‘ – Peer is not supposed to register

NOTICE.* .*: Registration from ‘.‘ failed for ‘:.‘ – ACL error (permit/deny)

NOTICE.* .*: Registration from ‘.‘ failed for ‘:.‘ – Device does not match ACL

NOTICE.* .*: Registration from ‘”.“.‘ failed for ‘:.*’ – No matching peer found

NOTICE.* .*: Registration from ‘”.“.‘ failed for ‘:.*’ – Wrong password

NOTICE.* failed to authenticate as ‘.*’$

NOTICE.* .*: No registration for peer ‘.*’ (from )

NOTICE.* .*: Host failed MD5 authentication for ‘.‘ (.)

NOTICE.* .*: Failed to authenticate user .@<HOST>.

NOTICE.* .*: failed to authenticate as ‘.*’

NOTICE.* .*: tried to authenticate with nonexistent user ‘.*’

VERBOSE.SIP/-.Received incoming SIP connection from unknown peer

# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#

ignoreregex =

Y después guardamos el archivo y reiniciamos el servicio de Fail2ban y Asterisk.

Paso 4 – Modificamos el archivo /etc/fail2ban/jail.conf  donde vamos a ir a la sección donde dice [asterisk-iptables]  o [asterisk]:

Habilitamos la opción de

enable = true
maxretry =3
bantime = 3600

Guardamos la configuración y luego procedemos a reiniciar los servicio de Fail2ban y Asterisk, después de esto solo resta probar que estas configuraciones que estén correctas.
Aquí vemos con el comando  # service iptables status las IP que están baneas cuando estén intentando atacar a su servidor se vera de esta forma.

# service iptables status
Tabla: filter
 Chain INPUT (policy ACCEPT)
 num target prot opt source destination
 1   fail2ban-ASTERISK all -- 0.0.0.0/0 0.0.0.0/0
 2   fail2ban-SSH tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
 Chain FORWARD (policy ACCEPT)
 num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
 num target prot opt source destination
Chain fail2ban-ASTERISK (1 references)
 num target prot opt source destination
 1 DROP all — 192.168.2.52 0.0.0.0/0 (Esta Ip esta Baneada por el Fail2ban)
 2 RETURN all — 0.0.0.0/0 0.0.0.0/0
Chain fail2ban-SSH (1 references)
 num target prot opt source destination
 1 RETURN all — 0.0.0.0/0 0.0.0.0/0

Y con esto concluimos aquí esta parte de Configurando Fail2ban en Elastix y también si no sabes  puedes estar a Configurando Fail2ban en Elastix puedes entrar aquí y ver Configurando Fail2ban en Elastix

Be the first to comment on "Configurando Fail2ban en Elastix"

Deja un comentario.

Tu dirección de correo no será publicada.


*