CONFIGURE O SERVIDOR VPN L2TP / IPsec com PSK ou RSA no pfSense

firewall-o sistema operacional orientado pfSense tem vários VPN protocolos para estabelecer servidores VPN de acesso remoto e também túneis VPN Site-to-Site. L2TP / IPsec é uma VPN muito popular que permite que clientes VPN remotos, como computadores, smartphones e tablets, se conectem à rede profissional ou doméstica local com segurança. O L2TP se encarregará de estabelecer o túnel e o protocolo IPsec se encarregará de prover confidencialidade, autenticação e integridade a todos os dados transmitidos. Hoje, neste artigo, vamos explicar passo a passo como configurar o servidor VPN L2TP / IPsec para se conectar remotamente.

Para que serve um servidor VPN L2TP / IPsec?

Um servidor VPN em nosso pfSense nos permitirá acessar remotamente as diferentes sub-redes que configuramos, também nos permitirá redirecionar todo o tráfego da Internet para o servidor VPN para ir para a Internet através dele. Graças à configuração de um servidor VPN, poderemos nos conectar a uma rede insegura de forma segura, pois todo o tráfego da origem ao servidor VPN é criptografado e autenticado.

L2TP (Layer 2 Tunneling Protocol) é um dos protocolos VPN mais utilizados, faz uso do protocolo PPP para a conexão dos diferentes links, além de incluir mecanismos de autenticação PPP como PAP e CHAP, além de suportar o uso de servidores RADIUS para autenticação de clientes. Esta tipo de VPN protocolo é multiprotocolo e permite acesso a redes locais remotas. A parte negativa é que não apresenta uma criptografia robusta, portanto, não é seguro utilizá-la. Permite autenticação apenas entre os pontos finais do túnel, mas não para cada um dos pacotes que trafegam por ele, o mesmo acontece com a integridade dos pacotes, não é verificada. Além disso, o L2TP não criptografa o tráfego da origem ao destino.

Com tudo isso em mente, a organização IETF tomou a decisão de usar os protocolos criptográficos do IPsec em conjunto com o L2TP, para fornecer os recursos de confidencialidade, autenticação e integridade do túnel L2TP. Por este motivo, sempre encontraremos este protocolo escrito como “L2TP / IPsec” em sistemas operacionais, pois utiliza os dois protocolos simultaneamente.

Assim que tivermos um resumo de como os dois protocolos VPN funcionam, prosseguiremos com a configuração. Tendo dois protocolos para configurar, L2TP e IPsec, vamos dividir claramente a configuração em duas partes.

Configuração do protocolo L2TP

A primeira coisa que devemos fazer é configurar o protocolo L2TP, para isso vamos à seção “VPN / L2TP”, e configuramos da seguinte forma:

  • Habilitar L2TP
    • Habilitar servidor L2TP: habilitado
  • Configuração
    • Interface: WAN
    • Endereço do servidor: 192.168.100.1; Devemos colocar uma sub-rede que não esteja em uso, e que sirva apenas para usá-la como um gateway do cliente
    • Faixa de endereço remoto: 192.168.100.128/25; Fornecemos uma sub-rede local para conectar os clientes.
    • Número de usuários L2TP: 10, isso pode ser configurado para se adequar ao usuário.
    • Segredo: 1234clavel2tp; Podemos colocar uma senha, é recomendável colocá-la, embora alguns clientes não exijam. Depende da configuração.
    • Tipo de autenticação: CHAP
    • Servidor DNS L2TP primário / secundário: podemos colocar um servidor DNS para os clientes

Depois de configurá-lo e clicar em «Salvar», vamos à seção «Usuários» e criamos um nome de usuário e uma senha de acesso. Aqui é onde teremos que cadastrar todos os usuários do servidor VPN ao qual eles vão se conectar, a parte do endereço IP pode ser deixada em branco sem configurar, para que o servidor atribua o IP dinamicamente.

Assim que o servidor L2TP estiver configurado, podemos configurar o protocolo IPsec.

Configuração do protocolo IPsec

Para configurar o protocolo IPsec junto com o protocolo L2TP, teremos que realizar um total de três ações. A primeira é habilitar os “Clientes Móveis”, ou seja, a VPN de acesso remoto. A segunda é habilitar a fase 1 do IPsec e, em seguida, configurar a fase 2 do IPsec.

Configure os «Clientes Móveis»

Esta é uma das partes mais importantes, pois se formos à seção “Túneis” criamos um túnel VPN Site-to-Site, e o que queremos fazer com o IPsec é configurar uma VPN de acesso remoto para que os diferentes clientes.

Neste menu, habilitamos “Habilitar Suporte ao Cliente Móvel IPsec” e escolhemos “Banco de Dados Local”, embora o usaremos porque é para autenticação xAuth. Clicamos em salvar.


Assim que clicarmos em «Salvar», também teremos que clicar em «Aplicar Changues», depois clicar no botão verde que indica «Criar Fase1».

Configurar IPsec Fase 1

Neste menu teremos que configurar corretamente o protocolo IPsec para utilizá-lo com L2TP, nem todas as configurações funcionarão, além disso, dependendo do cliente VPN utilizado (AndroidiOSWindows …) A configuração de segurança pode mudar, já que nem todos os sistemas operacionais suportam as melhores cifras VPN. Por padrão, veremos o seguinte menu onde selecionamos IKEv2, que não é compatível com o protocolo L2TP / IPsec que queremos configurar.

As opções que devemos configurar para que funcione corretamente são as seguintes:

  • Informação Geral
    • Versão de troca de chave: IKEv1, se selecionarmos qualquer outra não funcionará.
    • Protocolo de Internet: IPv4 ou IPv6
    • Interface: Internet WAN
    • Descrição: colocamos uma descrição.
  • Proposta da fase 1 (autenticação)
    • Método de autenticação: PSK mútuo
    • Modo de negociação: agressivo; se selecionarmos “Principal”, é mais seguro, mas menos flexível, e podemos impedir que o cliente VPN se conecte corretamente. Mais tarde se tudo funcionar com «Agressivo» podemos testar se com «Principal» funciona também.
    • Meu identificador: Nome distinto do usuário – redeszone@redeszone.net ou o que você quiser.
  • Proposta da Fase 1 (Criptografia)
    • Algoritmo de criptografia: AES 128 bits, SHA1, DH Grupo 2 (1024 bits).

O pfSense suporta criptografia mais forte do que esta que configuramos, mas o problema são os clientes VPN que vão se conectar, os quais não suportam maior segurança. Para configurá-lo com a melhor segurança, podemos ir testando com base nas “propostas recebidas” de IPsec que recebemos do cliente, desta forma escolheremos a mais segura de todas.

O resto das opções de configuração podem ser deixadas como estão, com as opções padrão.

Uma vez terminado, clicaremos em «Salvar», e agora nos levará ao menu principal onde temos todos os túneis VPN com IPsec, teremos que clicar no único criado e em «Mostrar entradas da fase 2» e depois em «Criar Fase 2» para continuar.

Configurar IPsec Fase 2

Neste menu de configuração devemos colocar o seguinte:

  • Informação Geral
    • Modo: transporte
    • Descrição: uma descrição que desejamos.
  • Proposta da Fase 2 (SA / Troca de Chaves)
    • Protocolo: ESP
    • Algoritmos de criptografia: AES de 128 bits
    • Algoritmos de hash: selecionamos SHA-1 e SHA-256
    • Grupo de chaves PFS: desativado, não é compatível com o protocolo.

O resto das opções de configuração podem ser deixadas por padrão.

No menu principal de “IPsec / Túneis” podemos ver um resumo de tudo o que configuramos.

Agora teremos que ir para a seção “IPsec / Chaves pré-compartilhadas” e adicionar um novo identificador.

Este novo identificador deve ser:

  • Identificador: allusers (deve ser assim, sem letras maiúsculas e sem nenhum outro nome)
  • Tipo de segredo: PSK
  • Chave pré-compartilhada: a senha que desejamos, é compartilhada com todos os usuários que vão se conectar.

Feito isso, teremos o servidor L2TP / IPsec pronto para aceitar conexões, mas primeiro, devemos criar as regras correspondentes no firewall.

Portas abertas no firewall pfSense

Teremos que criar uma regra na seção “Firewall / Regras / WAN” com as seguintes informações:

  • Ação: Passe
  • Interface: WAN
  • Família de endereços: IPv4
  • Protocolo: UDP
  • Fonte: qualquer
  • Destino: Endereço WAN na porta 1701 que é L2TP.

Salvamos e aplicamos as alterações, garantindo que esta regra será seguida.

Quando criamos um servidor VPN do tipo L2TP / IPsec, teremos duas guias adicionais em “Firewall / Regras”, aqui podemos permitir ou negar o tráfego para certas sub-redes, definir diferentes regras avançadas, etc. Para uma primeira conexão e para evitar possíveis falhas de configuração no nível do firewall, recomendamos que você crie uma regra “passe qualquer qualquer qualquer” e aplique as alterações. Posteriormente, quando a comunicação for estabelecida, se você precisar definir regras diferentes, poderá editar regras mais específicas para atender a todos os seus requisitos.

Assim que tivermos configurado o firewall com sucesso, teremos que configurar o cliente VPN para testar a conexão.

Teste de conexão

Em nosso caso, estabelecemos uma conexão VPN com um smartphone Android, especificamente o Huawei P30 que incorpora um cliente L2TP / IPsec PSK. A configuração que devemos realizar é a seguinte (não podemos colocar a captura porque o sistema operacional a detecta como conteúdo privado).

  • Nome: damos um nome à VPN
  • Tipo: L2TP / IPsec PSK
  • Servidor: domínio IP ou DDNS do seu servidor VPN
  • Segredo L2TP: 1234clavel2tp; a chave que colocamos na seção L2TP que é compartilhada com todos os clientes.
  • Identificador IPsec: redeszone@redeszone.net
  • Chave compartilhada de IPsec inicial: 12345678; a chave que colocamos para o identificador «allusers» na seção IPsec / Chave pré-compartilhada.

Clicamos em salvar e conectamos. Ao conectar, ele nos pedirá um nome de usuário e senha, essas credenciais são as que colocamos em “Usuários L2TP”. Feito isso, ele nos conectará sem problemas ao servidor VPN e teremos acesso à administração do pfSense e a qualquer rede.

Como você viu, a conexão foi estabelecida com sucesso e não houve problemas.

Recomendações e conselhos

Dependendo do cliente VPN que você usa, a configuração do servidor pode variar. Por segurança, é sempre aconselhável utilizar os melhores algoritmos criptográficos, por este motivo, recomendamos modificar as opções de segurança e obrigar os clientes a escolherem sempre as melhores, no entanto, devemos consultar os registos IPsec para ver qual a «proposta» enviada por clientes diferentes ao se conectar. Alguns smartphones usam um cliente VPN L2TP / IPsec com suporte para as cifras mais recentes, no entanto, outros modelos não. Teremos que tentar escolher o mais seguro possível globalmente, equilibrando entre segurança e usabilidade.

Outra dica se for usar L2TP / IPsec pela primeira vez, é saber com antecedência quais clientes você vai conectar, Android, iOS, computador Windows, etc., pois a configuração pode ser diferente dependendo de como o cliente é configurado internamente. É possível que eles não possam viver todos juntos ao mesmo tempo, por isso você pode usar outras VPNs como OpenVPN ou IPsec xAuth entre outras.

Com este mesmo tutorial, poderá configurar o L2TP / IPsec RSA, modificando o «Mutual PSK» por «Mutual RSA» e configurando os respectivos certificados de servidor e cliente. Mostraremos como fazer isso em breve. Isso também traz complicações, pois se criarmos uma CA com um certificado de cliente que faça uso dos algoritmos mais recentes, é possível que retorne um erro na hora da conexão porque não são reconhecidos.

Matt Mills 27/03/2021

https://itigic.com/pt/configure-l2tp-ipsec-vpn-server-with-psk-or-rsa-in-pfsense/

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Iniciar Conversa
1
Como posso ajudar?
Olá!
Podemos ajudar?