Como Criar uma VPN com OpenVPN no Windows Server

Precisa de uma maneira segura e criptografada para acessar a internet? Por que não recorrer ao OpenVPN no Windows Server? Configurar sua primeira VPN pode ser um incômodo, mas você veio ao lugar certo!

Neste tutorial, você aprenderá como configurar uma VPN gratuita e manter entidades maliciosas fora do seu Windows Server.

Pronto para proteger sua rede? Bem, mergulhe de cabeça!

Pré-requisitos

Este tutorial será uma demonstração prática. Se você deseja acompanhar, certifique-se de ter o seguinte:

  • A Windows Server – This tutorial uses Window Server 2019 R2.
  • A client machine to test the VPN server – This demo uses Windows 10 64 bit.
  • Conectar-se à área de trabalho em um Windows Server usando o Remote Desktop (RDP) ou seu cliente de gerenciador de desktop preferido – Esta demonstração usa o cliente de janela RDP padrão.

Instalando o OpenVPN no Windows Server

O OpenVPN funciona em diferentes sistemas operacionais, mas não vem com a instalação do seu sistema operacional. Inicie este tutorial instalando o OpenVPN no seu servidor.

1. Abra o seu navegador favorito e vá para a página de download do OpenVPN. Baixe o pacote do instalador MSI de 64 bits para Windows para o seu servidor e execute o instalador.

Downloading the Windows 64-bit MSI installer package

2. Em seguida, clique em Personalizar na página inicial do assistente de instalação, conforme mostrado abaixo. A opção Personalizar permite que você instale itens extras para o seu servidor VPN.

Customizing the OpenVPN installer

3. Na página de Instalação Personalizada, clique no menu suspenso Serviço OpenVPN —> Será instalado no disco rígido local para instalar o Serviço OpenVPN no seu sistema. Esta opção também habilita o Serviço OpenVPN na inicialização do sistema.

Enabling the OpenVPN Service

4. Agora, role para baixo e clique no menu suspenso Utilitários OpenSSL —> opção Será instalado no disco rígido local. Esta opção disponibiliza as Bibliotecas OpenSSL e os cabeçalhos de desenvolvimento para o Serviço OpenVPN e são necessários pelo Serviço OpenVPN para determinadas funções criptográficas.

Clique em Instalar Agora para instalar o OpenVPN no seu servidor.

Enabling the OpenSSL Utilities and installing OpenVPN

5. Por fim, clique em Fechar quando a instalação for concluída.

Closing the Customization Installation Wizard

Geração de Certificados e Chaves para o Servidor e Clientes

Agora você tem o OpenVPN instalado no seu servidor, mas como você vai proteger a conexão do seu servidor com o(s) cliente(s)? Você irá gerar certificados e chaves para o seu servidor e cliente(s).

Certificados e chaves são usados para fornecer uma conexão criptografada entre o seu servidor e cliente(s). Você recebe uma chave pública e privada única ao gerar um certificado.

1. Abra o seu prompt de comando como administrador. Alguns comandos do OpenVPN requerem privilégios elevados para serem executados.

Opening your Command Prompt as an administrator

2. Em seguida, execute os comandos abaixo para iniciar o shell easy-rsa . O shell easy-rsa é usado para gerenciar certificados, chaves e configurações.

O EasyRSA será sua principal interface de linha de comando para o resto do tutorial.

cd C:\Program Files\OpenVPN\easy-rsa
EasyRSA-Start.bat
Accessing the EasyRSA shell

3. Execute o comando ./easyrsa clean-all abaixo para limpar quaisquer chaves e configurações existentes. Este comando garante que você comece com uma configuração limpa.

./easyrsa clean-all 
Clearing Existing Keys and Configurations

4. Agora, execute o comando ./easyrsa init-pki para inicializar a Infraestrutura de Chave Pública (PKI) e criar uma nova estrutura de diretório para seus certificados e chaves.

Infraestrutura de Chave Pública (PKI) é um framework que permite criar e gerenciar chaves públicas e privadas para o seu servidor e cliente(s) usarem.

./easyrsa init-pki 

Digite sim e pressione Enter para confirmar que deseja destruir quaisquer chaves existentes e criar uma nova PKI, conforme mostrado abaixo.

Initializing the Public Key Infrastructure (PKI)

5. Execute o comando abaixo para criar a Autoridade de Certificação (AC) (build-ca). A AC é responsável por emitir certificados para servidores e clientes, assinar esses certificados, revogar certificados, e assim por diante.

A opção nopass é usada, para que você não precise inserir uma senha toda vez que copiar os certificados e chaves para seus clientes. ./easyrsa build-ca nopass

./easyrsa build-ca nopass

Ao configurar sua VPN, você precisará gerar um certificado para seu servidor e cliente(s) assinado pela Autoridade de Certificação (AC).

Creating the Certificate Authority (CA)

6. Execute o comando abaixo para construir o certificado e chave do servidor (build-server-full). Este comando cria o certificado e chave do servidor OpenVPN, assina-o com sua AC e coloca os arquivos no subdiretório keys.

./easyrsa build-server-full server nopass
Building the Server Certificate and Key

7. Em seguida, execute o seguinte comando para gerar os parâmetros Diffie-Hellman (gen-dh), e depois feche seu shell easyrsa.

Diffie-Hellman é um protocolo que permite a dois usuários trocar chaves criptográficas por meio de uma conexão não segura. Diffie-Hellman será necessário para garantir que sua VPN permaneça segura mesmo se suas chaves de criptografia forem roubadas.

./easyrsa gen-dh
Generating the Diffie-Hellman Parameters

Até agora, você tem todos os arquivos de chave SSL/TLS necessários para o seu serviço OpenVPN listados na tabela abaixo.

Folder Path Content
C:\Program Files\OpenVPN\easy-rsa\pki CA file, DH file, and other OpenSSL-related files like a config file.
C:\Program Files\OpenVPN\easy-rsa\pki\private Include the private key files of CA, Server, and Client certificates.
C:\Program Files\OpenVPN\easy-rsa\pki\issued Contains issued server and client certificates.

8. Finalmente, abra o seu Explorador de Arquivos e copie os arquivos listados abaixo para as pastas C:\Program Files\OpenVPN\config-auto e C:\Program Files\OpenVPN\easy-rsa\pki\private.

C:\Program Files\OpenVPN\easy-rsa\pki\ca.cert
C:\Program Files\OpenVPN\easy-rsa\pki\dh.pem
C:\Program Files\OpenVPN\easy-rsa\pki\issued\server.cert
C:\Program Files\OpenVPN\easy-rsa\pki\private\server.key

Configurando as Regras do Firewall do Windows

Agora que você configurou o seu servidor OpenVPN, o próximo passo é garantir que você possa acessar o serviço. Você precisará configurar o Firewall do Windows para permitir o tráfego do OpenVPN.

1. Execute o comando netsh abaixo para permitir o tráfego através do seu firewall do Windows com o seguinte:

  • Configura o Firewall do Windows (advfirewall) adicionando uma regra chamada OpenVPN (add rule name="OpenVPN") ao Firewall do Windows.
  • Permite (action=allow) que todos os endereços IP locais (localip=any) e dispositivos externos (remoteip=any) se comuniquem por esta regra.
  • Informa ao servidor qual porta abrir (localport=1194 remoteport=0-65535) e qual tipo de protocolo usar (protocol=UDP).
netsh advfirewall firewall add rule name="OpenVPN" dir=in localport=1194 remoteport=0-65535 protocol=UDP action=allow remoteip=any localip=any
Configuring your Windows Firewall Rules

2. Abra o seu arquivo C:\Program Files\OpenVPN\config-auto\server.ovpn no seu editor de texto preferido para visualizar o conteúdo, conforme mostrado abaixo.

Um arquivo .ovpn é um arquivo de configuração OpenVPN. Ele contém todas as informações necessárias para o OpenVPN se conectar a uma VPN, como chaves de criptografia e autenticação. Para este tutorial, você precisará de um arquivo .ovpn para configurar sua conexão com o servidor VPN.

Edit your C:\Program Files\OpenVPN\config-auto\server.ovpn file.

Por fim, execute os comandos a seguir para reiniciar o serviço OpenVPN e aplicar as alterações.

net stop openvpnservice
net start openvpnservice
Restarting your OpenVPN service

Configurando seu Cliente

Além de configurar seu servidor para permitir o tráfego do OpenVPN, você também precisará configurar seu cliente. No OpenVPN, um cliente é qualquer máquina que se conecta à VPN. Esta demonstração usa o Windows 10 para se conectar ao servidor.

1. Instale o OpenVPN no seu cliente, como fez na seção “Instalando o OpenVPN no seu Servidor”.

2. Copie os arquivos listados abaixo do seu servidor para a pasta C:\Program Files\OpenVPN\config do seu cliente.

C:\Program Files\OpenVPN\easy-rsa\pki\ca.cert
C:\Program Files\OpenVPN\easy-rsa\pki\issued\client.crt
C:\Program Files\OpenVPN\easy-rsa\pki\issued\client.key

3. Por fim, abra o arquivo C:\Program Files\OpenVPN\config\client.ovpn e preencha o arquivo com o conteúdo abaixo. Substitua SEU_IP_DO_SERVIDOR_OPENVPN pelo endereço IP real do seu servidor Windows.

# cliente é o nome da sua conta, mas você pode escolher seu nome preferido
client
# dev tun é o tipo de conexão VPN que você precisa, usando uma conexão Ethernet.
dev tun
# Protocolo (UDP) usado nesta conexão VPN
proto udp
# Defina o endereço IP do seu servidor OpenVPN. 
# 1194 é a porta do seu servidor OpenVPN.
remote YOUR_OPENVPN_IP 1194
# Resolva seus nomes de domínio quando não forem encontrados, 
# para que você não veja erros de "domínio não encontrado".
resolv-retry infinite
# Altere o valor de "nobind" para "sea" para desconectar sua internet 
# quando o ID da VPN for desconectado.
nobind
# Sua chave de criptografia será salva para a próxima vez 
# que você se conectar ao servidor OpenVPN.
persist-key
# sua conexão VPN será salva para a próxima vez que você a usar.
persist-tun
# O certificado que seu servidor VPN usa para se identificar para você (o cliente). 
# Você pode baixá-lo do seu servidor VPN.
ca ca.crt
# o nome do seu certificado.
cert client01.crt
# o nome da sua chave de criptografia.
key client01.key
# A compressão de dados LZO irá comprimir seus blocos de dados 
# antes de enviar para que os dados sejam menores e mais rápidos.
comp-lzo
# O nível de verbosidade da sua saída será definido como o máximo.
# Para que você obtenha a maior quantidade de informações da sua conexão.
# Esta funcionalidade é útil ao tentar depurar sua conexão.
verb 3

Testando a Conexão VPN do seu Cliente

Agora que você instalou e configurou tanto o servidor quanto o cliente, é hora de testar se a conexão entre eles funciona corretamente.

No seu cliente Windows 10, execute o OpenVPN GUI.

Running the OpenVPN GUI

Clique com o botão direito no ícone de status do OpenVPN (monitor com um ícone de cadeado) na área de notificação e escolha Conectar para conectar o cliente à sua VPN.

Uma vez que o cliente esteja conectado, o ícone de status do OpenVPN fica verde e você receberá uma notificação a vpn está agora conectada, como mostrado abaixo.

Connecting to your VPN

Para uma verificação adicional, você pode ping seu servidor VPN usando o endereço IP atribuído (10.8.0.2).

ping [10.8.0.2](<http://10.8.0.2/>)

A saída abaixo confirma que sua VPN está funcionando conforme o esperado.

pinging to your VPN server

Conclusão

Neste tutorial, você aprendeu os passos adequados para instalar o OpenVPN no Windows Server. Você também aprendeu a configurar o servidor e o cliente do OpenVPN por meio de um arquivo de configuração do OpenVPN (.ovpn). Neste ponto, você agora tem um serviço VPN totalmente funcional que pode usar para proteger sua conexão com a internet e navegar na web com segurança.

Agora, por que não estender sua conectividade VPN para Amazon AWS VPC usando o AWS VPC VPN Gateway serviço com esse conhecimento recém-descoberto?

Source:
https://adamtheautomator.com/openvpn-on-window/