domingo, 9 de febrero de 2014

Encriptación de las comunicaciones usando Elastix I


Introducción

Debido a que las telecomunicaciones son una parte crítica de la seguridad nacional, las debilidades de las tecnologías y protocolos usados en las telecomunicaciones son una gran preocupación. La seguridad y confiabilidad de las comunicaciones usando VoIP son un importante requerimiento
tanto para los organismos que pertenecen al sector público así como también para las empresas privadas.

En VoIP los requerimientos de seguridad se pueden dividir en tres clases:
  • Confidencialidad.
  • Integridad.
  • Disponibilidad.
La confidencialidad consiste en garantizar que la información es accesible solo para aquellos autorizados a tener acceso a la misma.
La integridad busca mantener la información libre de modificaciones no autorizadas.
La disponibilidad busca permitir el acceso a la información y a los sistemas VoIP por personas autorizadas, en el momento que así lo requieran.

Marco Teórico

Encriptación

Encriptar significa transformar datos en un código secreto que puede ser descifrado únicamente por la parte interesada. En resumen, los datos se traducen a un código, aparentemente un conjunto de números y letras escogidos al azar, que no guardan sentido alguno para quien lo vea.

Elastix

Es un aplicación de software para crear sistemas de telefonía VoIP, que integra las mejores herramientas para PBX y Callcenter basados en Asterisk, en una interfaz simple y fácil de usar.
Añade su propio conjunto de utilidades y permite la creación de nuevos módulos que permiten ampliar la funcionalidad del paquete.

Protocolo SIP

El “Session Initiation Protocol” (SIP) es considerado el protocolo estándar de señalización multimedia. SIP esta definido por la IETF en el RFC 3261. Es utilizado por la mayoría de terminales VoIP del mercado.
Desde un punto de vista estructural, 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.
La implementación del protocolo SIP se divide en dos partes:
  • UAS o User Agent Server (servidor SIP).
  • UAC o User Agent Client (cliente SIP).
El UAC inicia una sesión enviando paquetes SIP al UAS. El UAC debe estar siempre escuchando conexiones entrantes SIP. Los dispositivos SIP deben ser capaces de cumplir ambos roles.
Se complementa utilizando otros protocolos como SDP y RTP.

Protocolo SDP

El “Session Description Protocol” (SDP), esta definido por la IETF en el RFC 2327. El propósito de este protocolo es transmitir las capacidades multimedia de los terminales que quieren establecer una comunicación (tipo de contenido, formato, codec a utilizar, entre otros).

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, 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.
El ancho de banda requerido depende de la tasa de compresión aplicada por el codec utilizado en la comunicación.

Interceptación de comunicaciones

Interceptar comunicaciones consiste en captar información (SIP, SDP, RTP en el caso de VoIP) de forma ilegal.

Formas de interceptar tráfico VoIP
Un medio de interceptación habitual es el sniffing, utilizando herramientas como wireshark o tcpdump.
Utilizando Cain & Abel también se puede capturar tráfico VoIP. Este software realiza un “ARP poisoning o ARP spoofing” en cualquier switch, para realizar un ataque “man-in-the-middle”. Este tipo de ataques se puede realizar a hosts que están en el mismo segmento de red.
Cuando se tienen VLANs, existen dos tipos de ataques que se pueden efectuar:
  • Switch spoofing.
  • Double-tagging.
En el caso de “switch spoofing”, el host atacante simula ser un switch de trunking, por tanto el tráfico de múltiples VLANs es accesible.
El ataque “double-tagging” consiste en pasar información de una VLAN a otra VLAN sin pasar por el camino que debería seguir.
Manipulando MGCP, que es el protocolo utilizado entre el “call-agents” (o call-manager en terminología CISCO), también se pueden interceptar comunicaciones. Con este método se pueden interceptar comunicaciones que usan SIP, H.323, CISCO SCCP o “Skinny”, entre otras.

¿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 están instalados.
  • La versión de Asterisk ha sido compilada incluyendo el módulo “res_srtp”.
  • También 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. Lo recomendable es tener un servidor que cumpla las funciones de CA.
  • • Los algoritmos de encriptación tanto para SIPS como para SRTP soportados por Elastix, son soportados por la mayoría de dispositivos SIP.

No hay comentarios: