Em um mundo cada vez mais conectado e com equipes trabalhando remotamente, garantir o acesso seguro aos recursos da empresa tornou-se uma necessidade crítica para organizações de todos os tamanhos. Uma Rede Privada Virtual (VPN) é uma solução essencial que permite aos colaboradores acessarem a rede corporativa de forma segura, independentemente de sua localização física.
Neste tutorial, vamos guiá-lo pelo processo completo de configuração de uma VPN corporativa para acesso remoto seguro, abordando desde os conceitos básicos até as melhores práticas de implementação e segurança.
Uma VPN (Virtual Private Network) cria um túnel criptografado entre o dispositivo do usuário e a rede corporativa, permitindo uma conexão segura através da internet pública. Isso garante que todos os dados transmitidos permaneçam privados e protegidos contra interceptações.
As principais vantagens de implementar uma VPN corporativa incluem:
Antes de iniciar a configuração, é importante entender os diferentes tipos de VPN disponíveis para ambientes corporativos:
Este é o tipo mais comum para acesso de funcionários remotos. Conecta dispositivos individuais (laptops, smartphones) à rede corporativa. Ideal para equipes distribuídas ou trabalho híbrido.
Conecta redes inteiras entre si, como escritórios em diferentes localizações geográficas. Não requer que os usuários finais iniciem conexões VPN individualmente.
Utiliza o navegador como cliente VPN, eliminando a necessidade de software adicional. Geralmente mais fácil de implementar, mas pode oferecer menos recursos avançados.
Oferece alto nível de segurança e é amplamente suportada por dispositivos de rede empresariais. Requer configuração mais complexa, mas proporciona maior controle.
Para este tutorial, focaremos na configuração de uma VPN de Acesso Remoto utilizando o protocolo OpenVPN, que oferece um bom equilíbrio entre segurança, desempenho e facilidade de implementação.
Antes de iniciar a configuração da VPN, certifique-se de que você possui:
Primeiro, atualize o sistema operacional para garantir que você tenha as versões mais recentes dos pacotes:
sudo apt update
sudo apt upgrade -y
O OpenVPN é o software de servidor VPN, enquanto o Easy-RSA nos ajudará a criar os certificados necessários:
sudo apt install openvpn easy-rsa -y
Vamos criar uma estrutura de diretórios para nossa CA e inicializar o ambiente:
mkdir -p ~/openvpn-ca
cp -r /usr/share/easy-rsa/* ~/openvpn-ca/
cd ~/openvpn-ca
Agora, edite o arquivo vars para configurar os detalhes da sua CA:
nano vars
Localize e modifique as seguintes linhas com as informações da sua empresa:
set_var EASYRSA_REQ_COUNTRY "BR"
set_var EASYRSA_REQ_PROVINCE "Sao Paulo"
set_var EASYRSA_REQ_CITY "Sao Paulo"
set_var EASYRSA_REQ_ORG "CPD Brasil"
set_var EASYRSA_REQ_EMAIL "admin@cpdbrasil.com.br"
set_var EASYRSA_REQ_OU "TI"
Inicialize a PKI (Public Key Infrastructure):
./easyrsa init-pki
Agora vamos criar o certificado raiz da CA:
./easyrsa build-ca nopass
Quando solicitado, forneça um nome comum para sua CA, como "CPD-Brasil-CA".
./easyrsa gen-req server nopass
Quando solicitado, forneça um nome comum para o servidor, como "vpn-server".
Agora, assine o certificado do servidor:
./easyrsa sign-req server server
Digite "yes" quando solicitado para confirmar a assinatura.
Os parâmetros Diffie-Hellman são usados para a troca segura de chaves:
./easyrsa gen-dh
Gere uma chave HMAC para fortalecer a segurança do servidor:
openvpn --genkey --secret pki/ta.key
Copie os arquivos necessários para o diretório do OpenVPN:
sudo cp pki/ca.crt pki/dh.pem pki/ta.key pki/issued/server.crt pki/private/server.key /etc/openvpn/
Baixe e configure o arquivo de exemplo do servidor:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/
Edite o arquivo de configuração do servidor:
sudo nano /etc/openvpn/server.conf
Faça as seguintes alterações:
tls-auth ta.key 0
e adicione abaixo: key-direction 0
cipher AES-256-CBC
e auth SHA256
user nobody
e group nogroup
push "redirect-gateway def1 bypass-dhcp"
e push "dhcp-option DNS 208.67.222.222"
(você pode usar os servidores DNS da sua preferência)Edite o arquivo sysctl.conf:
sudo nano /etc/sysctl.conf
Descomente a linha:
net.ipv4.ip_forward=1
Aplique as alterações:
sudo sysctl -p
Ajuste as regras do firewall para permitir o tráfego VPN:
sudo ufw allow OpenSSH
sudo ufw allow 1194/udp
sudo ufw allow from 10.8.0.0/24
Configure o mascaramento de IP:
sudo nano /etc/ufw/before.rules
Adicione as seguintes linhas antes da linha *filter
:
# NAT table rules
*nat
:POSTROUTING ACCEPT [0:0]
# Allow traffic from OpenVPN client to eth0
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
COMMIT
Edite o arquivo de configuração do UFW:
sudo nano /etc/default/ufw
Altere DEFAULT_FORWARD_POLICY="DROP"
para DEFAULT_FORWARD_POLICY="ACCEPT"
Reinicie o firewall:
sudo ufw disable
sudo ufw enable
sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server
Verifique o status do serviço:
sudo systemctl status openvpn@server
Agora que o servidor está configurado, precisamos criar certificados para cada usuário que acessará a VPN:
cd ~/openvpn-ca
./easyrsa gen-req cliente1 nopass
./easyrsa sign-req client cliente1
Crie um diretório para armazenar as configurações dos clientes:
mkdir -p ~/cliente-configs/files
Crie um arquivo de configuração base:
nano ~/cliente-configs/base.conf
Adicione o seguinte conteúdo (substitua YOUR_SERVER_IP pelo IP público do seu servidor):
client
dev tun
proto udp
remote YOUR_SERVER_IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
auth SHA256
key-direction 1
verb 3
nano ~/cliente-configs/make_config.sh
Adicione o seguinte conteúdo:
#!/bin/bash
# Primeiro argumento: Nome do cliente
KEY_DIR=~/openvpn-ca/pki
OUTPUT_DIR=~/cliente-configs/files
BASE_CONFIG=~/cliente-configs/base.conf
cat ${BASE_CONFIG} \
<(echo -e '') \
${KEY_DIR}/ca.crt \
<(echo -e ' \n') \
${KEY_DIR}/issued/${1}.crt \
<(echo -e ' \n') \
${KEY_DIR}/private/${1}.key \
<(echo -e ' \n') \
${KEY_DIR}/ta.key \
<(echo -e ' ') \
> ${OUTPUT_DIR}/${1}.ovpn
Torne o script executável:
chmod +x ~/cliente-configs/make_config.sh
cd ~/cliente-configs
./make_config.sh cliente1
O arquivo de configuração do cliente será gerado em ~/cliente-configs/files/cliente1.ovpn
. Este arquivo deve ser transferido com segurança para o dispositivo do usuário.
C:\Program Files\OpenVPN\config\
sudo apt install openvpn network-manager-openvpn-gnome
sudo openvpn --config cliente1.ovpn
Para garantir a máxima segurança da sua implementação VPN, recomendamos as seguintes práticas:
Possíveis soluções:
sudo tail -f /var/log/syslog
Possíveis soluções:
Possíveis soluções:
tun-mtu 1500
ao arquivo de configuraçãocompress lz4-v2
às configuraçõesA implementação de uma VPN corporativa é uma medida essencial para garantir o acesso seguro aos recursos da empresa em um ambiente de trabalho cada vez mais distribuído. Seguindo este guia, você configurou com sucesso um servidor OpenVPN que oferece uma conexão segura e criptografada para seus usuários remotos.
Lembre-se de que a segurança é um processo contínuo. Mantenha seu servidor atualizado, monitore regularmente os logs em busca de atividades suspeitas e revise periodicamente suas políticas de acesso para garantir que apenas usuários autorizados tenham acesso aos recursos corporativos.