Practica6 Asterisk Seguridad
Practica6 Asterisk Seguridad
Practica6 Asterisk Seguridad
1. TEMA
PROTECCIÓN CONTRA UN ATAQUE EAVESDROPPING UTILIZANDO LOS
PROTOCOLOS DE SEGURIDAD TLS Y SRTP.
3. DOCUMENTACIÓN A ENTREGAR
La documentación a entregar después de realizar la práctica de laboratorio se compone de una
Memoria escrita por grupo en formato electrónico, archivo tipo .pdf, la cual debe ser enviada
por correo electrónico al mail del señor profesor (fracosta@espe.edu.ec).
NRC999 Informe#6_GrupoX
• Abstract o Resumen
• Introducción
• Objetivos
• Materiales y Métodos
• Desarrollo
• Resolución de Preguntas
• Conclusiones y Recomendaciones
• Bibliografía
4. OBJETIVOS:
• Emplear los protocolos TLS Y SRTP que permita la protección contra un ataque
eavesdropping.
• Obtener un muestreo estadístico durante el transcurso de la llamada a través del uso del
softphone PhonerLite.
• Indicar el número de paquetes transmitidos, recibidos y paquetes perdidos, mediante el
empleo del softphone PhonerLite.
5. MATERIALES
• Computadora con Sistema operativo Linux-Ubuntu
• Router
• Softphones
• Smartphone
1
6. MARCO TEÓRICO
Eavesdropping es el término que hace referencia a la captura de información ya sea cifrada o
no. Traducido al español quiere decir “escuchar secretamente”.
1. Se capturan y decodifican los paquetes RTP, con la ayuda de un sniffer como Wireshak,
que interpreta los paquetes UDP pertenecientes al protocolo RTP.
2. Se selecciona un flujo de datos para analizarlos como un flujo de datos continuo y no
como paquetes individuales.
3. Se analizan los datos RTP y se los rescata como un fichero de audio, para poder ser
reproducidos y escuchados.
Para evitar el ataque de eavesdropping se puede aplicar el uso de protocolos seguros como
son TLS y SRTP en la central telefónica.
7. PROCEDIMIENTO
Como primer paso, se deberá comunicar dos centrales entre sí como se vio en la práctica de
laboratorio número 5.
1.1. Para la configuración del Router, este se debe conectar mediante un cable de red a
la computadora con la primera central de Asterisk, y se ingresa al panel de
configuración con la dirección IP: 198.168.1.1, donde el usuario y contraseña por
defecto es: ubnt.
1.2. Se necesita de una conexión a internet, a través de una red WLAN por medio del
internet de la universidad para que el router 1 funcione como punto de acceso para
la primera central de Asterisk con una red LAN, para ello se coloca la siguiente
configuración, variando el SSID y el Pass WPA, dependiendo del Grupo de trabajo:
1.3. Donde la IP asignada para la red con la primera central de Asterisk es: 192:168:1:1.
De la misma manera se debe realizar la configuración para la segunda central de
Asterisk, colocándola como puente de la central 1, y verificando la conexión de
cada Softphone o Smartphone, de cada central, que se van a utilizar para la práctica.
2. Ataque Eavesdropping
2.3. Wireshark cuenta con su propio reproductor llamado RTP Player, aquí se podrá
escuchar la conversación telefónica.
3. Implementación TLS
Para implementar SIP sobre TLS se utilizara la plataforma Asterisk 1.8, ya que Asterisk
brinda soporte TLS desde su versión 1.6 además de soporte SRTP. No se recomienda el
uso de versiones más antiguas porque se pueden presentar algunas dificultades en el
desarrollo.
3.1. Como primer paso se crearan los certificados digitales. Existen dos maneras de
crear un certificado, pueden ser auto-firmados o pueden ser firmados por una
autoridad reconocida. Para crear un certificado auto-firmado se utiliza la
herramienta OpenSSL que es un software de código abierto desarrollado por Eric
Young y Tim Hudson.
3.1.1. Crear un directorio para almacenar los archivos que serán generados, y le
damos permisos de lectura, escritura y ejecución, como se muestra en el
siguiente ejemplo:
mauricio@MauryUbuntu:˜$ sudo su
root@MauryUbuntu:/home/mauricio# cd /etc
root@MauryUbuntu:/etc# cd asterisk
root@MauryUbuntu:/etc/asterisk# mkdir certificados
root@MauryUbuntu:/etc/asterisk# chmod 777 certificados
3.1.2. Con el comando genrsa se genera una clave para el servidor Asterisk con
una longitud de 1024 bits, utilizando el algoritmo de cifrado RSA.
root@MauryUbuntu:/etc/asterisk# cd certificados
root@MauryUbuntu:/etc/asterisk/certificados# openssl genrsa 1024 >
host.key
3.1.3. Crear una solicitud de certificado cuyo formato es el X509 para certificados
digitales, con una duración de 365 días, y utilizando una función hash de
cifrado SHA-1. Para la creación del certificado se deben llenar algunos
datos como: el país, la provincia, ciudad, nombre de la empresa, nombre de
la sección de trabajo, e-mail, pero la más importante es el nombre común
(Common Name), en el cual se debe especificar la dirección IP del servidor
o su dominio.
3.3. Se añaden a las configuraciones de los usuarios SIP, el tipo de transporte y puerto a
usarse:
[usuario]
transport=t
ls
port=5061
4. Instalación de PhonerLite
4.4. Seguimos todos los pasos que nos indique el programa, y luego nos aparecerá una
opción para subir el archivo .exe de PhonerLite, para ello descomprimimos el
archivo PhonerLite.zip previamente descargado, y seleccionamos el archivo .exe
para la instalación.
4.5. Una vez realizada la instalación, vamos al archivo que está descomprimido, como
se observa en la figura 8, y le damos clic derecho abrir con Wine, y nos aparecerá
el programa PhonreLite como se observa en la figura 9.
6
5. Configuración de PhonerLite
5.1. Se configura una cuenta de usuario. Indicando la dirección del servidor proxy o de
registro y el dominio. Además de la contraseña, nombre de autenticación y nombre
de usuario.
7
Figura 11: Configuración de un usuario en el Softphone PhonerLite
5.2. Se especifica el protocolo de transporte y el puerto a usarse, en este caso TLS y
5061 respectivamente.
5.3. En la pestaña Codecs se escoge el o los tipos de codecs a usarse, además de tener 3
opciones de protocolos para el cifrado de los paquetes d audio y video como son
SRPT, ZRTP y SAVP.
8
Figura 13: Selección de códec y protocolo para el cifrado de paquetes multimedia
9
Figura 15: Estadísticas de la llamada en transcurso con PhonerLite
6. Implementación SRTP
6.1. Se debe compilar la librería libSRTP para que Asterisk tenga soporte SRTP
root@MauryUbuntu:/home/mauricio# cd /usr/src
root@MauryUbuntu:/usr/src# wget http://srtp.sourceforge.net/srtp-1.4.2.tgz
root@MauryUbuntu:/usr/src# tar zxvf srtp-1.4.2.tgz
root@MauryUbuntu:/usr/src# cd srtp
root@MauryUbuntu:/usr/src/srtp# ./configure
root@MauryUbuntu:/usr/src/srtp# make
root@MauryUbuntu:/usr/src/srtp# make runtest
root@MauryUbuntu:/usr/src/srtp# make install
root@MauryUbuntu:/usr/src/srtp# cd root@MauryUbuntu:/home/mauricio#
cd
/usr/local/
src/asterisk-certified-13.8-cert2
root@MauryUbuntu:/usr/src/srtp# make menuselect
10
11
6.3. Como siguiente paso se modifican los archivos sip.conf y extensions.conf del
directorio de Asterisk. En el archive Sip.conf se añaden las siguientes líneas a las
características de los usuarios configuradas:
[812]
encryption=yes
srtpcapable=yes
[telefonos]
exten =>_4XXX,1,Set(_SIP_SRTP_SDES=optional) exten
=> _4XXX,2, Dial(IAX2/centralc/${EXTEN},90,tr) exten
=> _4XXX,3,Hangup
exten => 812,1,Set(_SIP_SRTP_SDES=1)
exten => 812,2,Set(_SIPSRTP=1)
exten => 812,3,Set(_SIPSRTP_CRYPTO=enable)
exten => 812,n,Dial(SIP/812,30,Ttm)
exten => 812,n,Hangup
exten => 812,102,Voicemail(812)
exten => 812,103,Hangup
exten => 5712,1,Set(_SIP_SRTP_SDES=1)
exten => 5712,2,Set(_SIPSRTP=1)
exten => 5712,3,Set(_SIPSRTP_CRYPTO=enable)
exten => 5712,n,Dial(SIP/812,30,Ttm)
11
exten => 5712,n,Hangup
exten => 5712,102,Voicemail(812)
exten => 5712,103,Hangup
6.5. Para poder realizar una llamada con protección de audio del protocolo SRTP, se
requiere tener un softphone que soporte este protocolo, se usará nuevamente
PhonerLite. Se sigue la misma configuración que se aplicó para TLS con la
diferencia que se activan las opciones para soporte de SRTP.
6.6. Se debe realizar varias llamadas de prueba de una central a la otra, para comprobar
la protección del ataque Eavesdropping, y posteriormente responder el banco de
preguntas.
8. PREGUNTAS
• Capturar las tramas con la ayuda de Wireshark durante una llamada establecida con
protección TLS, SRTP y cuando estén implementados ambos protocolos a la vez.
• Analizar los mensajes TLS de una trama y comprobar el cifrado de los mismos.
• Indicar el funcionamiento del protocolo basado en las tramas capturadas.
• Comprobar la protección del ataque eavesdropping con el uso de los protocolos TLS y SRTP,
utilizando el reproductor de RTP Player de Wireshark.
9. BIBLIOGRAFÍA
• Gómez López, J., & Gil Montoya, F. (2008). VoIP y Asterisk, Redescubrimiento de la
telefonía. Almería: Alfaomega.
• Carballar, J. A. VoIP, La telefonía de internet. España: Thomson.
13