Escolha uma Página

Configuração Avançada — VPN Segura com WireGuard

11 de fevereiro de 2025

Introdução

O WireGuard é considerada uma das soluções mais modernas e eficientes para a criação de VPNs atualmente. Possui um design simplificado, criptografia de ponta e desempenho otimizado. Tornou-se uma alternativa superior aos protocolos tradicionais, como OpenVPN e IPSec.

Aqui, exploro uma configuração avançada do WireGuard, abordando desde a instalação até ajustes de segurança e otimização para ambientes corporativos.

Ilustração com único propósito: embelezar esse post.

1. Instalando o WireGuard

1.1. Instalação no Ubuntu/Debian

sudo apt update && sudo apt install wireguard

1.2. Instalação no CentOS/RHEL

sudo yum install epel-release
sudo yum install wireguard-tools

1.3. Verificação da Instalação

Após a instalação, verifique se o WireGuard foi instalado corretamente:

wg --version

1.4. Configuração do Kernel para Melhor Desempenho

Para maximizar a performance da VPN, recomendamos ajustar os seguintes parâmetros do kernel:

echo 'net.core.rmem_max=2500000' | sudo tee -a /etc/sysctl.conf
echo 'net.core.wmem_max=2500000' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

Esses ajustes aumentam os buffers de memória do kernel, melhorando a transmissão de pacotes na VPN.

2. Configuração do Servidor VPN

2.1. Gerando Chaves Privadas e Públicas

O WireGuard utiliza um sistema de criptografia baseado em chaves públicas e privadas para autenticação. Para gerar um par de chaves faça:

wg genkey | tee privatekey | wg pubkey > publickey

Agora você tem dois arquivos:

  • privatekey (chave privada do servidor)
  • publickey (chave pública do servidor)

2.2. Configuração do Arquivo de Interface

Crie o arquivo de configuração do WireGuard no servidor:

sudo nano /etc/wireguard/wg0.conf

Adicione a seguinte configuração:

[Interface]
Address = 10.0.0.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = <chave_privada_do_servidor>
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Ative o roteamento no kernel:

echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

3. Configuração do Cliente

3.1. Gerando Chaves do Cliente

No cliente, gere outro par de chaves:

wg genkey | tee privatekey | wg pubkey > publickey

3.2. Configuração do Cliente

Crie o arquivo de configuração:

sudo nano /etc/wireguard/wg0.conf

Adicione o seguinte conteúdo:

[Interface]
PrivateKey = <chave_privada_do_cliente>
Address = 10.0.0.2/24
DNS = 8.8.8.8
[Peer]
PublicKey = <chave_pública_do_servidor>
Endpoint = <IP_do_Servidor>:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

4. Adicionando o Cliente ao Servidor

No servidor, edite o arquivo /etc/wireguard/wg0.conf e adicione a seguinte entrada:

[Peer]
PublicKey = <chave_pública_do_cliente>
AllowedIPs = 10.0.0.2/32

Reinicie o serviço para aplicar as configurações:

sudo systemctl restart wg-quick@wg0

5. Testando a Conexão

Ative a VPN no servidor:

sudo wg-quick up wg0

No cliente:

sudo wg-quick up wg0
ping 10.0.0.1

Se o ping for bem-sucedido, a conexão está funcionando!

6. Hardening e Segurança

6.1. Proteção contra Ataques de Força Bruta

Para impedir tentativas de ataque, configure Fail2Ban:

sudo apt install fail2ban

Adicione uma regra para o WireGuard em /etc/fail2ban/jail.local:

[wireguard]
enabled = true
port = 51820
maxretry = 3
bantime = 3600

6.2. Configuração de Logs para Monitoramento

Habilite logs detalhados para rastrear conexões e eventos suspeitos:

sudo journalctl -u wg-quick@wg0 -f

7. Configuração de VPN Mesh (Opcional)

Para redes mais complexas, o WireGuard permite configurar conexões peer-to-peer sem um servidor central:

  • Cada nó pode se conectar diretamente a outro nó.
  • Ideal para comunicação segura entre servidores distribuídos.
  • Reduz a latência e melhora a escalabilidade.

Para adicionar outro cliente no modo mesh, basta definir vários peers no mesmo arquivo de configuração do WireGuard.

Conclusão

Você verá que o WireGuard oferece uma solução de VPN moderna, rápida e altamente segura. Implementar as práticas que abordei aqui garante, não apenas a configuração funcional da VPN, mas também medidas de segurança para proteção de dados e acesso seguro. Tendo um bom planejamento e monitoramento contínuo, sua VPN pode ser utilizada com alto nível de confiabilidade e desempenho.

Inteligência Exposta: Como Agentes e Policiais Estão Sendo Alvos da Cibercriminalidade

Introdução A figura do agente de inteligência ou do policial investigativo está tradicionalmente...

Ataques em Cadeia de Suprimentos Digitais: O Elo Mais Fraco da TI Brasileira

Introdução A transformação digital trouxe inúmeros avanços para o setor empresarial brasileiro,...

OSINT na Investigação de Cibercrimes: Como Utilizar Informações de Fontes Abertas

Introdução A Inteligência de Fontes Abertas (Open Source Intelligence – OSINT) é uma técnica...

O Brasil Está Perdendo a Guerra Contra o Cibercrime

Introdução O Brasil tem se tornado um alvo cada vez mais frequente de ataques cibernéticos, e a...

Protegendo seus Dados Após o Vazamento do Banco Neon

Introdução O recente vazamento de dados do Banco Neon expôs informações sensíveis de seus...

Análise Forense de Memória RAM com Volatility

Introdução A análise forense de memória RAM é uma etapa essencial na investigação de incidentes de...

Monitoramento Avançado com XDR no SOC

Guia Técnico: Monitoramento Avançado com XDR no SOC Introdução O Extended Detection and...

Análise Forense em Ambientes Virtuais

Desafios da Coleta, preservação e análise de evidências. 1. Desafios da Coleta de Evidências em...

Automação e Orquestração com SOAR no SOC

Guia Técnico: Automação e Orquestração com SOAR no SOC Introdução Ameaças cibernéticas, cada vez...

Passkey: a Evolução da Autenticação Digital

É fato que a segurança digital tem sido um dos principais desafios enfrentados por empresas e...