Este documento describe Elastix, un sistema PBX basado en Asterisk que utiliza Linux. Explica los servicios y aplicaciones que incluye Elastix como SSH, SIP, bases de datos y más. También describe posibles vectores de ataque externos e internos y cómo Fail2ban puede usarse para proteger servicios como SSH y SIP detectando y bloqueando ataques por fuerza bruta. El documento incluye una demostración de cómo configurar Fail2ban para proteger estos servicios en Elastix.
3. Visión a nivel de arquitectura de software
•Sistema Operativo - Linux Centos 5.9
•PBX IP - Asterisk 1.8
•Servidor web - Apache
•Servidor de base de datos - Mysql
•Servicio SMTP – Postfix
•PHP V5.X y componentes
Qué es Elastix ?
6. Externos / Desde Internet
Vectores de ataque en Elastix
Linux
- Password Cracking al servicio SSH
- Revelación de configuración vía SNMP
Asterisk
- Ennumeración de entidades SIP
- SIP Brute broce attack a entidades SIP
- Conexiones AMI
7. Externos / Desde Internet
Vectores de ataque en Elastix
Aplicaciones Web
- SQL inyección
- Cross Site Scripting o XSS
- Exploits
12. Servicio SSH
El servidor de shell seguro o SSH (Secure SHell) es un servicio muy similar al
servicio telnet que permite el acceso al sistema linux de manera remota pero de
manera encriptada.
Seguridad en Elastix
13. Servicio SSH
- Puerto por defecto 22 / TCP
- Archivo de configuracion del servidor
/etc/ssh/sshd_config
- Problemas potenciales
Susceptible a ataques de password cracking
Seguridad en Elastix
14. Servicio SIP
Session Initiation Protocol (SIP o Protocolo de Inicio de Sesiones) La sintaxis de
sus operaciones se asemeja a las de HTTP y SMTP
Trabaja con una serie de metodos para establecer comunicación
Seguridad en Elastix
15. Servicio SIP
- Puerto por defecto 5060/UDP
- Archivo de configuracion del servicio
Asterisk: /etc/asterisk/sip.conf
Elastix: /etc/asterisk/sip_general_custom.conf
- Problemas potenciales
Susceptible a ataques de password cracking
Seguridad en Elastix
16. Y ahora que hacemos con estos
Servicios ...
Dejamos de usarlos ??
17. Fail2ban
Fail2ban es una aplicación escrita en Python para la prevención de intrusos en
un sistema.
Actúa penalizando o bloqueando las conexiones remotas que intentan accesos
de manera reiterativa o por fuerza bruta (password cracking)
Seguridad en Elastix
18. Fail2ban
Algunas observaciones :
- Cabe señalar que fail2ban no analiza los paquetes entrantes
- Fail2ban analiza constantemente de archivos “log” de los servicios
- Este proceso puede generar algun “delay” en el proceso de bloqueo
Seguridad en Elastix
19. Fail2ban
- Archivo de configuración general
/etc/fail2ban/jail.conf
- Carpeta de configuración de patrones de bloqueo
/etc/fail2ban/filter.d
Seguridad en Elastix
20. Uso de fail2ban en Elastix
Es posible asegurar completamente el servicio SSH y el servicio SIP de Elastix ,
detectando y bloqueando proactivamente ataques con Fail2ban
Seguridad en Elastix
21. Uso de fail2ban en Elastix
- En Elastix fail2ban ya viene instalado , pero no viene activo
- Es necesario levantar el servicio con “service fail2ban start”
- En Elastix fail2an viene configurado para proteger SSH , pero no SIP
Seguridad en Elastix