Configurando o cliente SSTP no Debian

11

Eu precisaria conectar meu servidor Debian (estável) a um servidor Windows Server 2008R2, que está atuando como um servidor VPN SSTP. Eu consegui instalar o sstp-client no meu servidor Debian, mas não sei como configurar a conexão para poder executá-la em segundo plano. Além disso, há muitas coisas que eu não entendo sobre todo o processo de configuração.

Seguindo alguns conselhos que encontrei na Internet, desabilitei a autenticação do servidor remoto adicionando noautha /etc/ppp/options. Além disso, eu adicionei há a opções refuse-pap, refuse-eap, refuse-chap, refuse-mschape require mppepara forçar a autenticação MS-CHAP-v2 (o servidor Windows está configurado para aceitar isso e não os outros).

Se eu correr do terminal

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

a conexão funciona e, ao abrir outro terminal, posso acessar uma página da web que só pode ser acessada pela VPN.

Eu tentei criar o arquivo etc/ppp/peers/sstp-1com o conteúdo

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

e, em seguida, executando a partir da linha de comando sudo pon sstp-1. A conexão falha e sudo plogmostra

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.

Eu tenho algumas perguntas sobre tudo isso:

  1. Como configurar o /etc/ppp/peers/sstp-1para que eu possa conectar / desconectar à VPN em segundo plano (para ser usado em um script)?
  2. O servidor Windows criptografa o tráfego da VPN usando um certificado autoassinado. Por que, usando a configuração de conexão acima, não preciso instalar o certificado na máquina cliente? O tráfego é criptografado?

Agradeço desde já, Joel Lehikoinen

Joel Lehikoinen
fonte

Respostas:

4
  1. O que quebrou a configuração estava fornecendo --usere --passwordcomo opções de linha de comando na linha começando com pty. O nome de usuário já é fornecido na próxima linha e a senha deve ser fornecida em /etc/ppp/chap-secrets. O problema foi resolvido alterando essa linha para

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

    além disso, não há necessidade de editar /etc/ppp/options, pois os parâmetros de configuração já são fornecidos no arquivo de configuração SSTP/etc/ppp/peers/sstp-1

  2. Parece que, pelo menos com a noauthopção, que eu pensava que apenas desativaria a autenticação do servidor no PPP, o sstp-client também aceita um certificado de servidor SSL autoassinado sem nenhuma reclamação.

    Como --ca-cert /path/to/snakeoil-ca.pemsolução alternativa , uma possibilidade parece estar criando um certificado de CA autoassinado, assinando o certificado do servidor com isso e fornecendo como uma linha de comando ao sstp-client (ou seja, na linha "pty" do arquivo ), que restringe o certificado SSL do servidor a um valor conhecido.

oseiskar
fonte