01 - VPN (IPSec, SSL-TLS, L2TP)
video: https://youtu.be/... no frontmatter da nota.VPN (IPSec, SSL/TLS, L2TP)
1. Definição e Propósito
No contexto da comunicação segura, a VPN (Virtual Private Network) é uma tecnologia que utiliza a infraestrutura de uma rede pública (como a Internet) para criar um canal de comunicação privado e protegido. O objetivo central de uma VPN é garantir a privacidade, integridade e autenticidade dos dados enquanto eles trafegam por meios inseguros, funcionando como uma barreira que protege o conteúdo contra interceptações e ataques cibernéticos.
O conceito nasceu nos anos 1990, com as primeiras implementações comerciais (como a da Microsoft com PPTP, 1996) e a definição do IPSec (RFC 1825-1829, depois RFCs 4301-4309). As VPNs substituíram as caras linhas privadas físicas (Frame Relay, ATM, MPLS L2) por túneis criptográficos sobre a internet pública, reduzindo custos e aumentando a flexibilidade.
2. Tipos de VPN
| Tipo | Topologia | Uso Típico |
|---|---|---|
| Site-to-Site (Gateway-a-Gateway) | Conecta redes de duas filiais via túnel entre roteadores/firewalls | Interligar matriz e filiais |
| Remote Access (Host-a-Gateway) | Usuário remoto conecta-se à rede corporativa | Teletrabalho, suporte remoto |
| Host-to-Host | Túnel entre dois servidores específicos | Sincronização segura entre DCs |
| Hub-and-Spoke | Múltiplos sites conectam a um hub central | Redes WAN corporativas |
| Full-Mesh (DMVPN) | Túneis dinâmicos entre todos os pares | Grandes redes com tráfego L2L intenso |
3. Protocolo IPSec (Internet Protocol Security)
O IPSec é uma extensão do protocolo IP que fornece segurança na camada de rede (L3). É definido nas RFCs 4301-4309 e é obrigatório e nativo no IPv6 (RFC 8200). É amplamente utilizado por empresas para interconectar filiais ou usuários remotos devido à sua robustez.
A. Serviços Providos
- Controle de acesso: Filtragem baseada em políticas de segurança (SPD — Security Policy Database).
- Integridade de pacotes: Detecção de modificação via HMAC (SHA-256, AES-GMAC).
- Autenticação da origem: Garante que o pacote veio realmente do peer combinado.
- Confidencialidade: Criptografia do payload (AES-128/256, ChaCha20).
- Proteção contra replays: Anti-replay window baseado em número de sequência.
B. Protocolos Principais
| Protocolo | RFC | Função | Protocol Number |
|---|---|---|---|
| AH (Authentication Header) | 4302 | Integridade + autenticação (sem cripto) | 51 |
| ESP (Encapsulating Security Payload) | 4303 | Integridade + autenticação + confidencialidade | 50 |
| IKE (Internet Key Exchange) | 7296 | Negociação de chaves e SA via UDP 500/4500 | UDP |
| IKEv2 | 7296 | Versão moderna, mais simples e robusta | UDP |
C. Modos de Operação
- Modo de Transporte: Criptografa apenas o payload, mantendo o cabeçalho IP original para roteamento. É comum em comunicações host-a-host. Menor overhead, mas expõe topologia (IPs originais visíveis).
- Modo de Tunelamento: Criptografa o pacote inteiro (cabeçalho + payload) e adiciona um novo cabeçalho IP externo para distribuição. É ideal para conexões rede-a-rede e criação de túneis seguros entre roteadores. Oculta IPs internos.
D. Fases do IKE
- IKE Phase 1 (Main Mode / Aggressive Mode): Estabelece um canal seguro (IKE SA) autenticando os pares (PSK ou certificados) e negociando algoritmos. Resulta em chaves DH compartilhadas.
- IKE Phase 2 (Quick Mode): Estabelece as SAs (IPsec SAs) para ESP/AH, negociando transform sets (cripto + hash + lifetime). Uma Phase 1 pode derivar múltiplas Phase 2.
- Dead Peer Detection (DPD): Detecta peers mortos e recicla SAs ociosas.
E. Configuração Cisco IOS (Site-to-Site)
crypto ikev2 policy POL1
proposal PROPiKE encryption aes-cbc-256 integrity sha256 group 19
!
crypto ipsec transform-set TS esp-aes 256 esp-sha256-hmac
mode tunnel
!
crypto ipsec profile PROF
set transform-set TS
set pfs group19
!
interface Tunnel0
ip address 10.10.0.1 255.255.255.252
tunnel source GigabitEthernet0/0
tunnel mode ipsec ipv4
tunnel destination 203.0.113.2
tunnel protection ipsec profile PROF
4. Protocolos SSL e TLS (Secure Socket Layer / Transport Layer Security)
Estes protocolos são utilizados para criar uma subcamada de segurança na pilha TCP/IP, permitindo a comunicação segura sobre aplicações web. Atualmente o SSL está obsoleto (depreciado em 2015 pela RFC 7568) e foi substituído pelo TLS (RFC 8446 define TLS 1.3).
A. VPN SSL/TLS
- VPN SSL: Oferece grande flexibilidade, pois funciona com quase todos os navegadores padrão, eliminando a necessidade de softwares especializados no computador do usuário final. É muito eficiente para teletrabalhadores e parceiros de negócios.
- Evolução: O SSL foi substituído pelo TLS por razões de segurança, e os navegadores modernos utilizam TLS para criptografar e autenticar dados transmitidos via HTTPS (porta 443).
- Clientless VPN: Algumas soluções (Cisco AnyConnect, Palo Alto GlobalProtect) oferecem acesso via navegador puro, sem cliente instalado, expondo apenas aplicações web internas.
B. Implementações
| Software | Modelo | Porta | Notas |
|---|---|---|---|
| OpenVPN | TLS + certificados / PSK | 1194 UDP/TCP | Multiplataforma, amplamente usado |
| OpenConnect / AnyConnect | TLS | 443 TCP | Cisco-compatível,穿透 firewalls |
| SSTP (Microsoft) | TLS | 443 TCP | Integrado ao Windows Server |
| SoftEther | TLS | 443 | Multiprotocolo, alto desempenho |
| WireGuard | Noise protocol | 51820 UDP | Moderno, curva25519, código enxuto |
C. WireGuard (Estado da Arte)
Definido na RFC 7799-like e aceito no kernel Linux desde 5.6 (2020), o WireGuard substitui IPSec e OpenVPN em muitos cenários. Características:
- Apenas ~4.000 linhas de código (vs. 600.000 do OpenVPN), facilitando auditoria.
- Usa Curve25519, ChaCha20-Poly1305, BLAKE2s, HKDF.
- Sem alocação dinâmica de IPs: cada peer tem chave pública associada a IP.
- roaming transparente (como o Mosh): troca de IP do cliente não derruba túnel.
5. Protocolo L2TP (Layer 2 Tunneling Protocol)
O L2TP é um protocolo de tunelamento que, por si só, não oferece confidencialidade ou autenticação. Definido na RFC 2661 (v2) e RFC 3931 (v3).
- Integração: Para ser seguro, ele opera obrigatoriamente em conjunto com o IPSec, que fornece a criptografia necessária para proteger os dados. A combinação chama-se L2TP/IPSec.
- Aplicação: É frequentemente utilizado como uma "linha virtual" para proporcionar acesso remoto de baixo custo a usuários. Carrega quadros L2 (PPP) sobre UDP, permitindo que protocolos legados (como endereçamento IPX/AppleTalk) atravessem a internet — hoje historicamente obsoleto.
- Desvantagem: Dobre encapsulamento (IP → UDP → L2TP → PPP → IP) gera overhead elevado e MTU reduzida. Foi amplamente substituído por SSL VPN e IKEv2.
Comparação dos Protocolos
| Aspecto | IPSec | SSL/TLS VPN | L2TP/IPSec |
|---|---|---|---|
| Camada OSI | L3 (rede) | L4-L7 (transp/aplic) | L2 (enlace) |
| Porta | IP proto 50/51, UDP 500/4500 | TCP/UDP 443 | UDP 1701 |
| Cliente | Geralmente dedicado | Browser ou cliente leve | Dedicado |
| Atravessa NAT | Com NAT-T (UDP 4500) | Sim (TCP 443) | Com NAT-T |
| Performance | Alta (kernel) | Alta (kernel TLS) | Menor (duplo encaps.) |
| Granularidade | Sub-rede inteira | App ou rede | Rede inteira |
| Padronização | IETF RFC 4301+ | IETF RFC 8446 | IETF RFC 3931 |
6. Contexto Amplo na Segurança da Informação
A implementação de VPNs é uma parte vital da estratégia de "Defesa em Profundidade" e da manutenção da Tríade CIA (Confidencialidade, Integridade e Disponibilidade):
- A VPN garante a confidencialidade ao tornar os dados ilegíveis para interceptadores por meio da cifragem.
- Garante a integridade através de funções de hash e assinaturas digitais, permitindo verificar se o arquivo foi alterado durante o trajeto.
- Garante autenticidade via certificados X.509, PSK ou EAP.
- As políticas internas (como a ISO/IEC 27002) recomendam o uso de VPNs para todo trabalho remoto para mitigar os riscos de conexões em ambientes desconhecidos e não confiáveis.
7. Exemplo Prático: OpenVPN com TLS
Configuração do Servidor (server.conf)
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh none
tls-server
tls-auth ta.key 0
cipher AES-256-GCM
auth SHA256
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
keepalive 10 120
persist-key persist-tun
status openvpn-status.log
verb 3
Geração de Chaves
# Build CA e certificados (Easy-RSA)
./easyrsa init-pki
./easyrsa build-ca
./easyrsa gen-req server nopass
./easyrsa sign-req server server
./easyrsa gen-dh # opcional com ECDHE
8. Considerações de Segurança
- VPNs gratuitas podem ser inseguras: O proprietário do serviço pode monitorar o tráfego do usuário, recomenda-se sempre o uso de soluções pagas e confiáveis ou self-hosted para garantir a real privacidade.
- Split tunneling: Decisão de rotear todo o tráfego (full-tunnel) ou apenas tráfego corporativo (split-tunnel) pela VPN. Full-tunnel aumenta privacidade mas consome banda; split-tunnel permite vazamento de DNS.
- MFA: VPNs de acesso remoto devem exigir autenticação multifator (RFC 8446/8707 for TLS client cert, ou Duo/RADIUS OTP) — caso contrário, credenciais vazadas dão acesso direto à rede interna.
- Auditoria e logs: Manter logs de conexão (peer, timestamp, IPs) por período regulatório (LGPD/Retention Policy).
- Patch management: A families de vulnerabilidades (Heartbleed CVE-2014-0160, ROBOT CVE-2017-13077) demonstram que TLS precisa de atualização constante.
9. Cenários Modernos
- SASE (Secure Access Service Edge): Combina SD-WAN + VPN + SWG + CASB + ZTNA em plataforma cloud. Substitui VPNs tradicionais por acesso zero-trust por aplicação.
- ZTNA (Zero Trust Network Access): Ao invés de dar acesso à rede inteira via VPN, o ZTNA concede acesso por aplicação após autenticação contextual (device posture, geolocalização, horário).
- VPN em ambientes cloud: AWS Site-to-Site VPN, Azure VPN Gateway, GCP Cloud VPN — usam IPSec com BGP para roteamento dinâmico.
10. Resumo Técnico
| Característica | IPSec | SSL/TLS | L2TP/IPSec |
|---|---|---|---|
| RFC principal | 4301 | 8446 (TLS 1.3) | 3931 |
| Algoritmos modernos | AES-GCM, ChaCha20 | AES-GCM, ChaCha20-Poly1305 | Herda IPSec |
| Auth | PSK / Cert / RSA | Cert / PSK | Herda IPSec |
| NAT-T | UDP 4500 | TCP 443 | UDP 4500 |
| Cliente leve | Não | Sim | Não |
| Estado atual | Ativo, padrão de facto | Ativo, dominante em web/VPN | Obsoleto |
11. Conclusão
As VPNs são a espinha dorsal da comunicação segura moderna entre redes geograficamente dispersas. O IPSec domina o cenário site-to-site por sua maturidade e suporte multi-vendor; o TLS domina o cenário de acesso remoto e aplicações web pela ubiquidade do navegador; o L2TP/IPSec é uma tecnologia legada em declínio. A evolução recente aponta para WireGuard (mais simples e seguro), ZTNA e SASE (acesso por aplicação em vez de túnel de rede), refletindo a transição do modelo de perímetro para o modelo de confiança zero. Em qualquer implementação, é crucial tratar a VPN como camada complementar — não substitutiva — de firewalls, MFA e segmentação interna.