Configure o servidor OpenVPN no pfSense com a melhor segurança

O sistema operacional pfSense, que é orientado para firewall e roteador, tem vários VPN protocolos para interconectar sites por meio de VPN Site a Site, e também podemos configurar VPN de acesso remoto para interconectar diferentes clientes móveis entre si, de modo que todo o tráfego da Internet passe pelo próprio sistema operacional. O OpenVPN é um dos softwares mais utilizados para a criação de redes virtuais privadas, graças à sua segurança, flexibilidade e bom funcionamento. Hoje neste artigo vamos explicar passo a passo como configurar o servidor OpenVPN que está dentro do pfSense.

Configure o servidor OpenVPN no pfSense

O que é e para que serve o OpenVPN integrado ao pfSense?

OpenVPN é um software que nos permite construir redes privadas virtuais, teremos um canal de controle onde será gerenciado o levantamento do túnel e a negociação dos protocolos de criptografia, e teremos um canal de dados onde ficará todo o tráfego do túnel ponto a ponto criptografado. Um dos pontos fortes do OpenVPN no pfSense é que a grande maioria das opções disponíveis estão disponíveis através de uma interface gráfica de usuário muito intuitiva, o que nos permitirá configurá-lo sem a necessidade de incorporar manualmente qualquer diretiva no campo “opções”. avançado. O software OpenVPN que integramos ao pfSense nos permitirá criar e configurar dois tipos de arquiteturas:

  • VPN de acesso remoto - Remoto os clientes se conectam ao servidor VPN pfSense e saem para a Internet por nosso intermédio. Eles também poderão acessar as sub-redes que indicamos. Este tipo de VPN destina-se a telecomutadores, técnicos de rede e sistemas, etc.
  • VPN site a site : esta arquitetura permite-nos intercomunicar um site com outro, intercomunicar diferentes sites através da Internet e que todo o tráfego é protegido ponto a ponto. Por exemplo, com este tipo de VPN podemos comunicar escritórios, sedes de empresas, etc.

O OpenVPN oferece suporte a dezenas de configurações diferentes, tanto para melhorar o desempenho quanto para a segurança. O pfSense permite diferentes tipos de autenticação, mas o mais recomendado é baseado em certificados SSL / TLS para garantir autenticidade, confidencialidade e integridade, e não é recomendado o uso de chaves pré-compartilhadas. Além de incorporar autenticação baseada em certificados SSL / TLS, também poderíamos incorporar autenticação adicional com nome de usuário / senha, para ter um sistema mais robusto. pfSense permite exportar a chave privada dos certificados com uma senha, desta forma, para podermos utilizar estes certificados teríamos também que incorporar uma senha adicional, caso contrário, não funcionaria.

O servidor OpenVPN integrado no pfSense permitirá que nos conectemos à nossa casa ou ao trabalho remotamente, com rapidez e segurança, independentemente de a rede ser cabeada ou Wi-fi. Todo o tráfego será criptografado de ponta a ponta de nosso cliente OpenVPN (que está instalado em um computador, smartphone ou tablet) para o servidor OpenVPN pfSense. Um detalhe muito importante é que o servidor OpenVPN deve estar instalado em uma conexão de Internet fora do CG-NAT, e com as regras do firewall abertas para permitir a conexão, caso contrário, não conseguiremos nos conectar pela Internet.

Claro, no servidor podemos adicionar diferentes sub-redes para rotear o tráfego através das diferentes sub-redes que temos no pfSense, e podemos até configurar no firewall se queremos ou não permitir esses acessos de um endereço IP de servidor OpenVPN específico. Com o OpenVPN, temos duas maneiras de gerenciar pacotes e como eles funcionam no nível da camada de transporte:

  • TUN : este modo de operação permite o encapsulamento de todos os pacotes que são transportados por ele como segmentos TCP ou datagramas UDP. Todos os clientes receberão uma nova sub-rede específica. Por padrão, a sub-rede OpenVPN é 10.8.0.0/24, mas podemos configurar a que desejarmos.
  • TAP : este modo de operação simula uma interface de rede Ethernet, também conhecido como bridge, e o que esse túnel virtual faz é encapsular diretamente os pacotes Ethernet. O modo de operação da ponte é útil para intercomunicar usuários remotos facilmente, mas se a rede privada de origem corresponder à de destino, teremos um problema de roteamento e a comunicação não funcionará.

Neste tutorial, para configurar o OpenVPN no pfSense, usaremos um sub-rede virtual 10.8.0.0/24 onde teremos todos os clientes VPN quando eles se conectarem, será muito fácil identificar os diferentes clientes VPN que temos conectado à rede, além disso, podemos “forçar” para que cada cliente com um certificado específico sempre tenha o mesmo endereço IP privado do túnel VPN.

Neste manual vamos mostrar como fazer uma configuração OpenVPN muito segura no pfSense, personalizando os algoritmos de criptografia simétrica, assimétrica e hash. Desta forma, podemos ter a melhor criptografia de comunicações possível.

Resumo da criptografia a ser usada

  • Certificados digitais : OpenVPN permite o uso de certificados digitais baseados em RSA ou também EC (curvas elípticas) , usaremos o algoritmo EC secp521r1, embora tenhamos muitos outros disponíveis por meio do gerenciamento de certificados pfSense. O algoritmo de hash que usaremos será SHA512 , um dos mais seguros que podemos usar atualmente. Todos os clientes VPN da versão 2.4 devem ser compatíveis com esta configuração, no nosso caso, tanto o servidor quanto os clientes usam OpenVPN 2.5 ou superior, portanto não deve haver problemas.
  • Canal de controle OpenVPN : usaremos TLS 1.3 para máxima segurança, e sempre usando PFS (Perfect Forward Secrecy). Usaremos os três pacotes criptográficos do TLS 1.3 para estabelecer a comunicação: TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256 e TLS_AES_128_GCM_SHA256. Se você quiser verificar se o seu servidor ou cliente suporta este tipo de criptografia, você deve colocar “openvpn –show-tls” no console.
  • Canal de dados OpenVPN : usaremos o algoritmo de criptografia simétrica AES-256-GCM, um dos mais seguros atualmente e que foi incorporado ao OpenVPN 2.4 e posterior. Porém, usaremos também CHACHA20-POLY1305 e AES-128-GCM para que o cliente VPN escolha o que deseja, priorizando o primeiro. Se você quiser verificar se o seu servidor ou cliente suporta esses tipos de criptografia, você deve colocar no console “openvpn –show-ciphers”.

Para definir no canal de dados que queremos fazer uso do TLS 1.3, teremos que usar a diretiva “tls-ciphersuites” ao invés da típica “tls-cipher” como sempre usamos. Seria o seguinte:

tls-ciphersuites TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256

Além dessas medidas de segurança, incluiremos uma assinatura HMAC para a primeira negociação TLS, o que nos permitirá proteger o servidor OpenVPN contra possíveis ataques DoS. Se o cliente não tiver a assinatura HMAC correta, ele será bloqueado automaticamente e não continuará a verificação dos certificados digitais. Usaremos tls-crypt que está disponível no OpenVPN 2.4 e posterior, para ter a melhor segurança porque nos permite autenticar e criptografar o canal para que ninguém seja capaz de capturar essa chave pré-compartilhada.

Finalmente, usaremos o protocolo UDP em vez do TCP, por ser mais forte contra ataques de negação de serviço, devemos lembrar que o UDP não é conectivo, não é confiável e é orientado a conexões. No entanto, podemos usar o TCP sem problemas para fornecer à VPN todos os benefícios deste protocolo.

Instale o plugin OpenVPN Client para gerar a configuração

Embora o OpenVPN seja instalado por padrão no pfSense, seja no modo servidor ou cliente, não temos um pacote pré-instalado que nos permita gerar automaticamente a configuração para os clientes. Se formos ao gerenciador de pacotes em «System / Package Manager» e formos para a guia «Available Packages», podemos instalar o pacote «OpenVPN-client-export» que nos permitirá realizar precisamente esta ação, para facilitar muito a configuração dos clientes, importando a configuração do servidor com seus respectivos certificados digitais.

Uma vez instalado, estaremos prontos para avançar para a próxima etapa, criando os certificados digitais.

Crie certificados digitais no próprio pfSense

Para configurar um servidor OpenVPN com autenticação “SSL / TLS de acesso remoto”, devemos usar certificados digitais. Teremos que criar uma autoridade de certificação (CA) com a qual assinar os diferentes certificados, temos que criar um certificado específico para o servidor OpenVPN e tipo de servidor, bem como todos os certificados digitais dos clientes VPN que queremos registrar .

Também podemos criar uma lista de certificados revogados; se um certificado estiver comprometido porque o perdemos, podemos cancelá-lo diretamente para que não seja válido. Caso um usuário ilegítimo o utilize, você não poderá se conectar ao nosso servidor VPN de forma alguma.

Crie a CA (Autoridade de Certificação)

Na secção “CAs” é onde devemos clicar em “Adicionar” para criar uma nova autoridade certificadora, o que é essencial para que todos os certificados digitais funcionem correctamente, tanto do servidor como dos clientes VPN que vão ser utilizados . conectar. Neste menu devemos escolher as seguintes opções:

  • Criar / Editar CA
    • Nome descritivo: colocamos um nome descritivo para este CA, o que quisermos.
    • Método: Crie uma Autoridade de Certificação interna.
  • Autoridade de Certificação Interna
    • Tipo de chave: ECDSA com secp521r1 que é compatível com OpenVPN.
    • Algoritmo de resumo: sha512
    • Dias vitalícios: 3650 (10 anos)
    • Nome comum: o CN deve ser um nome descritivo, que descreve exclusivamente este CA. No nosso caso, temos apenas um CA para OpenVPN, então simplesmente colocamos “openvpn-ca”
    • Código do país: nenhum. Isso não é mais necessário para preencher os novos certificados OpenVPN.

A configuração de CA seria a seguinte:

Nos diferentes menus podemos escolher outras opções de configuração, como importar um CA que já criamos, ou criar um CA intermediário, vamos criar um CA e depois os certificados, sem usar nenhum CA intermediário.

Também poderemos escolher entre RSA ou ECDSA e até mesmo usar diferentes comprimentos de chave RSA e diferentes algoritmos de EC para criar o CA. No “algoritmo Digest” podemos escolher diferentes algoritmos de hash, os mais recomendados são sha256, sha384 e sha512, você nunca deve usar sha1 por segurança.

Depois que o CA for criado, ele aparecerá na lista de CA como você pode ver aqui:

Neste menu podemos ver o número de certificados associados a ele, o CN, a validade do certificado e se atualmente temos este CA em uso. Quando tivermos uma CA ou um certificado em uso, não poderemos removê-lo. Na seção «Ações» podemos editar a descrição do certificado, exportar a chave pública da CA, a chave privada, renovar a CA e até mesmo excluir a CA que acabamos de criar.

Crie o certificado do servidor OpenVPN

Agora temos que criar o certificado que usará o servidor OpenVPN integrado no pfSense. Vamos à seção “Certificados” e clicamos em “Adicionar / Assinar”, sempre teremos um certificado pré-configurado no pfSense porque o protocolo HTTPS o usa para se conectar, caso contrário não poderia funcionar. Este certificado é criado automaticamente quando você instala o sistema operacional.

O menu de criação de certificados é muito semelhante ao anterior, teremos que escolher entre três opções:

  • Método:
    • Crie um certificado interno.
    • Importe um certificado existente.
    • Crie uma solicitação de assinatura de certificado.
    • Assine uma solicitação de assinatura de certificado.

Vamos selecionar a primeira opção, criar um certificado interno.

Em seguida, teremos que dar a ele um nome descritivo, o que quisermos, e a configuração deve ser a seguinte:

  • Adicionar / assinar um novo certificado
    • Método: Crie uma Autoridade de Certificação interna.
    • Nome descritivo: colocamos um nome descritivo neste certificado, o que quisermos.
  • Certificado Interno
    • Autoridade de certificação: devemos escolher a CA anterior que acabamos de criar na etapa anterior.
    • Tipo de chave: ECDSA com secp521r1 que é compatível com OpenVPN. O mesmo que o CA.
    • Algoritmo de resumo: sha512
    • Dias vitalícios: 3650 (10 anos)
    • Nome comum: o CN deve ser um nome descritivo, que descreve inequivocamente este certificado de servidor. No nosso caso, só temos um certificado de servidor, então simplesmente indicamos openvpn-server.
    • Código do país: nenhum. Isso não é mais necessário para preencher os novos certificados OpenVPN.

Se tivermos um certificado com uma duração superior a 398 dias, é possível que nos dê erros em algumas plataformas, isto é de uma forma geral, mas não para OpenVPN. Portanto, podemos colocar a duração que quisermos sem problemas, isso não nos dará fracasso.

Na parte inferior, devemos escolher as seguintes opções:

  • Atributos do certificado:
    • Tipo de certificado: certificado do servidor
    • Nome alternativo: podemos deixá-lo sem nada, completamente vazio.

Devemos ter em mente que neste momento estamos configurando o certificado digital para o servidor OpenVPN, portanto, devemos escolher “Certificado de Servidor”.

A seção “Nome alternativo” é comumente usada para certificados IPsec, mas não a usaremos no OpenVPN.

Depois de criado, vamos vê-lo na lista de certificados, além disso, também podemos ver a CA com a qual assinamos o certificado e se é do tipo servidor.

Este certificado digital para o servidor é o que teremos que colocar ao configurar o servidor OpenVPN no pfSense, devemos lembrar muito bem o nome que lhe demos, pois posteriormente nos levará uma lista com todos os certificados.

Crie certificados para todos os clientes

Para criar um ou mais certificados digitais para clientes, devemos fazer exatamente o mesmo processo que para o certificado do servidor.

  • Adicionar / assinar um novo certificado
    • Método: Crie uma Autoridade de Certificação interna.
    • Nome descritivo: colocamos um nome descritivo para este certificado de cliente.
  • Certificado Interno
    • Autoridade de certificação: devemos escolher a CA anterior que criamos na primeira etapa.
    • Tipo de chave: ECDSA com secp521r1 que é compatível com OpenVPN. O mesmo que o CA.
    • Algoritmo de resumo: sha512
    • Dias vitalícios: 3650 (10 anos)
    • Nome comum: o CN deve ser um nome descritivo, que descreve exclusivamente este certificado de cliente. No nosso caso, temos apenas um certificado de cliente, portanto, indicamos simplesmente openvpn-client1.
    • Código do país: nenhum. Isso não é mais necessário para preencher os novos certificados OpenVPN.

Na seção "Atributos do certificado", teremos que configurá-lo da seguinte maneira:

  • Atributos do certificado:
    • Tipo de certificado: certificado do usuário
    • Nome alternativo: podemos deixá-lo sem nada, completamente vazio.

Uma vez criado, podemos ver a nova lista de certificados criados no pfSense.

Se clicarmos em editar, a única coisa que podemos fazer é modificar o nome descritivo, mas também podemos exportar a chave privada com uma senha longa, se colocarmos uma senha, a própria chave privada será criptografada com AES-256-CBC para proteja o seu conteúdo e, portanto, evite que, caso caia em mãos erradas, elas possam lê-lo e utilizá-lo. É o que utilizamos para exportar o certificado dos clientes, como mostraremos a seguir.

Se quisermos criar mais certificados de clientes podemos fazê-lo da mesma forma, bastando apenas colocar uma descrição diferente e também um CN diferente.

Depois de terminar de criar todos os certificados dos clientes que vão se conectar ao servidor OpenVPN, passamos a configurar o servidor passo a passo.

Configure o servidor OpenVPN com todas as opções explicadas

Para configurar o servidor OpenVPN, basta ir ao menu principal do pfSense, clicar na seção “VPN” e selecionar ” OpenVPN ".

Na seção “OpenVPN” devemos clicar em “Servidores” e clicar em “Adicionar” para adicionar um novo servidor OpenVPN.

Dentro da configuração do servidor OpenVPN, devemos escolher as seguintes opções:

  • Informações Gerais:
    • Modo de servidor: acesso remoto (SSL / TLS)
    • Protocolo: UDP
    • Modo do dispositivo: tun
    • Interface WAN
    • Porta local: 1194, por padrão é esta porta, recomenda-se alterá-la.
    • Descrição: colocamos uma descrição deste servidor OpenVPN, pois podemos criar vários.

Na seção “Protocolo” temos diferentes opções de configuração, por padrão é “UDP em IPv4 apenas”, já que também podemos usar TCP, e mesmo TCP e UDP, e também para redes IPv6, se usarmos este protocolo. líquido. Na seção “Modo de dispositivo” podemos escolher tun ou tap, como explicamos anteriormente, tun está no nível da camada 3, e tap está no nível da camada 2, com seus pontos fortes e fracos. Na seção “Interface”, o mais normal é usar a WAN, mas podemos ficar ouvindo com este servidor OpenVPN em todas as interfaces. Finalmente, em “Porta local” podemos modificar a porta TCP e / ou UDP que desejamos, é aconselhável não usar a porta padrão que é 1194.

No " Configurações criptográficas ”Seção podemos configurar tudo sobre certificados digitais SSL / TLS, então explicamos todas as opções:

  • Configurações criptográficas
    • Configuração TLS: habilitamos o uso de uma chave TLS, para fazer uso do tls-crypt, clicamos em gerar automaticamente a chave TLS. Ao salvar as alterações, aparecerá se quisermos usar “Autenticação” ou também “Criptografia”, neste último é recomendado fazer uso do novo tls-crypt em vez do tls-auth que tínhamos anteriormente.
    • Autoridade de certificação par: selecionamos a CA que criamos no próprio pfSense para este servidor OpenVPN.
    • Lista de revogação de certificado de mesmo nível: se criarmos uma lista de revogação de certificado, criamos na seção “System> Cert.Manager” e selecionamos aqui a lista que criamos anteriormente.
    • Certificado do servidor: escolhemos o servidor OpenVPN, no nosso caso, é “OpenVPN_ServidorOVPN (Servidor: Sim)”
    • Comprimento do parâmetro DH: apenas ECDH
    • Curva ECDH: escolhemos secp521r1

Na seção “Dados Criptografia Seção Negociação ”, nós o habilitamos e escolhemos as cifras simétricas que queremos usar para o canal de dados. No nosso caso, escolhemos um total de 3: AES-256-GCM, AES-128-GCM e também o novo CHACHA20-POLY1305 que eles incorporaram recentemente. Devemos também escolher um algoritmo «Fallback» caso o cliente OpenVPN não seja compatível, neste caso escolhemos AES-256-CBC, mas se você deseja segurança máxima, recomendamos escolher AES-256-GCM para forçá-lo a não conectar Se não usarmos criptografia forte, nada de usar AES-256-CBC, se houver clientes antigos devemos atualizá-los.

Em “Auth Digest Algorithm” escolheremos SHA256 ou SHA512, sempre funções hash seguras.

Na seção “Hardware Crypto”: se tivermos aceleração de criptografia de hardware, vamos escolher aqui para que a conexão com a VPN funcione mais rápido, se não temos ou não queremos habilitá-la, deixamos o valor padrão.

Em «Profundidade do certificado», selecionamos «Um (Cliente + Servidor)».

Na seção «Configurações do túnel», teremos que configurar as seguintes opções:

  • Rede de túnel IPv4: colocaremos a sub-rede específica para clientes OpenVPN, deve ser uma sub-rede livre que não usamos anteriormente. No nosso caso, escolhemos 10.8.0.0/24 que é o padrão neste software, mas podemos usar qualquer sub-rede.
  • Rede de túnel IPv6: o mesmo que em IPv4, mas se você usar redes IPv6.
  • Redirecionar Gateway IPv4 e IPv6: se habilitarmos esta opção, todo o tráfego de clientes OpenVPN passará pelo servidor OpenVPN e terá acesso a todas as sub-redes do sistema operacional, podemos bloquear o acesso a certas sub-redes através das opções de configuração do firewall, mas clientes receberá a rota para alcançar todas as sub-redes. Se vamos usar Full-Tunnel VPN, ativamos esta opção, se vamos usar Split-Tunnel vamos desabilitá-la e teremos que inserir as sub-redes às quais queremos que tenham acesso a seguir.
  • Conexões simultâneas: 10, é o número máximo de clientes conectados simultaneamente, isso vai depender de suas necessidades.
  • Permitir compressão: Recuse, não queremos compressão para evitar ataques.
  • Compactação Push: Poderemos fornecer esta opção de compactação (sem compactação) aos clientes.
  • Comunicação inter-cliente: podemos permitir ou negar que os clientes OpenVPN se comuniquem entre si, por segurança é aconselhável desabilitá-lo, mas em certos casos é necessário e até recomendado que haja comunicação, isso dependerá de suas necessidades.
  • Conexão duplicada: esta opção normalmente deve ser desabilitada, cada cliente OpenVPN deve ter suas próprias credenciais, e não usar o mesmo cliente com o mesmo certificado para se conectar. Esta opção é útil se quisermos usar os mesmos certificados em nosso smartphone, computador e tablet (3 dispositivos), e vamos nos conectar simultaneamente. Nossa recomendação é emitir um certificado para cada dispositivo.

Em “Configurações do cliente” podemos fornecer aos clientes um IP dinâmico, então podemos especificar que cada cliente tem um IP na faixa específica 10.8.0.0/24. Em “Topologia” escolhemos “sub-rede” que é muito mais eficiente do que net30 que era o método antigo.

Em «Configurações de Ping» podemos configurar os pings para ver se um cliente ainda está conectado ou se perdeu a conectividade.

Em “Configurações avançadas do cliente”, podemos configurar o DNS servidores, sejam servidores DNS externos, como o popular 8.8.8.8, ou um servidor DNS local do próprio pfSense. Também podemos selecionar a opção “Bloquear o acesso aos servidores DNS”, exceto aqueles do túnel VPN para melhorar a segurança.

Na seção “Configuração Avançada” podemos adicionar regras avançadas adicionais que não temos na interface gráfica do usuário, por exemplo, estamos interessados ​​em sempre negociar com TLS 1.3 pelo menos, se um cliente não for compatível ele não se conectará, porque não habilitaremos o TLS 1.2.

Como explicamos antes, ao salvar a configuração do servidor OpenVPN pela primeira vez, na seção “Chave TLS” veremos a chave TLS gerada automaticamente pelo pfSense, e devemos escolher “Criptografia e Autenticação TLS”.

Uma vez configurado, podemos ver o resumo da configuração abaixo:

Outra configuração que podemos fazer quanto às rotas é que, em vez de obrigar todos os clientes a enviarem todo o tráfego através do túnel VPN, podemos definir que só podemos acessar certas redes, as que queremos, e automaticamente os clientes que receberão os rotas para essas redes.

Depois de configurar o servidor OpenVPN, vamos configurar o firewall para permitir conexões de entrada.

Configure as regras no firewall para permitir o acesso

Na seção “Firewall / Regras” clicamos em WAN e criamos uma regra com os seguintes valores:

  • Ação: PASSAR
  • Interface: WAN
  • Família de endereços: IPv4
  • Protocolo: UDP
  • Fonte: Qualquer, qualquer origem, pois nem sempre sabemos qual IP público vamos ter
  • Destino: Endereço WAN na porta OpenVPN 1194, ou na porta que configuramos no servidor.

Salvamos e teremos a regra criada na Internet WAN.

Agora temos que ir para a seção “Firewall / Regras / OpenVPN”, nesta seção é onde vamos definir os acessos dos clientes OpenVPN. Se quisermos permitir que clientes OpenVPN acessem qualquer sub-rede pfSense e também a Internet, teremos que criar uma regra “Passar tudo”, definindo o seguinte:

  • Ação: PASSAR
  • Interface: OpenVPN
  • Família de endereços: IPv4
  • Protocolo: Qualquer
  • Fonte: Qualquer
  • Destino: Qualquer

Se quisermos criar regras específicas para negar tráfego para certas sub-redes, teremos que criar regras que atendam a essa condição.

Assim que tivermos acesso desde a Internet WAN, e também a qualquer sub-rede do sistema operacional e redirecionamento para a Internet, vamos exportar o arquivo de configuração OpenVPN para os clientes.

Exporte o arquivo de configuração OpenVPN para clientes

Vamos para a seção “VPN / OpenVPN / Exportação de cliente”, aqui vamos configurar a extensão para gerar configuração automática para clientes:

  • Servidor de Acesso Remoto: escolheremos o servidor VPN que configuramos, podemos ter vários, portanto, escolheremos o que nos interessar.
  • Resolução de Host Name: o domínio DDNS que configuramos no pfSense, ou o endereço IP da WAN, teremos várias possibilidades.
  • Verificar servidor CN: Automático - use verificar-x509-nome
  • Bloquear DNS externo: habilitamos esta opção.
  • Usar porta local aleatória: habilitamos esta opção.

Uma vez que todas as opções anteriores tenham sido configuradas, devemos clicar nos clientes a serem exportados, o mais normal é selecionar “Configurações Inline: Maioria dos Clientes” e irá exportar a CA, chave pública e privada do certificado do cliente, e toda a configuração.

Nossa recomendação é escolher esta opção de «Configurações Inline: Maioria dos Clientes», mas adicionando a chave privada do cliente criptografado, de forma que se este arquivo de configuração cair em mãos erradas, não possa acessar nosso servidor VPN. Para exportar a chave privada criptografada, devemos ir até a seção “System / Cert Manager” e ir em “Editar” o certificado do cliente, colocar uma senha e clicar em “Exportar chave privada”:

Agora, com um editor de texto, abrimos esta chave criptografada e o arquivo de configuração recém-baixado:

  • No arquivo de configuração OpenVPN completo, excluímos tudo o que está dentro « »
  • Copiamos o conteúdo completo da chave privada exportada dentro de « »E salve as alterações.

Agora, ao usar a chave privada para se conectar ao servidor, teremos que inserir esta senha que protege o certificado. Agora vamos verificar se o serviço está funcionando e conectaremos com o primeiro cliente.

Verifique o status do serviço e clientes conectados

Na seção “Status / OpenVPN” podemos ver se está ativado ou não, ativamos e conectamos o primeiro cliente sem problemas.

Uma recomendação adicional que você pode fazer com o pfSense é fornecer o mesmo cliente VPN que usa um certificado específico com o mesmo endereço IP sempre. Para isso, basta entrar em «Substituições específicas do cliente», adicionar um novo, escolher o servidor e o CN do cliente específico e na seção «Avançado» colocamos:

ifconfig-push 10.8.0.2 255.255.255.0;

E esse cliente VPN com aquele determinado CN sempre terá esse endereço IP privado dentro do túnel VPN.