Configurar el cliente SSTP en Debian

11

Necesitaría conectar mi servidor Debian (estable) a un servidor Windows Server 2008R2, que actúa como un servidor VPN SSTP. He logrado instalar sstp-client en mi servidor Debian, pero no sé cómo configurar la conexión para poder ejecutarla en segundo plano. Además, hay muchas cosas que no entiendo sobre todo el proceso de configuración.

Siguiendo algunos consejos que encontré en Internet, deshabilité la autenticación del servidor remoto agregando noautha /etc/ppp/options. Además, he añadido allí el opciones refuse-pap, refuse-eap, refuse-chap, refuse-mschapy require mppepara forzar la autenticación MS-CHAP-V2 (el servidor de Windows está configurado para aceptar eso y no los otros).

Si corro desde la terminal

sstpc --log-level 4 --log-stderr --user USERNAME --password PASSWORD SERVER_IP

la conexión funciona, y al abrir otra terminal, puedo acceder a una página web a la que solo se puede acceder a través de la VPN.

He intentado crear el archivo etc/ppp/peers/sstp-1con el contenido.

remotename sstp-1
linkname sstp-1
ipparam sstp-1
pty "sstpc --ipparam sstp-1 --log-level 4 --save-server-route --nolaunchpppd --user USERNAME --password PASSWORD SERVER_IP"
name USERNAME
plugin sstp-pppd-plugin.so
sstp-sock /var/run/sstpc/sstpc-sstp-1
usepeerdns
refuse-pap
refuse-eap
refuse-chap
refuse-mschap
require-mppe
noauth

y luego corriendo desde la línea de comando sudo pon sstp-1. La conexión falla y sudo plogmuestra

pppd[4813]: Plugin sstp-pppd-plugin.so loaded.
pppd[4814]: pppd 2.4.5 started by root, uid 0
pppd[4814]: Using interface ppp0
pppd[4814]: Connect: ppp0 <--> /dev/pts/1
pppd[4814]: Could not connect to sstp-client (/var/run/sstpc/sstpc-sstp-1), Connection refused (111)
pppd[4814]: Exit.

Tengo un par de preguntas con respecto a todo esto:

  1. ¿Cómo configurar el /etc/ppp/peers/sstp-1para que me pueda conectar / desconectar a la VPN en segundo plano (para ser utilizado en un script)?
  2. El servidor de Windows cifra el tráfico VPN mediante un certificado autofirmado. ¿Por qué, usando la configuración de conexión anterior, no necesito instalar el certificado en la máquina cliente? ¿El tráfico está encriptado?

Gracias de antemano, Joel Lehikoinen

Joel Lehikoinen
fuente

Respuestas:

4
  1. Lo que rompió la configuración estaba proporcionando --usery --passwordcomo opciones de línea de comando en la línea que comienza con pty. El nombre de usuario ya se encuentra en la línea siguiente y se debe proporcionar la contraseña /etc/ppp/chap-secrets. El problema se solucionó cambiando esa línea a

    pty "sstpc --ipparam sstp-1 --nolaunchpppd SERVER_IP"
    

    Además, no es necesario editar /etc/ppp/options, ya que los parámetros de configuración ya se encuentran en el archivo de configuración SSTP/etc/ppp/peers/sstp-1

  2. Parece que, al menos con la noauthopción, que pensé que solo deshabilitaría la autenticación del servidor en PPP, sstp-client también acepta un certificado de servidor SSL autofirmado sin ninguna queja.

    Como --ca-cert /path/to/snakeoil-ca.pemsolución alternativa , una posibilidad parece ser crear un certificado CA autofirmado, firmar el certificado del servidor con eso y proporcionar opciones de línea de comandos para sstp-client (es decir, en la línea "pty" del archivo ), que limita el certificado SSL del servidor a un valor conocido.

oseiskar
fuente