El Protocolo de túnel de sockets seguros ( SSTP ) es una forma de túnel de red privada virtual (VPN) que proporciona un mecanismo para transportar el tráfico PPP a través de un canal SSL / TLS . SSL / TLS proporciona seguridad a nivel de transporte con negociación de claves, cifrado y comprobación de la integridad del tráfico. El uso de SSL / TLS sobre el puerto TCP 443 (de forma predeterminada, el puerto se puede cambiar) permite que SSTP pase a través de prácticamente todos los firewalls y servidores proxy, excepto los proxies web autenticados. [1]
Los servidores SSTP deben autenticarse durante la fase SSL / TLS. Los clientes SSTP se pueden autenticar opcionalmente durante la fase SSL / TLS y deben autenticarse en la fase PPP. El uso de PPP permite admitir métodos de autenticación comunes, como EAP-TLS y MS-CHAP .
SSTP está disponible para Linux , BSD y Windows . [2]
SoftEther VPN Server, un servidor VPN multiplataforma de código abierto, también admite SSTP como una de sus capacidades multiprotocolo.
SSTP está disponible en Windows Vista SP1 y posteriores, en RouterOS desde la versión 5.0 y en SEIL desde su versión de firmware 3.50. Está completamente integrado con la arquitectura RRAS en estos sistemas operativos, lo que permite su uso con Winlogon o autenticación con tarjeta inteligente , políticas de acceso remoto y el cliente VPN de Windows. [3] El protocolo también lo utiliza Windows Azure para redes virtuales de punto a sitio. [4]
SSTP fue diseñado solo para el acceso de clientes remotos, generalmente no es compatible con túneles VPN de sitio a sitio. [5]
SSTP tiene las mismas limitaciones de rendimiento que cualquier otro túnel IP sobre TCP. En general, el rendimiento sólo será aceptable siempre que exista un exceso de ancho de banda en el enlace de red no tunelizado para garantizar que los temporizadores TCP tunelizados no expiren. Si esto no es cierto, el rendimiento cae drásticamente. Esto se conoce como el "problema de fusión de TCP". [6] [7]
SSTP solo admite la autenticación de usuarios; no admite la autenticación de dispositivos ni la autenticación de computadoras.
Estructura del paquete
La siguiente estructura de encabezado es común a todos los tipos de paquetes SSTP: [8]
Desplazamiento de bits | Bits 0–7 | 8-14 | 15 | 16–31 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Versión | Reservado | C | Largo | ||||||||||||||||||||||||||||
32+ | Datos |
- Versión (8 bits): comunica y negocia la versión de SSTP que se utiliza.
- Reservado (7 bits): reservado para uso futuro.
- C (1 bit) - bit de control que indica si el paquete SSTP representa un paquete de control SSTP o un paquete de datos SSTP. Este bit se establece si el paquete SSTP es un paquete de control.
- Longitud (16 bits): campo de longitud del paquete, compuesto por dos valores: una parte reservada y una parte de longitud.
- Reservado (4 bits): reservado para uso futuro.
- Longitud (12 bits): contiene la longitud de todo el paquete SSTP, incluido el encabezado SSTP.
- Datos (variable): cuando se establece el bit de control C, este campo contiene un mensaje de control SSTP. De lo contrario, el campo de datos contendría un protocolo de nivel superior. Por el momento, esto solo puede ser PPP .
Mensaje de control
El campo de datos del encabezado SSTP contiene un mensaje de control SSTP solo cuando se establece el bit de control C del encabezado.
Desplazamiento de bits | Bits 0-15 | 16–31 | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Tipo de mensaje | Recuento de atributos | ||||||||||||||||||||||||||||||
32+ | Atributos |
- Tipo de mensaje (16 bits): especifica el tipo de mensaje de control SSTP que se comunica. Esto dicta el número y los tipos de atributos que se pueden transportar en el paquete de control SSTP.
- Recuento de atributos (16 bits): especifica el número de atributos adjuntos al mensaje de control de SSTP.
- Atributos (variable): contiene una lista de atributos asociados con el mensaje de control de SSTP. El número de atributos se especifica en el campo de recuento de atributos.
Ver también
- AuthIP
- L2TP / IPsec
- HTTPS
- OpenVPN
- VPN de OpenConnect
- PPTP
- SoftEther VPN , un programa de servidor VPN de código abierto que admite el protocolo SSTP-VPN.
- WireGuard
Referencias
- ↑ Jain, Samir (17 de enero de 2007). "Preguntas frecuentes de SSTP - Parte 2: Específico del cliente" . Microsoft TechNet . Consultado el 17 de octubre de 2015 .
- ^ "Cliente SSTP" . 2011-09-17 . Consultado el 17 de octubre de 2015 .
- ^ Tulloch, Mitch (22 de enero de 2008). "SSTP facilita el acceso remoto seguro" . Consultado el 17 de octubre de 2015 .
- ^ McGuire, Cheryl (11 de agosto de 2015). "Configurar una conexión VPN de punto a sitio a una red virtual de Azure" . Consultado el 17 de octubre de 2015 .
- ^ Jain, Samir (10 de enero de 2007). "Preguntas frecuentes sobre SSTP - Parte 1: Genérico" . Consultado el 17 de octubre de 2015 .
- ^ Titz, Olaf (23 de abril de 2001). "Por qué TCP sobre TCP es una mala idea" . Consultado el 17 de octubre de 2015 .
- ^ Honda, Osamu; Ohsaki, Hiroyuki; Imase, Makoto; Ishizuka, Mika; Murayama, Junichi (octubre de 2005). "Comprensión de TCP sobre TCP: efectos de la tunelización de TCP en el rendimiento y la latencia de un extremo a otro". En Atiquzzaman, Mohammed; Balandin, Sergey I (eds.). Rendimiento, calidad de servicio y control de las redes de sensores y comunicaciones de próxima generación III . 6011 . pag. 60110H. Código Bibliográfico : 2005SPIE.6011..138H . doi : 10.1117 / 12.630496 . S2CID 8945952 .
- ^ "MS-SSTP: Protocolo de túnel de socket seguro (SSTP)" . Microsoft TechNet. 2015-10-16 . Consultado el 17 de octubre de 2015 .
enlaces externos
- [MS-SSTP]: Protocolo de túnel de sockets seguros (SSTP) de Microsoft Open Specification Promise
- Blog de RRAS Technet
- Microsoft desarrolla un nuevo protocolo de tunelización
- Cómo funciona la conexión VPN basada en SSTP
- Cliente SSTP de HSC para Linux
- Cliente SSTP para Linux