Vous êtes sur la page 1sur 45

Implementando Elastix SIP Firewall

Juan Oliva

IMPLEMENTANDO
ELASTIX SIP
FIREWALL

Manual de instalacin y pruebas de


aseguramiento












JUAN OLIVA
@jroliva

[PRIMERA EDICIN]

Copyright (c) 2015 Juan Oliva


Esta obra est licenciada bajo la Licencia Creative Commons
Atribucin-NoComercial-CompartirIgual 3.0 Unported. Para ver una
copia de esta licencia, visite:
http://creativecommons.org/licenses/by-nc-sa/3.0/.
Si luego de leerla todava tiene alguna duda acerca de esta licencia,
enve una carta a Creative Commons, 171 2nd Street, Suite 300, San
Francisco, California, 94105, USA.
Primera Edicin

Dedicado para Anglica y Sebastin

1.

Agradecimiento

La telefona IP, VoIP, Linux y la seguridad informtica, siempre ha sido y ser mi


pasin, sin embargo el desarrollo de estas capacidades no necesariamente hubieran sido
posibles, sin el apoyo y confianza de:
Edgar Landvar CEO y creador de Elastix por permitirme ser parte del equipo de
colaboradores de Elastix.
Paul Estrella Project Manager de Elastix, el cual siempre me impulsa a desarrollar
nuevas ideas y proyectos.
A mi esposa, que gracias a su paciencia y cario, me brinda la inspiracin para seguir
adelante.

2.

Acerca del autor

Juan Oliva Crdova


@jroliva
http://jroliva.wordpress.com/
Es consultor de seguridad informtica y Telefona IP con ms de 15 aos de experiencia
en el campo. Est muy involucrado en proyectos de pruebas de penetracin, anlisis y
explotacin de vulnerabilidades, entre otras tareas de la seguridad informtica. Tambin
desarrolla proyectos de implementacin y aseguramiento de plataformas de telefona IP,
basadas en Elastix, proyectos de CallCenter, soluciones Softswitch y hosted PBX.

3.

Introduccin

Es innegable que el mundo de la VoIP desde sus inicios siempre ha estado rodeado de
los ataques informticos, es as que a lo largo del tiempo las tcnicas para comprometer
las plataformas han cambiado y suelen ser en la actualidad muy sofisticadas.
As mismo, tambin la aparicin de herramientas que ayudan a la proteccin de las
plataformas VoIP ha ayudado a minimizar muchos los riesgos de seguridad que
involucra el uso este tipo de tecnolgica, la cual brinda muchos beneficios.
Sin embargo en la bsqueda de la simplicidad, eficiencia y la herramienta perfecta, los
errores de configuracin o la carencia de conocimientos para poder validar la seguridad
adecuadamente, suelen pasar factura, a la hora de protegerla.
Es as, que el presente libro no solo cubre aspectos que involucran la correcta y
adecuada configuracin de Elastix SIP FIREWALL, si no tambin, las pruebas que todo
profesional del rea de la VoIP, tendra que realizar, para poder validar y comprobar la
proteccin y aseguramiento de su plataforma VoIP es la adecuada.
Teniendo en cuenta que las amenazas en el rea de VoIP cambian constantemente, el
material cubre los aspectos ms importantes de la proteccin de amenazas usando
Elastix SIP FIREWALL.

Juan Oliva
@jroliva

ndice de Contenidos
Agradecimiento ................................................................................................................. 4
Acerca del autor ................................................................................................................ 4
Introduccin ...................................................................................................................... 5
1.
Esquema de funcionamiento ............................................................................... 1
2.
Configuracin e integracin con Elastix 2.5 ....................................................... 2
2.1
Configuracin inicial........................................................................................... 2
3.
Revisin de funcionalidades ............................................................................... 4
3.1
Dashboard ........................................................................................................... 4
3.2
Device ................................................................................................................. 5
3.2
Security Settings ................................................................................................. 7
3.3
Security Alerts................................................................................................... 10
3.4
Tools.................................................................................................................. 11
4
Configuracin y deteccin de prevencin de ataques de Fingerprinting .......... 14
4.1
Desarrollando ataque de fingerprint .................................................................. 14
4.2
Deteccin del Ataque. ....................................................................................... 14
5
Configuracin y deteccin de ataques de enumeracin de usuarios ................. 15
5.1
Desarrollando ataques de enumeracin............................................................. 15
5.2
Deteccin del Ataque. ....................................................................................... 15
6
Configuracin y bloqueo de Ataques DoS ........................................................ 16
6.1
Desarrollando ataques de DOS VoIP ................................................................ 16
6.2
Deteccin del Ataque. ....................................................................................... 16
7
Bloqueo de Intentos de obtencin de contraseas o password cracking........... 17
7.1
Desarrollando ataques de password cracking ................................................... 17
7.2
Deteccin del Ataque. ....................................................................................... 17
8
Bloqueo de Intentos de ataques de SIP Cross Site Scripting ............................ 18
8.1
Desarrollando ataques de SIP Cross Site Scripting .......................................... 18
8.2
Deteccin del Ataque. ....................................................................................... 19
9
Configuracin de listas negra dinmica para amenazas VoIP .......................... 20
9.1
Cambiando la direccin IP ................................................................................ 20
9.2
Probando el bloqueo pro activo mediante listas negras dinmicas ................... 21
9.2.1 Verificando conectividad desde el atacante ...................................................... 21
9.2.2 Realizando un ataque de SIP BRUTE FORCE ATTACK ............................... 21
9.2.3 Verificando el bloqueo en SIP FIREWALL ..................................................... 22
10
Configuracin de reglas de Blacklist y Whitelist.............................................. 23
10.1
Agregando direcciones IP al Blacklist. ............................................................. 23
10.2
Agregando direcciones IP al Whitelist.............................................................. 26
11
Configuracin de bloqueo por ubicacin geogrfica ........................................ 27
12
Configuracin de acceso a la administracin del dispositivo a una IP/red
especfica ........................................................................................................... 28
12.1
Ingresar a Device / Management Access y editar la regla DefaultAllAccess28
12.2
Establecer la direccin IP para administracin ................................................. 28
13
Configuracin de servidor SYSLOG remoto para registro de eventos. ............ 30
13.1
Instalacin y configuracin de SYSLOG Server .............................................. 30
13.2
Configuracin un servidor de SYSLOG externo en Elastix SIP FIREWALL . 36
13.3
Probar la integracin de Elastix SIP FIREWALL y Servidor SYSLOG externo.
........................................................................................................................... 37

ELASTIX SIP FIREWALL


1. Esquema de funcionamiento
El SIP FIREWALL es dispositivo totalmente agnstico a la red donde est posicionado el servidor
Elastix PBX, ya que funciona en modalidad mirror.
De tal forma que no es necesario realizar ninguna configuracin del lado de la central Elastix.
A.- Configuracin de SIP FIREWALL cuando Elastix PBX tiene una sola tarjeta de red (LAN)

B.- Configuracin de SIP FIREWALL cuando Elastix PBX tiene dos tarjetas de red (LAN y WAN)

2.

Configuracin e integracin con Elastix 2.5

2.1 Configuracin inicial


Como se indic el en el punto anterior Elastix SIP FIREWALL se configura de manera transparente
con respecto a la PBX, de la siguiente forma:

Puerto LAN de SIP FIREWALL conectado al puerto LAN de Elastix PBX.

Puerto WAN de SIP FIREWALL conectado al SWITCH o al FIREWALL de permetro


segn sea el caso.

Ingresando a la interface de administracin de Elastix SIP FIREWALL


SIP FIREWALL viene configurado con la direccin IP 192.168.100.1/255.255.255.0, por lo cual
ser necesario estar en el mismo segmento (192.168.100.0/24), luego ingresar a la interface web en
la siguiente URL: https://192.168.100.1 como se muestra a continuacin.

El usuario y contrasea por defecto es admin


As mismo tambin deberamos poder tener conectividad hacia nuestra plataforma Elastix, es decir
hacer ping e ingresar a la interface web de manera transparente, pasando por Elastix SIP
FIREWALL

3.

Revisin de funcionalidades

3.1 Dashboard
System Status
Rendimiento de la memoria RAM, almacenamiento y consumo del CPU
Network Status
Direccin IP de escucha, direcciones MAC
Sig Update Version
Versin de firmas
DPI Status
Estado de DPI
Security Alert Summary,
Last 10 Alerts, ultimas 10 alertas detectadas.

3.2 Device
General Settings, Configuracin de la direccin IP del dispositivo.

Date / Time Settings, configuracin de la hora y zona horaria, esta configuracin es muy
importante, para la correcta correlacin de los eventos.

Management Access, Permite crear reglas que restringen el acceso a los servicios WEB y SSH del
SIP FIREWALL.

Signature Update, Permite programar la actualizacin de firmas del sistema.

Logging, permite la configuracin de un servidor de LOG remoto

3.2 Security Settings


SIP Attacks Detection, Permite la inspeccin y anlisis de paquetes SIP, es posible habilitar y la
inspeccin para una particular categora o regla.

SIP Protocols Compilance, El motor de inspeccin de paquetes SIP, permite detectar anomalas en
las cabeceras SIP para identificar fallas en el protocolo y tomar una accin segn lo configurado.

FIREWALL Rules, Permite al administrador configurar el trfico que permite o deniega desde la
red WAN a la cual protege en la PBX IP.

FIREWALL Settings

Whitelist IP Addresses, Permite configurar las direcciones IP a la cual se confa desde la red
WAN.

Blacklist IP Addresses, Permite configurar las direcciones IP a la cual no se confa desde la red
WAN.

Dynamic Blacklist IP Adresses, Son reglas de bloqueo aadidas por el motor de inspeccin de
paquetes de Elastix SIP FIREWALL.

Geo IP Filters, Permite bloquear el trfico de pases en especfico, hacia la red SIP protegida.

3.3 Security Alerts


Security Alerts, Muestra las alertas detectadas, La tabla muestra Hora, ID, Categora, Mensaje, IP
de origen y el nmero de puerto, IP destino, puerto y tipo de protocolo.

10

3.4 Tools
Administration, Permite realizar diversas funciones como, restauracin de fbrica, reinicio del
sistema, reinicio, apagado, backup y restauracin del dispositivo.

Diagnostics, Permite realizar un test de funcionamiento de Elastix SIP FIREWALL

Ping, Permite realizar un ping a un host o domino

11

Traceroute, Permite realzar una traza a un host

Troubleshooting, Permite habilitar o deshabilitar DPI

12

Upgrade Firmware, Permite actualizar el firmware del dispositivo.

Logs Archive, Permite almacenar los registros en un dispositivo USB

13

Configuracin y deteccin de prevencin de ataques de


Fingerprinting

Para probar si Elastix SIP FIREWALL, detecta ataques de Fingerprinting, se desarrollaran ataques
con diferentes herramientas y ver si finalmente el dispositivo bloquea los mismos.

4.1 Desarrollando ataque de fingerprint


#svmap 192.168.10.50
Veremos que la respuesta de la herramienta es la siguiente:

4.2 Deteccin del Ataque.


El dispositivo Elastix SIP FIREWALL detecta el ataque, ingresar a Security Alerts / Security Alerts

14

5 Configuracin y deteccin de ataques de enumeracin de


usuarios
5.1 Desarrollando ataques de enumeracin
#svwar -m INVITE --force 192.168.10.50
Veremos que la respuesta de la herramienta es la siguiente:

5.2 Deteccin del Ataque.


El dispositivo Elastix SIP FIREWALL detecta el ataque, ingresar a Security Alerts / Security Alerts

15

Configuracin y bloqueo de Ataques DoS

6.1 Desarrollando ataques de DOS VoIP


#inviteflood eth0 500 192.168.10.136 192.168.10.50 1000000 -a hacker -v

6.2 Deteccin del Ataque.


El dispositivo Elastix SIP FIREWALL detecta el ataque, ingresar a Security Alerts / Security Alerts

16

Bloqueo de Intentos de obtencin de contraseas o password


cracking

7.1 Desarrollando ataques de password cracking


#svcrack -u104 192.168.10.50 -d dictionary.txt
Veremos que la respuesta de la herramienta es la siguiente:

7.2 Deteccin del Ataque.


El dispositivo Elastix SIP FIREWALL detecta el ataque, ingresar a Security Alerts / Security Alerts

17

Bloqueo de Intentos de ataques de SIP Cross Site Scripting

Elastix SIP FIREWALL, para el caso de deteccin de ataques Cross Site Scripting o tambin
llamados XSS, hace uso del motor de inspeccin de paquetes, para detectar cdigos maliciosos que
viajen va el servicio/protocolo SIP, es importante referir esto porque los ataques XSS tambin
pueden realizarse hacia servicios como HTTP o HTTPS inclusive.

8.1 Desarrollando ataques de SIP Cross Site Scripting


Para desarrollar esta prueba de concepto, es necesario descargar el archivo
asterisk_cdr_sqlinjection.pl ubicado en la siguiente direccin url:
http://securityvulns.ru/files/asterisk_cdr_sqlinjection.pl
Una vez descargado en nuestro sistema Kali Linux procedemos a configurar el script de la siguiente
forma:
#./asterisk_cdr_sqlinjection.pl 204 192.168.10.251 5060 101 192.168.10.136 5060
Donde:
204: Extensin de la central PBX Elastix
192.168.10.251: Direccin IP de la central PBX Elastix
5060: Puerto del protocolo SIP
101: Extensin ficticia del atacante
192.168.10.136: Direccin IP de Kali Linux
Veremos que la respuesta de la herramienta es la siguiente:

18

8.2 Deteccin del Ataque.


El dispositivo Elastix SIP FIREWALL detecta el ataque, ingresar a Security Alerts / Security Alerts

19

Configuracin de listas negra dinmica para amenazas VoIP

La funcionalidad Dinamic Blacklist IP Address permite el bloqueo pro activo de amenazas a


nuestra plataforma Elastix PBX.
Para que est funcionalidad funcione adecuadamente, es necesario configurar SIP FIREWALL, en
el mismo segmento de red donde reside Elastix PBX para que pueda realizar el bloqueo
adecuadamente.

9.1 Cambiando la direccin IP


Ingresar a Device / General Settings y establecer la direccin IP segn el segmento de red que
corresponda, hacer clic en el botn Save y luego en el botn Apply Changes

Una vez establecida la direccin IP, ingresar nuevamente desde la nueva direccin.

20

9.2 Probando el bloqueo pro activo mediante listas negras


dinmicas
9.2.1

Verificando conectividad desde el atacante

Realizar pruebas de ping desde el atacante hacia la direccin IP de Elastix PBX

Como vemos existe conectividad completa

9.2.2

Realizando un ataque de SIP BRUTE FORCE ATTACK

Despus de unos segundos de realizar el ataque, la herramienta genera un error de conectividad

21

9.2.3

Verificando el bloqueo en SIP FIREWALL

Ingresar a: Security Settings / Dynamic Blacklist IP Address

Veremos que la direccin IP del host atacante en la lista.


En la seccin de Security Alerts veremos tambin el evento generado.

Es importante poder identificar el nombre de la categora con el cual el ataque ha sido identificado.
Adicionalmente no es posible hacer conectividad desde el host atacante hacia la direccin IP de
Elastix PBX, como lo vemos a continuacin:

22

10 Configuracin de reglas de Blacklist y Whitelist


El objetivo de estas funcionalidades es, poder realizar bloqueo manual de direcciones IP de
atacantes (Blacklist) o segn sea el caso, agregar direcciones IP que estn siendo detectadas como
atacantes en el SIP FIREWALL pero en realidad no lo son, llamados tambin falsos positivos.

10.1 Agregando direcciones IP al Blacklist.


Ingresar a: Security Settings / Whitelist IP Addresses y hacer clic en el botn Add New

Luego ingresar los parmetros de la siguiente forma:

23

Name: Nombre descriptivo para la regla


IP Type: Es posible realizar bloqueos a nivel de:
Direccin IP (IP_HOST)
Segmento de RED (IP_NETWORK)
Rango de IP (IP_RANGE)
Direccin MAC (MAC_ADDR)
Address: Direccin IP a bloquear
Enable: Establecer si la regla va estar activa o no
Comentario: Comentario descriptivo de la regla.
Una vez creada la regla, hacer clic sobre el botn APPLY CHANGES ubicado en la parte
superior derecha, como se muestra a continuacin.

Cuando la regla est grabada correctamente, no ser posible establecer conectividad desde la IP
bloqueada hacia la direccin IP de ELASTIX PBX, como se muestra a continuacin.

24

Tener en cuenta que es una regla de bloqueo permanente, hasta que se desactive o elimine la regla
segn se requiera, de la siguiente forma:

Luego es necesario hacer clic en el botn APPLY CHANGES

Finalmente en el botn OK como se muestra a continuacin:

Finalmente probar si la conectividad se restableci en el host bloqueado.

25

10.2 Agregando direcciones IP al Whitelist.


Las listas blancas tienen funcionamiento opuesto a las listas negras, y son prioritarias con respecto a
las listas dinmicas inclusive.
Ejemplo: crear una regla para evitar el bloqueo de todas las direcciones IP de la red LAN.

26

11 Configuracin de bloqueo por ubicacin geogrfica


El bloqueo por ubicacin geogrfica se encuentra en la seccin: Security Settings / Geo IP Filters
como se muestra a continuacin:

Por defecto ELASTIX SIP FIREWALL permite todos los pases pre configuraros en esta seccin.
Para bloquear las direcciones IP de todo un pas, basta con desactivar la opcin Allowed
Por ejemplo si deseamos bloquear todas las direcciones IP de RUSIA, como se muestra a
continuacin:

Luego hacer clic en APPLY CHANGES ubicado en la parte superior derecha.

27

12 Configuracin de acceso a la administracin del dispositivo


a una IP/red especfica
Es posible configurar que solo sea sea posible ingresar a ELASTIX SIP FIREWALL desde una
direccin IP en especfico, como lo veremos a continuacin.

12.1 Ingresar a Device / Management Access y editar la regla


DefaultAllAccess

12.2 Establecer la direccin IP para administracin

28

Por defecto la regla est establecida para brindar acceso a cualquier direccin IP , en este caso
cambiando el valor de IP Type a IP_HOST , es posible establecer la direccin 192.168.10.5 que
ser la nica direccin IP en la RED LAN desde la cual ser posible ingresar al dispositivo.
Tambin es posible establecer el acceso segn los valores en el parmetro IP Type
IP_NETWORK: Segmento de RED
IP_RANGE: Rango de direcciones IP
MAC_ADDR: Direccin MAC

29

13 Configuracin de servidor SYSLOG remoto para registro de


eventos.
Elastix SIP FIREWALL permite el envo de los eventos a un servidor de SYSLOG externo, esto es
muy importante ya que la correcta monitorizacin de los eventos es un punto vital en la seguridad.

13.1 Instalacin y configuracin de SYSLOG Server


Sistema Operativo Centos 6.X
Instalacin bsica
A.- Configuracin de Sistema Operativo
#vim /etc/selinux/config
SELINUX=disabled
#chkconfig iptables off
#reboot
B.- Instalacin de servicios
#yum -y install vim wget httpd mysql mysql-server php php-mysql rSYSLOG* --skip-broken
#chkconfig httpd on
#chkconfig mysqld on
#chkconfig rSYSLOG on
#service httpd start
#service mysqld start
#service rSYSLOG start
C.- Configuracin de base de datos
#mysqladmin -u root password '123456'
#mysql -u root -p < /usr/share/doc/rSYSLOG-mysql-5.8.10/createDB.sql
#mysql -u root -p SYSLOG
> GRANT ALL ON SYSLOG.* TO rSYSLOGuser@localhost IDENTIFIED BY 'tucontrasena';
> FLUSH PRIVILEGES;
> exit;
#mysql -u rSYSLOGuser -p SYSLOG
> show tables;
> exit;
30

D.- Configuracin de SYSLOG Server


- Des comentar los siguiente parmetros
vim /etc/rSYSLOG.conf
$ModLoad imudp
$UDPServerRun 514
# Provides TCP SYSLOG reception
$ModLoad imtcp
$InputTCPServerRun 514
- Agregar los siguientes mdulos en el mismo archivo
$ModLoad ommysql
*.* :ommysql:127.0.0.1,SYSLOG,rSYSLOGuser, tucontrasena
E.- Verificar la integracin de SYSLOG server y Mysql
#service rSYSLOG restart
#mysql -u rSYSLOGuser -p SYSLOG
mysql> select count(*) from SystemEvents;
+----------+
| count(*) |
+----------+
|
2|
+----------+
F.- Instalacin de LogAnalizer
#cd /usr/src
#wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.5.tar.gz
#tar zxvf loganalyzer-3.6.5.tar.gz
#cp -r loganalyzer-3.6.5/src/ /var/www/html/loganalyzer
#cp -r loganalyzer-3.6.5/contrib/* /var/www/html/loganalyzer/
#cd /var/www/html/loganalyzer/
#chmod +x configure.sh secure.sh
#./configure.sh

31

G.- Configuracin de LogAnalizer va web


Ingresar desde una navegador web a la direccin: http://IPCENTOS/loganalyzer y hacer clic en
here como se muestra a continuacin.

Luego hacer clic en el botn Next para iniciar el proceso

Hacer clic en el botn Next para continuar el proceso

32

Configurar el uso de base de datos y luego hacer clic en el botn Next de la siguiente forma:

Hacer clic en el botn Next para la creacin de las tablas de la siguiente forma:

33

Una vez creadas las tablas correctamente, hacer clic en el botn Next para continuar.

Ahora indicar el usuario con el cual se acceder a la interface web de LogAnalizer, luego hacer clic
para continuar el proceso.

34

Ahora crear el origen de mensajes para el servidor, configurar los valores de la siguiente forma y
hacer clic en Next

Una vez creado el origen de mensajes, hacer clic en el botn Next para finalizar la instalacin

35

Luego ingresar con las credenciales creadas previamente, como se muestra a continuacin.

13.2 Configuracin un servidor de SYSLOG externo en Elastix SIP


FIREWALL
Ingresar a Device / Logging y establecer la direccin IP del servidor externo de la siguiente forma:

Finalmente, aplicar los cambios con el botn APPLY CHANGES como se muestra a
continuacin

36

13.3 Probar la integracin de Elastix SIP FIREWALL y Servidor


SYSLOG externo.
Para probar que los eventos del SIP FIREWALL, es enviado al servidor SYSLOG, realizar un
ataque contra la direccin IP de Elastix PBX, de la siguiente forma:

Luego en el Servidor SYSLOG se generar un evento de la siguiente forma:

Como vemos se gener un evento de tipo ALERT desde la direccin IP de Elastix SIP FIREWALL

37