OpenVPN: Arquitetura de VPN Baseada em TLS
Estude como o OpenVPN usa TLS para o canal de controle e cifras configuráveis para o canal de dados.
OpenVPN: Arquitetura de VPN Baseada em TLS é uma aula grátis de Cryptology Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cryptology Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cryptology Academy inclui 4 aulas no total.
Arquitetura de dois canais do OpenVPN
OpenVPN usa dois canais separados: o canal de controle e o canal de dados. O canal de controle cuida da autenticação, do estabelecimento da sessão e da troca de configurações usando TLS. O canal de dados transporta o tráfego real da VPN, criptografado com uma cifra simétrica negociada por meio do canal de controle. Essa separação permite que OpenVPN aproveite todo o ecossistema TLS para o gerenciamento de chaves.
Canal de controle: TLS para negociação de chaves
O canal de controle do OpenVPN executa uma sessão TLS completa. Ambos os lados se autenticam usando certificados X.509 assinados por uma CA compartilhada. TLS fornece a troca de chaves, a validação de certificados e a negociação dos parâmetros da cifra do canal de dados. Como TLS oferece suporte a ECDHE, o canal de controle fornece sigilo de encaminhamento perfeito: as chaves do canal de dados não podem ser recuperadas de uma sessão capturada, mesmo com a chave da CA.
Criptografia do canal de dados
A criptografia do canal de dados é negociada por meio do canal de controle TLS. O OpenVPN 2.4 e versões posteriores usam AES-256-GCM por padrão, uma cifra AEAD que fornece confidencialidade e integridade em uma única operação. As versões anteriores usavam AES-256-CBC com HMAC-SHA256 separadamente. Os modos AEAD são preferidos porque eliminam a necessidade de verificação separada do MAC e resistem a ataques de oráculo de preenchimento.
tls-crypt: encapsulamento com chave pré-compartilhada
A opção tls-crypt encapsula toda a sessão TLS, incluindo a saudação do cliente, em um envelope simétrico autenticado por HMAC, usando uma chave pré-compartilhada. Isso significa que clientes não autenticados nem sequer conseguem iniciar um aperto de mão TLS; seus pacotes iniciais são silenciosamente descartados. Esse recurso protege o servidor OpenVPN contra ataques de amplificação DDoS baseados em TLS e oculta que um servidor VPN está em execução.
tls-auth versus tls-crypt
A opção mais antiga tls-auth adiciona uma marca HMAC aos pacotes do canal de controle TLS, mas não os criptografa. Isso impede a injeção de pacotes, mas ainda revela o aperto de mão TLS aos observadores. tls-crypt criptografa e autentica o encapsulamento do canal de controle, oferecendo proteção contra DoS e resistência à análise de tráfego. tls-crypt é a opção moderna recomendada; tls-auth foi descontinuada em favor de tls-crypt-v2.
Autenticação de clientes baseada em certificados
OpenVPN autentica os clientes usando certificados X.509 assinados pela autoridade de certificação da VPN. Cada cliente recebe um certificado exclusivo e uma chave privada. O servidor verifica a cadeia de certificados e pode, opcionalmente, verificar uma Lista de Revogação de Certificados (CRL) para rejeitar certificados revogados. Revogar um certificado remove imediatamente o acesso de um cliente, ao contrário dos sistemas baseados em PSK, nos quais alterar uma chave afeta todos os clientes.
Transporte por UDP versus TCP
OpenVPN pode ser executado sobre UDP (padrão e recomendado) ou TCP. UDP evita o problema do TCP sobre TCP, no qual a perda de pacotes provoca retransmissões duplicadas tanto na camada TCP quanto na camada da aplicação VPN, degradando significativamente o desempenho. No entanto, algumas redes bloqueiam UDP. Executar OpenVPN na porta TCP 443 pode contornar firewalls que permitem apenas tráfego HTTPS, ao custo de desempenho em condições de perda de pacotes.
Modos de interface tun versus tap
OpenVPN opera no modo tun (roteamento) ou no modo tap (ponte). O modo tun cria uma interface de rede IP ponto a ponto, roteando pacotes IP entre o cliente e a rede VPN. O modo tap cria uma interface de ponte Ethernet, encaminhando quadros Ethernet, incluindo transmissões de difusão e protocolos que não são IP. O modo tun é mais eficiente e adequado para a maioria dos casos de uso de VPN; o modo tap é necessário para interligar segmentos de rede ou protocolos que não são IP.
Diretivas de envio para configuração de clientes
Os servidores OpenVPN podem enviar diretivas de configuração automaticamente aos clientes conectados. Entre as diretivas de envio comuns estão push "route 10.0.0.0 255.0.0.0" (adiciona uma rota no cliente), push "dhcp-option DNS 10.0.0.1" (define o servidor DNS) e push "redirect-gateway def1" (roteia todo o tráfego do cliente pela VPN). Isso centraliza o gerenciamento da configuração dos clientes sem modificar os arquivos de configuração individuais.
Sigilo de encaminhamento perfeito no OpenVPN
OpenVPN obtém sigilo de encaminhamento perfeito por meio do ECDHE (Diffie-Hellman efêmero de curva elíptica) no canal de controle. Um novo par de chaves efêmero é usado em cada sessão TLS, portanto a chave da sessão não pode ser derivada da chave privada do certificado de longo prazo do servidor. Mesmo que o tráfego criptografado seja capturado hoje e o certificado do servidor seja obtido posteriormente, ainda não será possível descriptografar as sessões anteriores.
Descontinuação de cifras fracas no OpenVPN 2.5+
O OpenVPN 2.5 tornou obsoleta a cifra Blowfish (BF-CBC), que historicamente era a padrão. BF-CBC usa um tamanho de bloco de 64 bits, vulnerável a ataques de aniversário SWEET32 em sessões longas. O OpenVPN moderno usa AES-256-GCM por padrão. O OpenVPN 2.5 também tornou obsoletas as cifras que não são AEAD no canal de dados e aumentou os requisitos da versão mínima do TLS, abandonando o suporte a TLS 1.0 e 1.1.
Canal de controle versus canal de dados do OpenVPN
Qual é a principal função do canal de controle do OpenVPN?
Recapitulação da arquitetura do OpenVPN
Recapitulação do OpenVPN: o canal de controle usa TLS para autenticação e negociação de cifras, o canal de dados usa a cifra AEAD negociada (AES-256-GCM por padrão), tls-crypt encapsula TLS para impedir apertos de mão não autenticados, ECDHE fornece sigilo de encaminhamento, a autenticação de clientes é baseada em certificados com revogação por CRL, UDP é preferido a TCP por oferecer melhor desempenho e o modo tun é preferido para casos de uso de roteamento IP.
Perguntas Frequentes
A aula “OpenVPN: Arquitetura de VPN Baseada em TLS” é grátis?
Sim — o texto completo de “OpenVPN: Arquitetura de VPN Baseada em TLS” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cryptology Academy, atualize para CoddyKit PRO. O curso de Cryptology Academy inclui 4 aulas no total.
O que vou aprender em “OpenVPN: Arquitetura de VPN Baseada em TLS”?
Estude como o OpenVPN usa TLS para o canal de controle e cifras configuráveis para o canal de dados. Você pratica Cryptology Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Cryptology Academy?
Nenhuma experiência prévia é necessária. Cryptology Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “OpenVPN: Arquitetura de VPN Baseada em TLS”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Cryptology Academy?
Sim. Cada aula de Cryptology Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- IPsec: Protocolos IKEv2, ESP e AH
- WireGuard: VPN com ChaCha20 e Curve25519
- OpenVPN: Arquitetura de VPN Baseada em TLS
- Comparação de Protocolos VPN: Segurança e Desempenho