jueves, 6 de marzo de 2014

Configurar un túnel OpenVPN y cliente SIP en Android

Nota: Ésta es la vista de impresión del Manual de referencia completo en una sola página. Si lo prefiere puede encontrar la versión original aquí.
Es una opción libre y cómoda para que los usuarios móviles puedan utilizar redes públicas, y por lo tanto no muy seguras, para conectarse a la centralita IP de la empresa. Nosotros lo utilizamos para conectarnos a Asterisk.

1. Introducción

En este mini-manual vamos a explicar como hemos configurar nuestro teléfono Android para acceder a una red corporativa a través de un tunel VPN gestionado con de OpenVPN.

Para aquellos que no conozcan OpenVPN, simplemente decir que es una solución robusta y versátil para montar una VPN corporativa. Tiene clientes para todas aquellas plataformas que vayamos a utilizar, y entre sus características principales está el que puede estar escuchando el puerto HTTPS (TCP 443). Esto es muy importante, porque es un puerto que vamos a encontrar abierto casi desde cualquier sitio en el que nos den una conexión, bien sea un hotel, un bar, etc.
La pega que se pone a este tipo de conexión gratuita es que puede haber alguien "escuchando" el tráfico que pasa por la red, con lo que podemos poner en riesgo nuestras credenciales al utilizar este tipo de conexiones.

La solución que nosotros planteamos aquí es la de utilizar este tipo de redes abiertas y gratuitas para abrir un túnel seguro y cifrado hasta nuestro servidor OpenVPN, el cual puede estar ubicado en la empresa o en nuestra propia casa. El software se encargará de enrutar a través del túnel todo el tráfico cuyo destino sea la red corporativa, con todas las posibilidades que esto ofrece (p.ej. abrir un cliente VNC para gestionar un servidor corporativo, etc)
Si con el cliente SIP queremos acceder a una centralita ubicada en la red corporativa, ya estaría todo solucionado. Si queremos acceder a un servidor SIP que está en Internet, podemos aprovechar que tenemos un túnel abierto hacia una zona que consideramos segura (nuestra red corporativa), para hacer que el tráfico hacia el servidor SIP vaya cifrado hasta la empresa, y salga desde allí sin cifrar hasta el servidor SIP.
Todo el tráfico que generemos en nuestro teléfono android viaja cifrado, con lo cual evitamos que alguien esnife el tráfico y obtenga nuestras credenciales.

2. El montaje ...

El escenario que planteamos es el siguiente:
  • En nuestra organización tenemos una centralita de telefonía IP basada en Asterisk, y podremos elegir conectarnos directamente a este servidor a través de SIP, o bien conectaros a cualquier otro tipo de servidor que soporte SIP.
  • Tenemos además gestión de túneles a través de OpenVPN. En este caso tenemos un cliente configurado con Ubuntu del cual cogeremos la configuración OpenVPN. No cabe duda de que también podríamos crear una configuración partiendo de cero, pero no es el objetivo de este manual.


Instalando un cliente SIP en el smartphone

Existen distintos programas para utilizar VoIP en android. Nosotros utilizamos Sipdroid y estamos a gusto con él. Da la opción de configurar dos cuentas distintas, y la configuración es sencilla. Basta con introducir el usuario, contraseña y servidor para ponerlo en marcha.
SipDroid configuración

Instalando el cliente OpenVPN en el smartphone

Aquí también hay distintas opciones. Desde utilizar la propia configuración nativa de android para configurar el cliente VPN, hasta instalar un programa de los que hay en el Play Store. Nosotros hemos optado por la segunda tras varios intentos infructuosos con la primera. El programa que hemos utilizado es OpenVPN para Android de Arne Schwabe.
Cliente OpenVPN para android

La configuración es sencilla. Una vez finalizada la instalación se abre la aplicación y se procede a añadir un nuevo Perfil VPN.
Cliente OpenVPN para android, perfiles
En la siguiente ventana, se pulsa sobre el icono de carpeta que nos da la opción a elegir un fichero de configuración previo.
Cliente OpenVPN para android (III)
En este punto, cargaremos el fichero de configuración que previamente hemos exportado desde nuestro equipo con Ubuntu, ya que tenemos los parámetros ya configurados y sabemos que nos va a funcionar. No lo hemos probado, pero tiene que ser lo mismo si tienes instalado tu cliente en Windows o MAC.
Cliente OpenVPN para android (IV)
Un detalle. En el fichero .conf que hemos exportado, podemos observar que los certificados estaban en un path concreto, un path de nuestro equipo Ubuntu. Si estáis utilizando Windows o Mac, el path será relativo a vuestro sistema, pero en todo caso, no es un path que se corresponda con la estructura de ficheros de Android. Hay que tener en cuenta que en la configuración Android, ese path variará en función del sitio en el que hayamos dejado los certificados en el teléfono.

En mi caso he creado en la memoria interna del teléfono una carpeta llamada openvpn en el path: /mnt/sdcard/openvpn , y es en esta carpeta donde he copiado los certificados a los que se hace referencia en el fichero .conf.

Cliente OpenVPN para android (VI)
Con esta información, he modificado los paths en el fichero .conf para que apunten a la carpeta correcta
Cliente OpenVPN para android (V)
Ya está, con esto ya tenemos el cliente VPN instalado y configurado. En este punto conviene probar la conexión y comprobar que podemos acceder a recursos privados de la red corporativa a la que nos hemos conectado: haciendo un ping a un servidor interno, accediendo vía web a algún servicio privado, etc.

Enrutando todo el tráfico del teléfono a través de túnel

Tal y como hemos comentado al principio, por túnel se enrutará solamente el tráfico cuyo destino sea la red privada que está al final del túnel, típicamente la red privada corporativa. En nuestro caso, a veces nos puede interesar que el tráfico hacia otros recursos de Internet vaya también cifrado a través del túnel, evitando así que quien nos da la conectividad wifi gratuita pueda vigilar nuestro tráfico y comprometer nuestras cuentas.
Esto lo haríamos a través de la opción Enrutamiento del perfil OpenVPN que acabamos de crear en el teléfono
Cliente OpenVPN para android (VII)

Ejemplo de uso de lo aprendido

Este tipo de configuración es muy útil cuando alguien de la empresa viaja al extranjero. En estas situaciones, el coste de las llamadas telefónicas suele ser elevado ya que se trata de llamadas internacionales.
Con lo que hemos visto, el usuario que está en el extranjero puede conectarse a través del túnel VPN a la red corporativa, conectarse con el cliente SIP a la centralita corporativa a través del túnel, y realizar/recibir llamadas con su extensión local como si estuviera en la misma empresa. Tanto las llamadas entrantes como salientes se enrutarían a través del túnel, con lo que el coste internacional desaparecería y se aplicarían las tarifas corporativas que se aplican a las líneas de la centralita corporativa.
El único coste sería el de la conexión a Internet del usuario móvil en el extranjero, y como hemos comentado anteriormente puede ser la conexión gratuita que obtenemos en el hotel o en un bar.

3. Créditos y licencia

Autor: Pedro Arreitunandia
Fecha: 28 de febrero del 2013
Cualquier duda o comentario acerca de este manual, la puedes hacer respondiendo a este post en nuestro blog

lunes, 10 de febrero de 2014

Números de teléfono de UTU de Montevideo

Números de teléfono UTU de Montevideo

UBICACIÓN Y TELÉFONOS DE LAS ESCUELAS DE MONTEVIDEO
ESCUELA TÉCNICA ARROYO SECO - Av. Agraciada 2544 - Tel. 2924.3865
ESCUELA de ARTES Y ARTESANÍAS "Dr. Pedro Figari" - Durazno 1577 - Tel. 2410.2057
ESCUELA DE BELLEZA - San Salvador 1674 - Tel. 2418.2516
ESCUELA SUPERIOR DE COMERCIO BRAZO ORIENTAL - Av. Dr. Luis A. de Herrera 3721 - Tel. 2200.0416
ESCUELA TECNOLÓGICA BUCEO - Av. Rivera 3729 - 2628.5408/10
ESCUELA TÉCNICA CERRO - Portugal 4257 - Tel. 2311.1056
ESCUELA TÉCNICA COLÓN - Camino Colman 5274 - Tel. 2320.9511
ESCUELA DE COMUNICACIÓN SOCIAL - Guaná 2130 - Tel. 2409.2422
ESCUELA SUPERIOR DE LA CONSTRUCCIÓN - Arenal Grande 1604 - Tel. 2408.4116
ESCUELA TÉCNICA FLOR DE MAROÑAS - Andrés Latorre 4914 - Tel. 2514.8177
ESCUELA DE HOTELERÍA - Gral. Aguilar 1180 esq. Agraciada - Tel. 2924.6912/9609
ESCUELA DE HOTELERÍA POCITOS - Julio César 1424 - Tel. 2622.0354
ESCUELA ANEXO INDUSTRIAS DEL CUERO - Rondeau 2002- Tel. 2924.8391
ESCUELA DE INDUSTRIAS GRÁFICAS - Durazno 1555 - Tel. 2410.4004INSTITUTO TECNOLÓGICO INFORMÁTICO - Durazno 1328 - Tel. 2901.2257
INSTITUTO TECNOLÓGICO SUPERIOR - Av. Gral. Flores 3591 - Tel. 2215.9848
ESCUELA TÉCNICA MALVÍN NORTE - Mallorca 15 A - Tel. 2508.3992
ESCUELA TÉCNICA MARÍTIMA - Leonardo Olivera 4215 - Tel. 2308.3004
ESCUELA SUPERIOR COMERCIO LA BLANQUEADA - Av. 8 de Octubre 2824 - Tel. 2487.1012
ESCUELA TÉCNICA PALERMO - San Salvador 1674 - Tel. 2410.4414
ESCUELA TÉCNICA PASO DE LA ARENA - Camino de la Tropas 2430 esq. Luis Batlle Berres - Tel. 2312.3328
CURSO DE PREVENCIONISTA EN SEGURIDAD INDUSTRIAL - Rondeau 2002 esq. Guatemala - Tel. 2924.8391 
ESCUELA TÉCNICA PIEDRAS BLANCAS - Camino Domingo Arena 4269 - Tel. 2222.3094
ESCUELA TÉCNICA UNIÓN - Larravide 2612 - Tel. 2508.3253
ESCUELA SUPERIOR COMERCIO VILLA MUÑOZ - Constitución 2484 - Tel. 2209.6850
ESCUELA SUPERIOR DE ADMINISTRACIÓN Y SERVICIOS PRADO - Gral. Batlle 1065 y Gil  - Tel. 2304.2716

mysqld no incia

Hoy me encontre con que el servidor mysql no iniciaba en mi Centos. Es que el servidor se apago mal, y habrá sido por eso del error que me daba:

service mysqld start
Another MySQL daemon already running with the same unix socket.
Iniciando mysqld:  [FALL?]


La solución:

shutdown -h now

mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak

service mysqld start

Iniciando mysqld:  [  OK  ]