Icono del sitio Trevenque Cloud

Configurar túneles VPN SSTP ( SSL/TLS) en los sistemas operativos más comunes

Qué es y cómo funciona

Tras la pandemia de 2020, para muchos de nosotros el teletrabajo llegó para quedarse definitivamente. Las conexiones de VPN (Red Privada Virtual) hacia nuestra empresa suelen ser el día a día de nuestra rutina de trabajo. Nos permiten conectarnos de manera segura a los recursos privados de nuestras oficinas y entornos Cloud.

Los Protocolos VPN

Como comentamos en otras entregas anteriores, la seguridad debe formar parte ya de nuestro ADN digital y hemos de conocer los conceptos básicos y protocolos más usuales de VPN.

Uno de esos protocolos es el L2TP/IPSEC, que vimos en esta entrada del blog anterior: https://www.cloudcenterandalucia.es/blog/configurar-tuneles-vpn-l2tp-ipsec-en-los-sistemas-operativos-mas-comunes/)

En esta ocasión nos centraremos en otro tipo de protocolo de conexión segura por VPN, el SSTP ( Secure Socket Tunneling Protocol ). Básicamente, podríamos verlo como una conexión web https (como la que utilizamos para conectarnos a nuestro banco) y por dentro de esta conexión viajarían los servicios más usuales como: el escritorio remoto (RDP), acceso a archivos (SMB), impresión remota o acceso a nuestra base de datos (MySQL por ejemplo).

La tecnología siempre se ha diseñado en “capas”, si una de esas tecnologías ya funciona, se reutiliza y encima se añade otra “capa” tecnológica. Esa es, en esencia, la filosofía de este protocolo de SSTP-VPN.

Como se puede observar en la imagen, dentro de una conexión TCP se encapsula el capa de HTTPS con Certificados Digitales SSL y a su vez se encapsula el Tunel SSTP. Se suele denominar SSTP over HTTPS.

Compatibilidad y Certificados Digitales

Lo más importante ante de empezar es asegurarnos de que nuestro router es compatible y tiene activado el servicio de VPN con el protocolo SSTP over HTTPS. Si no lo sabes, puedes investigar un poco por internet para estudiar las características y especificaciones de vuestro router o si necesitas ayuda, puedes ponerte en contacto con alguno de nuestros consultores comerciales para que te asesoren. A fecha de publicación de este artículo existen promociones gubernamentales en España como el “KitDigital” que fomentan la puesta en marcha de estos sistemas.

Además de la compatibilidad del router, necesitamos un certificado digital para asegurar que nos conectamos con el router que dice ser y para cifrar las comunicaciones entre nuestro equipo y el router.

Lo importante en este caso, es que al trabajar con Certificados Digitales podemos encontrarnos dos tipos:

Como importar el certificado privado o Autofirmado.

Si no tenemos un certificado público (normalmente es de pago) podemos utilizar un certificado gratuito generado por nosotros mismos (Autofirmado). Nuestro administrador de redes y sistemas debe habernos proporcionado el certificado. Normalmente son ficheros con extensión .crt o .cert ya que contienen la información pública a la que tenemos que acceder.

Si te lías un poco échales un ojo a estas definiciones de tipos de ficheros:

.pfx: es la copia de seguridad con clave privada de un certificado (exportado desde Internet Explorer).

.p12: es la copia de seguridad con clave privada de un certificado (exportado desde Firefox).

.cer: es un formato de exportación de clave pública desde Internet Explorer y navegadores de Microsoft, puede ser en formato DER o formato PEM (Base64)

.crt: es un formato de exportación de clave pública desde Mozilla Firefox y otros sistemas. Es en formato PEM (Base 64).

Importación en S.O. Windows:

Descargaremos el fichero en nuestro escritorio y haremos doble click para importarlo.

Hemos de instalarlo en el almacén del equipo y la subcarpeta “entidades raíz de confianza”.

Al ser un certificado privado nuestro Sistema Operativo no confía en él ,nos avisará, aceptaremos y nos permitirá instalarlo.

Para MAC:

Hacemos doble click sobre el certificado y el sistema nos pedirá credenciales de administrador

Localizamos el certificado y le damos a “Obtener más información”

Lo configuramos para aceptar y confiar en conexiones SSL ( que son las que utiliza el túnel SSTP )

Importación en S.O. Linux:

Existen muchas distribuciones de Linux por lo que sería muy extenso explicarlas una por una. De forma general sería algo así:

sudo mkdir /usr/local/share/ca-certificates/extra

sudo cp root.cert.pem /usr/local/share/ca-certificates/extra/root.cert.crt

sudo update-ca-certificates

Importación en S.O. Android:

Descargaremos el certificado que nos han proporcionado. En el ejemplo cert_export_CA-GTNET.crt

Dependiendo de la versión de Android y el fabricante, tendremos que localizar los ajustes para importar el certificado de seguridad.

Por ejemplo, en Android 11 sería algo así:

Iremos a Ajustes – Seguridad – Otros ajustes de seguridad –

Seleccionamos el certificado:

Aceptamos el aviso de seguridad:

Y ya quedaría instalado

Importación en S.O. Iphone:

Descargamos el certificado y hacemos click sobre él.

(nos indicará que hay un perfil descargado nuevo)

Vamos a General->VPN y gestión de dispositivos y veremos un nuevo “Perfil de configuración”

(por defecto no confía en certificado ya que es autofirmado)

Lo seleccionamos y lo Instalamos (nos pedirá el PIN y confirmar de nuevo que queremos instalarlo):

Podremos ver el Check Verde indicando que ya está instalado:

Ya sé cómo funciona, pero ¿cómo me lo configuro?

Cómo configurar un túnel SSTP en Windows

Panel de control->Centro redes y recursos compartidos->Configurar una nueva conexión

Conectarse a un área de trabajo:

No usar ninguna conexión ya disponible

Usar mi conexión a Internet (VPN)

Completar los campos siguientes:

Crear la conexión.

Cerrar sin conectar todavía a la VPN.

Editar la configuración:

Y conectar.

En Windows 11, tan solo hay que ir a la barra de búsqueda, escribir VPN y darle a Agregar:

Cómo configurar un túnel SSTP en MAC

Los equipos de Apple no disponen del protocolo de VPN SSTP de manera nativa. Dado que originalmente el protocolo SSTP viene del fabricante Microsoft, no es muy común encontrar software compatible en los sistemas operativos de Apple. De forma nativa no lo encontramos en el sistema:

Hemos encontrado algunos clientes de VPN tanto gratuitos y por tanto no nos aseguran la compatibilidad 100% o una instalación y configuración sencilla.

Veamos alguno de ellos:

/bin/bash -c «$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)»

brew install sstp-client

sudo /usr/local/sbin/sstpc –cert-warn –tls-ext –efaultroute –user <minombredeusuario> –password <password> <nombrednsdelroutervpn> usepeerdns require-mschap-v2 noauth noipdefault noccp refuse-eap refuse-pap refuse-mschap

por ejemplo:

sudo /usr/local/sbin/sstpc –cert-warn –tls-ext –user Juan –password #x356Jfp vpn.miempresa.com usepeerdns require-mschap-v2 noauth noipdefault noccp refuse-eap refuse-pap refuse-mschap defaultroute

La conexión y desconexión solo se verá en modo línea de comandos por lo que es poco intiutivo.

Existen algunas implementaciones en interfaz Gráfica GUI:

Más información en:

https://help.keenetic.com/hc/en-us/articles/4415732965394-Connecting-to-an-SSTP-VPN-server-from-macOS

https://github.com/axot/isstp

https://macdownload.informer.com/isstp/

Cómo configurar un túnel SSTP en Linux

Existen muchas distribuciones Linux y paquetes disponibles. Dado que no podemos cubrir el amplio espectro de versiones veremos un ejemplo con Ubuntu:

Descargamos el cliente SSTP

$ sudo add-apt-repository ppa:eivnaes/network-manager-sstp

$ sudo apt update

$ sudo apt install sstp-client

Con el comando $ sstpc podremos controlar la conexión en línea de comandos.

Para instalarlo en modo gráfico:

sudo apt install network-manager-sstp-gnome

Por último, configuramos los parámetros de nuestra VPN

Cómo configurar un túnel SSTP en Android

Desde la aparición de Android 12, los protocolos de VPN basados en PPP se eliminaron, incluyendo el SSTP. No podemos configurar de manera nativa la VPN pero tenemos las siguientes opciones:

Existen aplicaciones de terceros con soporte SSTP (algunas de pago y otras gratuitas incluyendo publicidad). La hemos probado en Android v11 y v12 y funcionan correctamente aunque dependerá de mucho de la implementación de Android 12 del fabricante.

Este es un ejemplo de una de ellas:

(insertamos los 3 parámetros básicos: nombre DNS, del router VPN, usuario y contraseña)

Y ya estaremos conectados.

Para desconectar tendremos que hacerlo manualmente con el botón de “stop”:

Cómo configurar un túnel SSTP en IOS Iphone

Dado que Apple no dispone de una aplicación nativa para conectar por SSTP, necesitaremos descartar y seguramente pagar por alguna aplicación compatible.

Para este ejemplo, hemos utilizado la app SSTP Connect:

Una vez adquirida añadiremos los parámetros de conexión de nuestra VPN:

(Le damos al + y Nuevo Perfil)

Aceptamos todas las advertencias de seguridad:

Y conectamos:

Pinchando en “Connected” podremos ver los logs de acceso por si necesitásemos más información:

Salir de la versión móvil