OpenVPN

OpenVPN

logotipo
Dados básicos

desenvolvedor OpenVPN Technologies, Inc.
Ano de publicação 2002
Versão atual  2.5.3
( 17 de junho de 2021 )
sistema operacional plataforma independente
linguagem de programação C.
categoria Rede Privada Virtual
Licença GPL ( Software Livre )
openvpn.net

OpenVPN é um software gratuito para configurar uma rede privada virtual (VPN) por meio de uma conexão TLS criptografada . OpenSSL ou mbed TLS pode ser usado para criptografia . OpenVPN usa UDP ou TCP para transporte.

OpenVPN está sob a GNU GPL e suporta os sistemas operacionais Linux (por exemplo , Android , Maemo e MeeGo , bem como o roteador Linux OpenWrt ), Solaris , OpenBSD , FreeBSD , NetBSD , macOS , QNX , Windows Vista / 7/8/10, iOS , ainda existem implementações personalizadas para uma variedade de dispositivos finais baseados em Linux, como B. Decodificadores da Dream Multimedia ou para roteadores da linha Fritz! Box da AVM estão disponíveis.

fundo

Freqüentemente, a comunicação segura, que não pode ser lida por terceiros, deve ser realizada por meio de uma rede insegura . Essa rede insegura é a Internet ou uma LAN local sem fio não criptografada . Dois aspectos são essenciais: criptografia suficiente do conteúdo da comunicação e a autenticação dos parceiros de comunicação envolvidos.

Essas propriedades de segurança podem ser fornecidas por qualquer aplicativo usando protocolos adequados (por exemplo , SSH , HTTPS , SFTP ). Alternativamente, essa segurança também pode ser desejável de um ponto central, independente dos aplicativos individuais. As vantagens desta abordagem central residem na implementação única das funções de segurança, o menor esforço de manutenção e a possibilidade de assegurar também a comunicação de software de outros fabricantes, que não pode ser influenciada.

Esse backup fornecido centralmente é uma rede privada virtual (VPN). OpenVPN é uma das muitas implementações de VPN.

funcionalidade

Os parceiros de comunicação podem ser computadores individuais ou uma rede de computadores. Casos de uso típicos são a conexão de funcionários de serviço de campo individuais na rede de sua empresa, a conexão de uma filial com o data center ou a conexão de servidores ou data centers distribuídos localmente entre si. Em qualquer caso, um dos dois participantes da comunicação estabelece a conexão (cliente) e o outro aguarda as conexões de entrada (servidor). Para fazer isso, o servidor deve ser acessível com um endereço IP fixo ou com um nome de host fixo . Para computadores que são confrontados com endereços IP em constante mudança devido a conexões dial-up, isso também pode ser feito com a ajuda de um serviço DNS dinâmico .

Se houver um filtro de pacotes ou proxy na frente do gateway VPN ou uma tradução de endereços ( NAT ) for realizada, esses serviços devem ser configurados de forma que uma porta UDP ou TCP atribuída na configuração do OpenVPN seja permitida para entrada, avanço e saída. Uma instância do servidor OpenVPN só pode ser configurada para uma porta e um protocolo. A operação mista, na qual uma conexão de cliente é opcionalmente possível em TCP ou UDP, só pode ser implementada com duas instâncias de servidor em execução em paralelo. Após a fase beta da versão 2.0, o OpenVPN mudou da porta padrão 5000 para a porta 1194, que foi registrada para OpenVPN. A porta específica usada pode ser alterada na configuração conforme necessário.

Reconhecibilidade

As conexões OpenVPN podem ser reconhecidas trivialmente por meio de uma inspeção profunda do pacote nos dados de cabeçalho conhecidos dos pacotes transmitidos, independentemente do protocolo ou da porta usada. Embora a inspeção profunda de pacotes não possa determinar o conteúdo no túnel criptografado, ela pode, por exemplo, bloquear a conexão, determinar o parceiro de comunicação e registrar os dados relevantes. Este ponto é particularmente importante se o uso de conexões VPN não é permitido em certos ambientes, por exemplo em países que proíbem conexões de comunicação criptografadas ou sob a lei civil ao contornar bloqueios de rede em redes de empresas.

Modos de operação

O OpenVPN conhece dois modos de operação: Routing e Bridging que são mostrados nas seções a seguir.

Encaminhamento

O modo de roteamento é a forma mais simples de comunicação segura e fornece um túnel criptografado entre duas estações remotas aqui, são canalizadas através dos únicos pacotes IP ( Camada 3 ). Para este efeito, cada estação remota é atribuído um endereço IP virtual de uma sub-rede fictícia (por exemplo, 10.8.0.1 e 10.8.0.2).

Em princípio, o acesso direto à rede não é possível (conexão ponto a ponto). Para chegar aos endereços lá, a estação remota deve encaminhar os pacotes de dados usando o encaminhamento de IP e as entradas na tabela de roteamento ou usar a tradução de endereços de rede .

Ponte

Em contraste com o roteamento, o tunelamento completo de quadros Ethernet ( camada 2 ) é possível no modo de ponte . Por exemplo, permite o uso de protocolos alternativos, como IPX e o envio de pacotes Wake-On-LAN .

Um cliente se integra de forma totalmente transparente à rede dial-up e recebe um endereço IP para a sub-rede, de modo que as transmissões também possam ser encaminhadas. O último é particularmente necessário para a resolução automática de nomes do Windows do protocolo SMB.

Para poder se conectar à sub-rede existente, a placa de rede virtual usada pelo OpenVPN, o chamado dispositivo TAP , deve ser conectada à rede real por meio de uma ponte de rede.

Bridging é um pouco mais ineficiente do que roteamento (menos escalável). Além disso, restringir o acesso do cliente é mais difícil de gerenciar do que o roteamento.

Autenticação

O OpenVPN fornece dois métodos essenciais para autenticação:

Chave Pré-Compartilhada

Ao trocar uma “ chave pré-compartilhada ” (uma chave estática / senha), os dados são criptografados e descriptografados com ela. Este procedimento é fácil de usar. É usado, por exemplo, por provedores comerciais de proxy que também oferecem serviços de anonimato baseados em OpenVPN. Este método tem duas desvantagens:

  • A chave pode ser comprometida por manuseio impróprio (por exemplo, escrever para que a destruição seja esquecida após o uso)
  • Ataques Brutforce na chave semelhante a uma senha

Portanto, a chave selecionada deve ser gerada em comprimento suficiente e consistir no maior conjunto de caracteres possível. A chave em si não deve ser escolhida como uma senha. O armazenamento da chave deve ser reduzido ao mínimo, visto que a chave está disponível apenas nos terminais da conexão VPN. Anotar ou inserir a chave em um sistema de gerenciamento de senha representa um risco de segurança adicional. A chave pré-compartilhada no dispositivo final deve ser criptografada com uma senha para não colocar a rede em perigo se o dispositivo for perdido.

Certificados

Ao usar a autenticação baseada em certificado por meio do protocolo TLS , são usados pares de chaves privadas e públicas ou certificados X.509 .

O servidor e os respectivos usuários têm cada um seu próprio certificado (público / privado). O servidor OpenVPN só permite conexões que foram assinadas por uma autoridade de certificação conhecida por ele . OpenVPN contém scripts que permitem a criação simples de certificados sem qualquer conhecimento prévio baseado em OpenSSL (easy-rsa).

Para estabelecer uma conexão, o cliente envia dados ao servidor ( versão SSL e dados aleatórios). O servidor envia de volta os mesmos dados e seu certificado. O cliente autoriza o certificado. Com a autenticação bilateral, o cliente também envia seu certificado para o servidor. Se a verificação funcionar, o cliente cria o “ segredo pré-mestre ” e o criptografa com a chave pública do servidor. O servidor descriptografa os dados com sua chave privada e cria o " segredo mestre ". Isso é usado para criar chaves de sessão. Essas são chaves exclusivas usadas para criptografar e descriptografar os dados. O cliente informa ao servidor que a partir de agora todos os dados serão criptografados com a chave de sessão. O servidor confirma isso, o túnel é estabelecido. Após um certo período de tempo, o OpenVPN substituirá automaticamente a chave de sessão.

A autenticação baseada em certificado é considerada a forma mais segura de login. Para aumentar a segurança, é aconselhável terceirizar os certificados para um cartão inteligente . OpenVPN oferece suporte a todos os cartões que podem ser acessados usando Windows Crypto API ou PKCS # 11.

Termina em frente

Além da linha de comando, existem vários front -ends gráficos para OpenVPN . Portanto, exista z. B. a GUI OpenVPN para Windows , o programa Tunnelblick para macOS , OpenVPN-Admin , um frontend baseado em C # escrito em Mono , KVpnc, um aplicativo integrado ao K Desktop Environment , bem como uma integração ao NetworkManager ( Gnome e K Desktop Meio Ambiente).

Abaixo está uma lista de programas populares para cada sistema operacional e dispositivo:

janelas

  • GUI OpenVPN
  • OpenVPN MI GUI, uma modificação da GUI original que usa a interface de gerenciamento OpenVPN e não requer direitos de administrador.
  • Administrador OpenVPN
  • Securepoint OpenVPN Client Windows, não requer direitos de administrador e tem algumas funções de conforto (salvar senhas etc.).
  • Viscosidade (comercial)

Mac OS

  • Visão de túnel
  • Viscosidade
  • Shimo

iOS

  • GuizmOVPN
  • OpenVPN Connect (versão oficial)

Linux

OpenWRT

  • OpenVPN HowTo

Fritz! Box

  • Fritz! Box OpenVPN HowTo
  • Freetz OpenVPN HowTo
  • Plug-in OpenVPN para GP3

Caixa de sonhos

  • Plug-in OpenVPN para GP3

Android

  • OpenVPN Connect (versão oficial)
  • OpenVPN para Android sem root por Arne Schwabe

Maemo

  • OpenVPN para Maemo 5

literatura

  • Dirk Becker: OpenVPN - Das Praxisbuch, edição atualizada e ampliada . Galileo Computing, Bonn 2011, ISBN 978-3-8362-1671-5 .
  • Johannes Bauer, Albrecht Liebscher, Klaus Thielking-Riechert: OpenVPN . dpunkt, Heidelberg 2006, ISBN 3-89864-396-4 .
  • Sven Riedel: OpenVPN - curto e bom . O'Reilly, Cologne 2007, ISBN 978-3-89721-529-0 .
  • Thomas Zeller: OpenVPN compacto . bomots, Saarbrücken 2008, ISBN 978-3-939316-51-0 .

Links da web

Evidência individual

  1. a b Compatibilidade de protocolo. OpenVPN Technologies, acessado em 17 de fevereiro de 2016 .
  2. Versão 2.5.3 . 17 de junho de 2021 (acessado em 21 de junho de 2021).
  3. O projeto de código aberto openvpn na página Open Hub: Idiomas . In: Open Hub . (acessado em 18 de julho de 2018).
  4. Como ocultar o tráfego OpenVPN - uma introdução. Recuperado em 18 de setembro de 2018 .
  5. Visão geral da segurança. OpenVPN Technologies, acessado em 17 de fevereiro de 2016 .
  6. Rede privada virtual - diretrizes BSI sobre segurança na Internet. Federal Office for Information Security , 2009, acessado em 18 de setembro de 2018 .
  7. GUI do cliente
  8. Heise - cliente oficial OpenVPN para iOS