"Implementación práctica de TLS, SRTP y OpenVPN en Elastix para encriptar las comunicaciones"
Juan Almeida - Minga.ec, Noviembre 27 de 2013
Quito, Ecuador
3. Introducción
Las telecomunicaciones son una parte crítica de la
seguridad nacional.
La seguridad y confiabilidad de las comunicaciones
son un importante requerimiento para organismos
públicos y privados
4. Requerimientos de seguridad
Los requerimientos de seguridad de las
comunicaciones se pueden dividir en:
Confidencialidad.
Integridad.
Disponibilidad.
7. Elastix
Es un aplicación open source para crear sistemas
de telefonía VoIP, que integra las mejores
herramientas para PBX y Callcenter basados en
Asterisk.
Permite la creación de nuevos módulos que
permiten ampliar su funcionalidad.
8. Protocolo SIP
El “Session Initiation Protocol” (SIP) es un
protocolo de señalización multimedia.
Esta definido por la IETF en el RFC 3261.
SIP es un protocolo similar al protocolo HTTP
usado en la navegación web.
Dentro de la definición del protocolo, no existe un
mecanismo para el cifrado de datos.
10. Protocolo SDP
El “Session Description Protocol” (SDP) transmite
las capacidades multimedia de los terminales que
quieren establecer una comunicación.
Está definido por la IETF en el RFC 2327.
11. Protocolo RTP
El “Real-Time Transport Protocol” (RTP) es
utilizado para la transmisión de información (voz,
vídeo, entre otros) en tiempo real.
Está definido por la IETF en el RFC 3550 y RFC
3511.
Funciona sobre UDP, ya que posee un menor
retardo en la entrega de paquetes con información.
12. Interceptar las comunicaciones
Consiste en captar información (paquetes SIP, SDP,
RTP en el caso de VoIP) de forma ilegal.
Una forma de interceptar comunicaciones es el
sniffing, usando herramientas como wireshark o
tcpdump.
13. Interceptar las comunicaciones
Utilizando Cain & Abel también se puede capturar
tráfico VoIP, a hosts que están en el mismo
segmento de red.
Cuando se tienen VLANs se pueden efectuar dos
tipos de ataques: Switch Spoofing y Double
Tagging.
Manipulando el protocolo MGCP se puede
interceptar comunicaciones entre “call agents”.
14. Encriptación de las comunicaciones
Se puede aplicar la encriptación en tres niveles:
Señalización (SIP).
Multimedia (RTP).
Transmisión de datos en general (OpenVPN).
16. Vulnerabilidad del Protocolo SIP
Los dispositivos SIP se identifican usando
direcciones SIP (SIP URI), que tienen la forma:
sip:usuario@dominio
El protocolo SIP dentro de su especificación no
incluye mecanismos de seguridad, la información se
envía como texto plano.
20. Encriptación de la señalización:
SIP/TLS (SIPS)
El documento RFC en donde se define el protocolo
SIP, recomienda el uso de TLS como medida de
protección para evitar ataques como la
interceptación de llamadas, o ataques man-in-themiddle.
TLS está definido en el documento RFC 4346.
21. SIP/TLS (SIPS): Partes
Se divide en dos partes:
TLS Record Protocol, que se encarga de mantener
una conexión segura entre dos dispositivos.
TLS Handshake Protocol cuya función es la
negociación de la llaves criptográficas y la
autenticación cliente/servidor.
23. SIP/TLS (SIPS) vs SIP
El SIPS URI tiene la forma: sips:usuario@dominio.
Para el transporte de información se usa TLS. Por
tanto los datos enviados son cifrados.
El puerto SIPS es el 5061, en lugar del puerto
5060 que esta reservado para UDP o TCP.
Los paquetes SIPS se transportan usando TCP.
24. SIP/TLS (SIPS): Recomendaciones
Para la transmisión de datos se recomienda
utilizar el algoritmo AES 128-bit en modo CBC
(Cipher Block Chaining)
Para la autenticación y verificación de la
integridad de los mensajes, se debería usar SHA-1.
25. SIP/TLS (SIPS): Ventajas
Soporte para autenticación mutua (cliente y
servidor). Importante para evitar ataques man-inthe-middle.
Provee confidencialidad e integridad de la
comunicación.
TLS es un protocolo universalmente soportado por
diferentes dispositivos y sistemas operativos.
Protege el proceso de negociación de las llaves a
ser utilizadas para la encriptación de multimedia
(SRTP).
26. SIP/TLS (SIPS): Desventajas
Solo puede ser usado con TCP o SCTP, pero no con
UDP. Muchos proveedores de telefonía SIP solo
soportan tráfico UDP.
Aumenta la utilización de recursos en el servidor
SIP (Elastix) en un 30%, en especial en el uso de
procesador y memoria RAM.
No brinda confidencialidad extremo a extremo.
Requiere la terminación y creación de una nueva
sesión para cada uno de los segmentos.
29. SRTP
El “Secure Real Time Protocol” (SRTP) es un
complemento al “Real Time Protocol” (RTP), que
provee confidencialidad, integridad y autenticación
de los datos (voz, vídeo, mensajería, entre otros).
Se encuentra definido por la IETF en el documento
RFC 3711.
También brinda protección a los mensajes RTCP
(Real-Time Transport Control Protocol) usados para
aplicar políticas como QoS, estos paquetes son
utilizados por los dispositivos activos de una red.
31. SRTP: Recomendaciones
El algoritmo de encriptación por defecto es AES
(Advanced Encryption Standard) en modo counter,
usando una llave de 128-bits.
Para la autenticación y verificación de la
integridad de los mensajes, se debe usar SHA-1.
Como la llave a utilizar en la encriptación se
negocia en cada llamada, utilizando SDP, durante el
intercambio de mensajes SIP, no tiene sentido
utilizar SRTP sino se lo complementa con SIPS.
32. SRTP: Ventajas
Confidencialidad, integridad y autenticación del
contenido multimedia.
Soporte de AES que permite recibir paquetes en
desorden.
Minimiza el uso de recursos de hardware y ancho
de banda.
33. SRTP: Desventajas
Debe funcionar junto con SIPS para no tener
huecos de seguridad.
No es soportado por los proveedores de telefonía
IP.
Los fabricantes de los dispositivos SIP aplican
diferentes algoritmos para la encriptación, y para la
negociación de los mismos.
Algunos dispositivos requieren la implementación
de mecanismos para la negociación de llaves de
encriptación como MIKEY o ZRTP.
35. OpenVPN
Permite unir diversos dispositivos de una
organización, ubicados en lugares distintos, a
través de un medio inseguro (internet),
manteniendo la confidencialidad de los datos
transmitidos.
36. OpenVPN: Ventajas
Se puede implementar en dos modos básicos,
capa 2 y capa 3.
En el firewall, que protege la red, se requiere abrir
un solo puerto que escuche las conexiones.
Las conexiones OpenVPN se pueden realizar a
través de casi cualquier firewall. También posee
soporte para proxy.
No existe problema con NAT.
37. OpenVPN: Ventajas
Se pueden implementar reglas de firewall para
limitar el acceso a recursos a los usuarios
conectados a través de OpenVPN.
Muchos fabricantes están desarrollando hardware
con clientes OpenVPN integrados.
El tráfico VoIP (SIP + RTP) se envía a través del
túnel VPN.
38. OpenVPN: Desventajas
No hay estandarización en la forma en que se
deben cargar los archivos de configuración y
certificados en un cliente.
43. ¿Por qué usar Elastix?
Elastix soporta TLS para la encriptación de la
señalización SIP y soporta también SRTP para
encriptar los datos de una llamada (voz, vídeo,
entre otros).
En su sistema operativo base (CentOS 5.9) los
paquetes OpenSSL y LibSRTP vienen instalados.
La versión de Asterisk ha sido compilada
incluyendo el módulo “res_srtp”.
44. ¿Por qué usar Elastix?
Tiene los scripts necesarios para generar
certificados, que serán utilizados tanto por los
dispositivos que soportan SIP/TLS como para los
dispositivos que se conectaran utilizando OpenVPN.
Los algoritmos de encriptación tanto para SIPS
como para SRTP soportados por Elastix, son
soportados por la mayoría de dispositivos SIP.
45. Preguntas y Comentarios
Visiten la página web del proyecto Elastix:
www.elastix.org
Visiten mi blog:
Juanelojga.blogspot.com