Como Criar uma VPN com OpenVPN no Windows Server

Precisa de uma maneira segura e criptografada de acessar a internet? Por que não recorrer ao OpenVPN no Windows Server? Configurar sua primeira VPN pode ser complicado, 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? Então, vamos lá!

Pré-requisitos

Este tutorial será uma demonstração prática. Se você quiser 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.
  • Conecte-se à área de trabalho de um Windows Server usando o Remote Desktop (RDP) ou seu cliente de gerenciador de área de trabalho preferido – Esta demonstração utiliza 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 seu navegador favorito e acesse a página de download do OpenVPN. Baixe o pacote do instalador MSI de 64 bits para Windows Windows 64-bit MSI installer 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, como 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 em seu sistema. Essa 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 certas funções criptográficas.

Clique em Instalar Agora para instalar o OpenVPN em 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

Gerando Certificados e Chaves para o Servidor e Clientes

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

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

1. Abra o prompt de comando como administrador. Alguns comandos do OpenVPN exigem 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 pelo 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. Esse 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órios para seus certificados e chaves.

A Infraestrutura de Chave Pública (PKI) é um framework que permite criar e gerenciar chaves públicas e privadas para 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 (CA) (build-ca). A CA é responsável por emitir certificados para servidores e clientes, assinar esses certificados, revogar certificados, e assim por diante.

A opção nopass é utilizada, 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 (CA).

Creating the Certificate Authority (CA)

6. Execute o comando abaixo para criar o certificado e chave do servidor (build-server-full). Este comando cria o certificado e chave do servidor OpenVPN, os assina com sua CA 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 então feche seu shell easyrsa.

Diffie-Hellman é um protocolo que permite a dois usuários trocar chaves criptográficas sobre 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

Agora você possui 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. Por fim, 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 pelo seu Firewall do Windows conforme a seguir:

  • Configura o Firewall do Windows (advfirewall) adicionando uma regra chamada OpenVPN (add rule name="OpenVPN") ao Firewall do Windows.
  • Permite (action=allow) todas as localizações IP locais (localip=any) e dispositivos externos (remoteip=any) para se comunicarem por esta regra.
  • Indica 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 arquivo C:\Program Files\OpenVPN\config-auto\server.ovpn no seu editor de texto preferido para visualizar o seu conteúdo, conforme mostrado abaixo.

Um ficheiro .ovpn é um ficheiro de configuração OpenVPN. Contém toda a informação que o OpenVPN necessita para se ligar a uma VPN, como chaves de encriptação e autenticação. Para este tutorial, irá necessitar de um ficheiro .ovpn para configurar a ligação com o servidor VPN.

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

Finalmente, execute os seguintes comandos para reiniciar o serviço OpenVPN e aplicar as alterações.

net stop openvpnservice
net start openvpnservice
Restarting your OpenVPN service

Configurar o seu Cliente

Além de configurar o seu servidor para permitir o tráfego OpenVPN, também precisa de configurar o seu cliente. No OpenVPN, um cliente é qualquer máquina que se liga à VPN. Esta demonstração utiliza o Windows 10 para se ligar ao servidor.

1. Instale o OpenVPN no seu cliente, como fez na secção “Instalar OpenVPN no seu Servidor” ****.

2. Copie os ficheiros 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 último, abra o ficheiro C:\Program Files\OpenVPN\config\client.ovpn e preencha o ficheiro com o conteúdo abaixo. Substitua YOUR_OPENVPN_IP pelo seu endereço IP real do Windows Server.

# cliente é o nome da sua conta, mas você pode escolher o nome que preferir
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
# Mude o valor de "nobind" para "sea" para desconectar sua internet 
# quando a ID da VPN for desconectada.
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 a 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 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 para 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 a GUI do OpenVPN.

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 está conectado, o ícone de status do OpenVPN fica verde, e você receberá uma notificação vpn agora está conectada, como mostrado abaixo.

Connecting to your VPN

Para verificar novamente, você pode ping o seu servidor VPN usando o endereço IP atribuído (10.8.0.2).

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

O resultado abaixo confirma que sua VPN funciona como pretendido.

pinging to your VPN server

Conclusão

Neste tutorial, você aprendeu os passos corretos para instalar o OpenVPN no Windows Server. Você também aprendeu a configurar o servidor e o cliente OpenVPN por meio de um arquivo de configuração do OpenVPN (.ovpn). Neste ponto, você agora tem um serviço de 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 serviço AWS VPC VPN Gateway com esse conhecimento recém-adquirido?

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