Outra pergunta provavelmente idiota: estou no processo de configurar uma conexão VPN para fins de acesso remoto a serviços em minha LAN doméstica. O roteador, firewall e servidor VPN que estou usando para isso é um Draytek Vigor 2865. Meu maior problema aqui é escolher um protocolo VPN / entender o IPSec.
Eu configurei com sucesso uma VPN PPTP, que funciona bem. Configuração do Draytek como servidor, algumas contas de usuário no Draytek com nomes de usuário e senhas exclusivos que podem ser usados para conectar-se à VPN e posso alterar várias configurações com base no usuário. (Ou seja, eu poderia atribuir um IP específico a usuários de discagem específicos). No entanto, sei que o PPTP não é a opção mais segura. Realmente, para minhas necessidades, PPTP com criptografia MPPE máxima e senhas fortes provavelmente seria bom, mas eu usaria a melhor opção, se disponível.
Aqui estão as opções de discagem no draytek: Opções de VPN no Draytek
Obviamente, estou tentando evitar o PPTP. Não quero usar o OpenVPN, porque preciso usar o cliente VPN do Windows integrado e, pelo que entendi, SSL VPN também não é o que eu quero aqui. Isso deixa o túnel IPsec ou L2TP (com IPsec).
O que eu realmente não entendo sobre o IPSec é que ele parece usar uma "chave pré-compartilhada" para autenticação e não sei bem como isso funciona. Todo usuário remoto faz login com o mesmo PSK? Nesse caso, como você pode distinguir usuários remotos no servidor? Faria sentido se um PSK fosse usado ALÉM de um usuário/passe, mas em alguns casos parece que apenas um PSK é usado... (Exemplo disso: https://draytek.co.uk/support/guides/ kb-teleworker-smartvpn-ipsec )
Você recomendaria a opção de túnel IPsec ou o L2TP com IPsec é bom e seguro? Qual opção é compatível com o cliente Windows VPN?
Desculpe pelo longo post, qualquer conselho seria apreciado.
No protocolo original (IKEv1), você realmente não pode. (Embora não seja estritamente verdade que sempre usa um PSK - os certificados são preferidos e permitem distinguir os usuários pelos metadados do certificado.)
Esta omissão foi resolvida de várias maneiras diferentes:
A Cisco adicionou uma modificação personalizada para sua "VPN IPsec" para permitir a autenticação de usuário/senha como uma segunda etapa (e acho que eles renomearam o PSK para "Chave de grupo"). Essa é a opção "Xauth" no seu roteador.
Não tenho certeza de quais aplicativos você usaria para se conectar a Xauth VPNs do Windows (há strongSwan no Linux e Android).
Em vez disso, a Microsoft optou por encapsular outro protocolo VPN dentro do túnel protegido por IPsec - o IPsec PSK é usado para proteger o L2TP, que permite a execução da mesma autenticação PAP/MSCHAP/EAP do PP(T)P. Isso é "L2TP com política IPsec" no seu roteador.
O Windows tem isso embutido, mas como são dois protocolos diferentes ligados, a configuração do Linux pode se tornar complexa.
Por fim, a versão mais recente do protocolo – IKEv2 – possui soluções integradas. Primeiro, os clientes podem enviar um "ID do iniciador (IDi)" que age quase como um nome de usuário; diferentes iniciadores podem ter diferentes PSKs (ou mesmo configurações completamente diferentes).
Em segundo lugar, o IKEv2 oferece suporte nativo à autenticação EAP, incluindo MSCHAPv2, que também transmitirá nomes de usuário como parte do EAP. (Esta é essencialmente a extensão Xauth oficializada.)
O Windows 10+ possui suporte de cliente integrado para IKEv2; para Android eu usaria o aplicativo strongSwan.
(Outra coisa que falta no estoque IKEv1 é a atribuição automática de IPs do cliente, que também é adicionada por todas as extensões acima.)
IKEv2 é a escolha moderna, quando compatível - eu escolheria "IKEv2 EAP" se precisasse de contas de usuário diferentes, pois é isso que o Windows suporta.
Tudo o que é construído no IKEv1 é um pouco obsoleto e acho que o PSK no IKEv1 contribui diretamente para a criptografia do túnel, portanto, deve ser forte - não uma senha, mas uma chave ou frase secreta aleatória. Ainda assim, se configurado corretamente, é mais seguro que o MPPE.
(Eu não me preocuparia com isso usando o MSCHAPv2 - em todos os modos acima, a autenticação do usuário é feita dentro de um túnel já criptografado, ao contrário do PPTP, que o fazia em claro, então poderia ser apenas uma senha normal e ainda estaria seguro.)
Depende. "SSL VPN" não é um protocolo único, é uma descrição muito ampla para muitos produtos diferentes que envolvem SSL (TLS, DTLS) como base, mas geralmente de maneiras diferentes. Por exemplo, o Cisco AnyConnect é um produto "SSL VPN", mas não é compatível com nenhum outro "SSL VPN", exceto ele mesmo.
Na verdade, a própria Microsoft possui um protocolo VPN baseado em TLS - SSTP - que é suportado nativamente pelo Windows e é bastante seguro; tão seguro quanto uma conexão TLS regular. Portanto, se você tiver isso como opção, certamente poderá usá-lo em vez do IKEv2. (Embora tenha uma pequena desvantagem por ser baseado em TCP; o TCP dentro do TCP não é o ideal.)