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.

Diagrama Descripción generada automáticamente

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:

  • Certificado público: Lo emite una entidad certificadora CA en la que todos confían. Suelen ser de pago y no tenemos que importar el certificado en nuestro equipo cliente.
  • Certificado sea privado o autofirmado: Lo emitimos nosotros mismos por lo que tendremos que importarlo en el equipo cliente y decirle al Sistema Operativo que Confíe en él.

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.

Interfaz de usuario gráfica, Aplicación Descripción generada automáticamente

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.

Interfaz de usuario gráfica, Texto, Aplicación, Correo electrónico Descripción generada automáticamente

Interfaz de usuario gráfica, Texto, Aplicación Descripción generada automáticamente

Para MAC:

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

Interfaz de usuario gráfica, Aplicación Descripción generada automáticamente

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

Interfaz de usuario gráfica, Texto, Aplicación, Correo electrónico Descripción generada automáticamente

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

Interfaz de usuario gráfica, Aplicación Descripción generada automáticamente

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 –

Interfaz de usuario gráfica, Aplicación, Teams Descripción generada automáticamente Interfaz de usuario gráfica, Aplicación Descripción generada automáticamente

Interfaz de usuario gráfica, Aplicación Descripción generada automáticamente

Seleccionamos el certificado:

Captura de pantalla de computadora Descripción generada automáticamente

Aceptamos el aviso de seguridad:

Texto Descripción generada automáticamente

Y ya quedaría instalado

Texto Descripción generada automáticamente

Importación en S.O. Iphone:

Descargamos el certificado y hacemos click sobre él.

Interfaz de usuario gráfica, Sitio web Descripción generada automáticamente

(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”

Captura de pantalla de un celular Descripción generada automáticamente

Captura de pantalla de un celular Descripción generada automáticamente

(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):

Interfaz de usuario gráfica, Texto, Aplicación, Teams Descripción generada automáticamente

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

Captura de pantalla de un teléfono celular Descripción generada automáticamente

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

Interfaz de usuario gráfica, Texto, Aplicación, Correo electrónico Descripción generada automáticamente

Conectarse a un área de trabajo:

Interfaz de usuario gráfica, Texto, Aplicación, Correo electrónico Descripción generada automáticamente

No usar ninguna conexión ya disponible

Interfaz de usuario gráfica, Texto, Aplicación, Correo electrónico Descripción generada automáticamente

Usar mi conexión a Internet (VPN)

Interfaz de usuario gráfica, Texto Descripción generada automáticamente

Completar los campos siguientes:

Interfaz de usuario gráfica, Texto, Aplicación Descripción generada automáticamente

Interfaz de usuario gráfica, Aplicación Descripción generada automáticamente

Crear la conexión.

Cerrar sin conectar todavía a la VPN.

Editar la configuración:

Interfaz de usuario gráfica, Texto, Aplicación, Correo electrónico Descripción generada automáticamente

Interfaz de usuario gráfica, Texto, Aplicación, Correo electrónico Descripción generada automáticamente

Y conectar.

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

Interfaz de usuario gráfica, Aplicación, Teams Descripción generada automáticamente

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:

Interfaz de usuario gráfica, Texto, Aplicación Descripción generada automáticamente

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:

  • Instalaremos el gestor de paquetes Homebrew desde la línea de comandos:

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

  • Instalamos el cliente SSTP

brew install sstp-client

  • Ejecutamos el cliente en línea de comandos:

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:

Interfaz de usuario gráfica, Aplicación, Sitio web Descripción generada automáticamente

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

Interfaz de usuario gráfica, Texto, Aplicación Descripción generada automáticamente

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:

  • Cambiar de protocolo: Algunos como OpenVPN, IPSEC o el novedoso Wireguard, son una alternativa aceptable.
  • Utilizar una aplicación de terceros compatible como la que veremos más adelante.

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:

Interfaz de usuario gráfica, Sitio web Descripción generada automáticamente

Captura de pantalla de un celular Descripción generada automáticamente

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

Interfaz de usuario gráfica, Texto, Aplicación Descripción generada automáticamente

Y ya estaremos conectados.

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

Captura de pantalla de un teléfono celular Descripción generada automáticamente

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:

Interfaz de usuario gráfica, Texto, Aplicación, Chat o mensaje de texto Descripción generada automáticamente

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

Captura de pantalla de un celular Descripción generada automáticamente

(Le damos al + y Nuevo Perfil)

Pantalla de un teléfono celular Descripción generada automáticamente

Aceptamos todas las advertencias de seguridad:

Interfaz de usuario gráfica, Texto Descripción generada automáticamente

Y conectamos:

Captura de pantalla de un teléfono celular Descripción generada automáticamente

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

Interfaz de usuario gráfica, Texto Descripción generada automáticamente

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *