22 oct 2010

Implementación del protocolo SRTP en Asterisk « Seguridad Voip

Implementación del protocolo SRTP en Asterisk

i

Rate This

Quantcast

En la última versión de Trixbox no viene instalado el protocolo SRTP pero es muy fácil implementarlo. A continuación se definirán los pasos que se deben seguir para implementar el protocolo en Asterisk.

Debemos conocer de antemano la versión de Asterisk por un bug que se produce, se anota versión entregada por el siguiente comando:

#asterisk -V
Instalación de srtp

Primero se instalan en Trixbox algunos requerimientos de software.
#yum -y install gcc gcc-c++ pkgconfig zlib-devel openssl-devel ncurses-devel
#yum -y install autoconf automake libtool subversión

Luego se debe instalar la librería libsrtp
#rpm -ivh http://qutecom.ipex.cz/RPMS/srtp-1.4.4-1.i386.rpm
(fuente es http://qutecom.ipex.cz/RPMS/srtp-1.4.4-1.src.rpm)
O descargar http://srtp.sourceforge.net/download.html
#tar -xzf srtp-tarball
#./configure –prefix=/usr
#make
#make runtest
#make install

Luego se debe instalar un paquete en Asterisk
#svn co http://svn.digium.com/svn/asterisk/team/group/srtp asterisk-srtp
#cd asterisk-srtp
#./configure
#make menuselect (verificar en {\it resource modules} que se encuentre res_srtp)
#make
#make install

En caso de no encontrar xmldoc ejecutar ./configure -disable-xmldoc
Configuración de extensiones

A continuación se debe configurar las extensiones, esto se realizará a través del navegador utilizando el editor de archivos de configuración.

\begin{figure}[H]

\begin{center}

\includegraphics[width=1\textwidth]{./Anexos/srtp1.eps}

\caption{\label{MiFigura} Editor de archivos de configuración}

\end{center}

\end{figure}

La figura indica como acceder al editor de archivos. A continuación se selecciona el archivo sip_additional.conf y se debe verificar el contexto de la extensión:

context=from-internal

Entonces en el archivo extensions.conf y se busca el contexto correspondiente y se agregan las líneas que muestra la siguiente figura.

\begin{figure}[H]

\begin{center}

\includegraphics[width=1\textwidth]{./Anexos/srtp2.eps}

\caption{\label{MiFigura} Configuración SRTP}

\end{center}

\end{figure}

En la figura podemos ver dos formas de configurar las extensiones la primera permite conexiones sin encriptación, sin embargo, la segunda opción establece la encriptación como requerida.

Como resultado, luego de establecer la llamada con la extensión correspondiente, se puede ver el intercambio de paquetes SRTP.

\begin{figure}[H]

\begin{center}

\includegraphics[width=1\textwidth]{./Anexos/srtp3.eps}

\caption{\label{MiFigura} Paquetes SRTP capturados por Wireshark}

\end{center}

\end{figure}

La figura muestra los paquetes capturados en la llamada SRTP establecida exitosamente.
Solución de bug SRTP

Después la implementación de SRTP se debe solucionar un bug que se produce a la hora de actualizar cambios en la página de configuración de Trixbox.

Reload failed because retrieve_conf encountered an error

[FATAL] Failed to get engine_info retrieve_conf failed to get engine information
and cannot configure up a softwitch with out it. Error: ERROR-UNABLE-TO-PARSE

En el archivo /var/lib/asterisk/bin/retrieve_conf se busca la sección con la siguiente línea:
$engineinfo = engine_getinfo();

Se insertan las líneas:

$engineinfo['engine']=”asterisk”;
$engineinfo['version']=”1.6.0.10″;}

En la versión se coloca la versión revisada previamente. Luego:
#wget http://pbxinaflash.net/scripts/fixconf.zip
#unzip fixconf.zip
#chmod +x fixconf.sh
#./fixconf.sh
#chmod 1777 /tmp

No hay comentarios: