En esta, guía te mostraremos como crear un servidor SSTP con Mikrotik y su configuración y explicación del uso de certificados.
¿Por qué un servidor SSTP con Mikrotik?
Mikrotik cuenta con varias opciones para crear túneles seguros, en donde se incluyen IPSEC, OVPN, PPTP entre otros, en esta entrada nos vamos a focalizar en el tipo de túnel o VPN: SSTP.
El uso de las VPN se ha extendido los últimos años por la facilidad y seguridad en la interconexión de puntos críticos a través de internet. Tener una VPN nos da la ventaja de poder acceder a recursos empresariales desde cualquier punto del mundo, solo necesitamos una conexión activa de internet.
De esta forma podríamos por ejemplo, acceder al servidor de facturación, la impresora del departamento técnico o los documentos privados dentro de un servidor de nuestra empresa, desde cualquier lugar, gracias a una conexión de VPN por internet.
Mikrotik es una solución robusta para networking y telecomunicaciones, que nos da la facilidad de configurar nuestra propia VPN a un costo muy bajo, para que cualquier PYME puede ahorrar costos en infraestructura.
¿Por qué SSTP como túnel de VPN?
SSTP es un tipo de túnel encriptado por internet, que utiliza el protocolo TCP y el puerto 443 para establecer las conexiones, esto nos da la facilidad de que no tengamos problemas de conexión a nuestra VPN por restricciones de algún firewall en el medio de nuestra conexión.
Si por ejemplo, estamos en algún aeropuerto u hotel y estamos estableciendo una conexión IPSEC y por alguna razón, la conexión publica esta bloqueando los puertos 500 y 4500 en UDP, la conexión no se podría establecer.
Al usar SSTP, es muy poco probable que la conexión al puerto HTTPS esté bloqueada, porque si así fuese, estaría bloqueada todo tipo de navegación a internet, es por eso, que aprovecharemos el protocolo HTTPS para establecer nuestro túnel y no tener problemas de conexión por bloqueo de puertos en algún Firewall.
El uso de certificados
La configuración del servidor SSTP requiere un certificado TLS, básicamente porque SSTP usa un certificado TLS para una comunicación segura.
Para configurar un túnel SSTP seguro, se requieren certificados. En el servidor, la autenticación se realiza solo mediante nombre de usuario y contraseña, pero en el cliente, el servidor se autentica mediante un certificado de servidor. El cliente también lo utiliza para vincular criptográficamente la autenticación SSL y PPP, lo que significa que los clientes envían un valor especial a través de la conexión SSTP al servidor, este valor se deriva de los datos clave que se generan durante la autenticación PPP y el certificado del servidor, esto permite el servidor para verificar si ambos canales son seguros.
MikroTik RouterOS v6 brinda la capacidad de crear, almacenar y administrar certificados en el mismo router. Por lo tanto, crearemos el certificado de servidor SSTP requerido en el mismo router.
Actualización: Gracias a RouterOS V7, ya es posible crear certificados válidos directos desde nuestro Mikrotik y LetsEncrypt.
Creando certificados autofirmados.
El servidor SSTP requiere dos tipos de certificados:
Certificado de CA (Autoridad de certificación) y
Certificado de servidor.
¿Cómo funcionan los certificados?
SSL/TLS proporciona cifrado de datos, integridad y autenticación de datos.
Esto significa que cuando usas SSL/TLS puedes estar seguro de que:
Nadie ha leído tu mensaje.
Nadie ha cambiado tu mensaje.
Te estás comunicando con la persona prevista (servidor).
Pero al enviar un mensaje entre dos partes, tiene dos problemas que debe solucionar:
¿Cómo sabe que nadie ha leído el mensaje?
¿Cómo sabe que nadie ha cambiado el mensaje?
Las soluciones a estos problemas son:
Cifrado. Esto hace que el contenido sea ilegible, de modo que para cualquiera que vea el mensaje, no lo entenderá.
Firmarlo: Esto le permite al destinatario estar seguro de que fue usted quien envió el mensaje y que el mensaje no se ha modificado.
Ambos procesos requieren el uso de claves.
Estas claves son simplemente números (128 bits son los más comunes) que luego se combinan con el mensaje utilizando un método particular, comúnmente conocido como algoritmo, p. Ej. RSA, para cifrar o firmar el mensaje.
Es por esto último que necesitamos 2 certificados en nuestro Mikrotik, el certificado de servidor (que se utilizara para validar la identidad) y el certificado CA, que será nuestro certificado raíz, el cual tendrá la firma que se utilizara en el certificado del servidor.
Diagrama de red
A continuación se muestra el diagrama de red que se utilizara.
Mikrotik cuenta con dos modos distintos de crear un túnel SSTP:
Conexión desde el servidor al cliente remoto: en este método, el cliente puede comunicarse con nuestro router MikroTik a través de un túnel SSTP seguro cuando sea necesario, y puede acceder a la red privada remota como si estuviera conectado directamente en la red local. Este es el modo más común de conectarnos a nuestra oficina, trabajo, hogar desde cualquier lado con nuestro ordenador.
VPN SSTP de sitio a sitio: este método también se conoce como VPN entre routers. En este método, un router compatible con el cliente SSTP establece un túnel VPN SSTP con el servidor VPN. Por lo tanto, las redes privadas de estos dos routers pueden comunicarse entre sí como si estuvieran conectadas directamente.
En este artículo, nos enfocaremos en una conexión servidor/cliente y no en site-to-site.
Configuración SSTP servidor
En esta sección mostraremos como configurar el servidor SSTP de lado del servidor y toda su configuración asociada.
[Actualización] Ya es posible crear un certificado SSL válido con Mikrotik RouterOS V7. Puedes ver nuestra guía desde aquí.
Creando certificado CA
MikroTik RouterOS proporciona un certificado autofirmado y el certificado autofirmado debe tener un Certificado CA (Autoridad de Certificación) para firmar el Certificado de Servidor.
Este certificado de CA también se instalará en los dispositivos cliente SSTP; de lo contrario, no se podrá verificar el certificado del servidor.
Al ir a System/Certificates, veremos la ventana anterior.
Primero ingresaremos un nombre al certificado, nuestro caso CA.
Usaremos la dirección WAN (2.1.198.233) del router MikroTik en el campo de entrada Common name.
Podremos completar los campos adicionales si lo deseamos.
Luego iremos a la pestaña Key Usage y veremos la imagen anterior, solo seleccionaremos las opciones marcadas.
Al completar las primeras 2 pestañas, tendremos que aplicar los cambios haciendo clic en el boton Apply.
Luego de aplicar los cambios, haremos clic en el botón «sign» y veremos la imagen anterior, en donde seleccionaremos el certificado y pondremos en CA CRL Host, la dirección IP pública que habíamos completado anteriormente, (recuerda reemplazarla con la de tu router).
Por último haremos clic en el botón «start» para comenzar el proceso.
Creando el certificado Servidor
Después de haber creado el certificado CA o raíz, crearemos el certificado de servidor que será firmado por la CA creada.
El procedimiento es el mismo que el anterior, crear un nuevo certificado, asignar un nombre, pero cambiaremos algunas variables.
Solo seleccionaremos las opciones marcadas en la sección Key Usage.
Finalmente aplicaremos los cambios y firmaremos el certificado con el boton «sign».
Si notamos, veremos que el certificado CA es el que creamos anteriormente, es el certificado raiz.
Haremos clic en «start» y ya tendremos el certificado firmado.
Exportando el certificado.
SSTP Server utilizará el certificado de servidor para la autenticacion con los clientes.
Pero el certificado de CA debe proporcionarse al cliente SSTP. Por lo tanto, necesitamos exportar el certificado de CA de nuestro router.
El proceso para exportar el certificado es muy simple:
Seleccionar el certificado y hacer clic derecho, seleccionar la opción export.
Aparecerá la ventana de exportación.
Elija el certificado CA del menú desplegable.
Haga clic en el botón Exportar ahora. Se exportará su certificado de CA y se cerrará la ventana Exportar.
Luego iremos a la sección Files y veremos el certificado exportado.
Configurando el servidor SSTP
Después de crear certificados de CA y de servidor, ahora es momento de configurar el servidor SSTP en nuestro router.
Iremos a la sección PPP y haremos clic en el botón SSTP Server. Luego habilitaremos las siguientes opciones mostradas en la imagen a continuación.
Creación de perfil de usuarios.
Ya contamos con los certificados y el servidor habilitado, solo nos faltan configurar algunas opciones adicionales.
Los usuarios y contraseñas que se autenticaran con nuestro router.
El Pool de direcciones IP que se asignaran.
El perfil asociado a las direcciones IP para cada uno de los usuarios.
Creando las direcciones IP del pool.
Para eso iremos a IP/pool.
Al abrirse la ventana, haremos clic en «+» y pondremos el nombre del pool y el rango de direcciones Ips que se entregaran a nuestros clientes de la VPN al conectarse.
Creando el perfil de usuarios
A continuación crearemos el perfil de usuarios, donde están asociados todos los usuarios que creemos.
Para realizar este paso, tendremos que ir PPP.
Luego iremos a Profiles y haremos clic en «+».
Finalmente completaremos los siguientes datos.
Observa que remote address, es el Pool que creamos anteriormente.
Creando los usuarios
Finalmente nos queda crear los usuarios que se conectaran, para eso iremos a la sección PPP y la solapa «secrets».
Haremos clic en «+» e iremos completando los valores.
La sección «Name» corresponde al nombre de usuario que asignaremos para que se conecten a nuestro servidor.
Observa que en la sección «profile» hemos ingresado el perfil creado anteriormente.
Configurando un cliente en Windows 10
Ya hemos finalizado la configuración de nuestro servidor Mikrotik SSTP, solo resta configurar un cliente que se conecte a nuestra VPN. En este caso lo haremos en un cliente Windows.
Microsoft es el creador del protocolo SSTP, por lo cual todos los sistemas operativos Windows, correrán sin problemas.
Linux también puede conectarse a un túnel SSTP. En el caso de dispositivos Apple, tendremos que usar aplicaciones externas para poder conectarnos a un túnel SSTP.
Instalando el certificado en Windows
Para instalar el certificado tendremos que descargar el certificado de nuestro Mikrotik y guardarlo en la PC con Windows que se conectara a nuestro túnel.
Tenga en cuenta que este procedimiento lo estamos haciendo porque el certificado está firmado por nuestro router, en caso de tener un certificado emitido por una entidad certificadora verificada, no es necesario realizar este paso, porque Windows podrá verificar la autenticidad del certificado público.
Al descargar nuestro certificado en nuestra PC, lo instalaremos haciendo clic derecho y luego haciendo clic en «instalar certificado»
Luego seleccionaremos usuario local o equipo local, según nuestras preferencias.
Luego seleccionaremos el certificado como un certificado de confianza.
Solo resta finalizar el proceso.
Creando la conexión a nuestra VPN con Windows
Después de importar el certificado CA, ahora configuraremos el cliente SSTP
Los siguientes pasos te mostrarán cómo configurar el cliente SSTP en el sistema operativo Windows 10.
- Desde Windows 10, haga clic en el icono del menú Inicio y luego haga clic en Configuración.
- Aparecerá la ventana Configuración de Windows.
- Desde la ventana Configuración de Windows, haga clic en Redes e Internet.
- Desde la ventana Redes e Internet, haga clic en el elemento del menú VPN del panel izquierdo y luego haga clic en Agregar una conexión VPN.
- Desde Windows 10, haga clic en el icono del menú Inicio y luego haga clic en Configuración.
- Aparecerá la ventana Configuración de Windows.
- Desde la ventana Configuración de Windows, haga clic en Red e Internet
- Desde la ventana Red e Internet, haga clic en el elemento del menú VPN del panel izquierdo y luego haga clic en Agregar una conexión VPN.
- Aparecerá la ventana Agregar una conexión VPN.
- Ponga un nombre de conexión VPN (ejemplo: SSTP VPN) en el campo de entrada Nombre de conexión.
- Coloque la dirección IP de MikroTik WAN (ejemplo: 2.1.198.233) en el campo de entrada Nombre o dirección del servidor.
- En el menú desplegable de tipo de VPN, seleccione la opción Protocolo de túnel de sockets seguros (SSTP).
- En el menú desplegable Tipo de información de inicio de sesión, seleccione la opción Nombre de usuario y contraseña.
- Coloque el nombre de usuario que se creó en MikroTik PPP Secret en el campo de entrada del nombre de usuario y luego coloque la contraseña del usuario en el campo de entrada de la contraseña.
- Haga clic en el botón Guardar. Un nuevo Cliente VPN (ejemplo: SSTP VPN) aparecerá ahora en la lista de VPN.
Espero te haya servido este tutorial. Si quieres obtener la certificación de seguridad, donde se ven estos y más temas avanzados, puedes participar del curso MTCSE de Mikrotik en la próxima fecha.