UP | HOME

LPI-2 202-450 Topico 212.5
OpenVPN

Índice

212.5 OpenVPN - Objetivos

Peso 2

O candidato deve ser capaz de configurar uma VPN (Virtual Private Network ou rede privada virtual em tradução nossa) a criar conexões seguras ponto-a-ponto ou site-a-site;

Conhecimentos-chave:

Lista parcial dos arquivos, termos e ferramentas utilizados:

212.5 OpenVPN - Conteúdo

Imagine que você está trabalhando para uma empresa. E a você foi solicitado fornecer acesso seguro à lan da empresa para outro usuário ou filial remota da empresa. O problema é que nosso tráfego deve ser transferido pela internet, que é roteada e não confiável. A solução é VPN.

VPN (Virtual Private Network ou rede privada virtual) é uma solução tecnológica usada para prover privacidade e segurança para conexções de rede.

  • É virtual pois é como se estivéssemos em uma conexão direta com o outro computador ao qual conectamos;
  • É privada porque todo o tráfego é criptografado e ninguém conseguirá extrair dados se os pacotes forem capturados;
  • É uma rede pois pode-se conectar vários computadores independentes dentro de um mesmo escopo ou domínio.

Normalmente, a criptografia adicionada é SSL/TLS, que usa certificados para garantir que a conexão seja criptografada e estabelecida também entre partes confiáveis.

Existem dois tipos de conexão VPN:

Ponto a ponto

a VPN mais comumente usada. VPNs PPTP são usadas por usuários remotos para conectá-los à rede VPN usando sua conexão de Internet existente. Esta é uma VPN útil para usuários comerciais e domésticos.

diag-ovpn-s2c.png

Figura 1: Diagrama vpn ponto a ponto ou Client to Site

Site to Site

é usado principalmente em operações baseadas em empresas. O fato de que muitas empresas têm escritórios localizados nacional e internacionalmente, uma VPN Site to Site é usada para conectar a rede do escritório principal a vários escritórios. Isso também é conhecido como VPN baseada em intranet.

diag-ovpn-s2s.png

Figura 2: Diagrama VPN site to site

OpenVPN

OpenVPN é um aplicativo de software livre licenciada sob a GNU GPLv2 que implementa técnicas de rede privada virtual (VPN) para criar conexões seguras ponto a ponto ou site a site.

O OpenVPN pode usar uma variedade de métodos, como chaves secretas pré-compartilhadas, certificados ou nomes de usuário/senhas, para permitir que os clientes se autentiquem no servidor. O OpenVPN usa o protocolo OpenSSL e implementa muitos recursos de segurança e controle, como autenticação de resposta de desafio, capacidade de logon único, balanceamento de carga e recursos de failover e suporte a vários daemon.

Por padrão, o OpenVPN funciona na porta 1194 UDP, mas o OpenVPN é plenamente capaz de atravessar firewalls de forma transparente, especialmente quando a porta padrão é alterada para 443.

O diretório de configuração do OpenVPN

Após instalado os arquivos de configuração do OpenVPN devem residir no diretório /etc/openvpn/. Porém por padrão após a instalação este diretório fica vazio. Portanto precisamos criar nossos próprios arquivos de configuração ou podemos facilmente copiar arquivos de configuração de amostra de /usr/share/doc/openvpn-x para o diretório /etc/openvpn e modificá-los (da maneira mais simples).

┌─[root@Debianlpi]──[18:24]──[~]
└─[1007]─># tree /usr/share/doc/openvpn-2.4.6/
/usr/share/doc/openvpn-2.4.6/
├── AUTHORS
├── ChangeLog
├── Changes.rst
├── contrib
│   ├── OCSP_check
│   │   └── OCSP_check.sh
│   ├── openvpn-fwmarkroute-1.00
│   │   ├── fwmarkroute.down
│   │   ├── fwmarkroute.up
│   │   └── README
│   ├── pull-resolv-conf
│   │   ├── client.down
│   │   └── client.up
│   └── README
├── COPYING
├── COPYRIGHT.GPL
├── management-notes.txt
├── README
├── README.auth-pam
├── README.down-root
├── README.systemd
└── sample
    ├── sample-config-files
    │   ├── client.conf
    │   ├── firewall.sh
    │   ├── home.up
    │   ├── loopback-client
    │   ├── loopback-server
    │   ├── office.up
    │   ├── openvpn-shutdown.sh
    │   ├── openvpn-startup.sh
    │   ├── README
    │   ├── roadwarrior-client.conf
    │   ├── roadwarrior-server.conf
    │   ├── server.conf
    │   ├── static-home.conf
    │   ├── static-office.conf
    │   ├── tls-home.conf
    │   ├── tls-office.conf
    │   ├── xinetd-client-config
    │   └── xinetd-server-config
    ├── sample-scripts
    │   ├── auth-pam.pl
    │   ├── bridge-start
    │   ├── bridge-stop
    │   ├── ucn.pl
    │   └── verify-cn
    └── sample-windows
        └── sample.ovpn

8 directories, 41 files

De modo geral os arquivos válidos de configuração do OpenVPN em sistemas GNU/Linux devem conter o apêndice .conf.

client
dev tun
proto udp
remote 207.38.12.46
nobind

A primeira linha do arquivo de exemplo determina que a conexão a subir será uma conexão cliente de OpenVPN. A diretiva dev indica qual tipo de interface virtual a utilizar. A diretiva proto indica o protoclolo TCP ou UDP e, por fim, na diretiva remote especificamos o endereço de IP do servidor OpenVPN a se conectar (nesse campo também poderíamos usar um FQDN), por fim nobind informa ao OpenVPN-client a escolher uma porta dinâmica de origem ao se conectar com o OpenVPN-Server.

Autor: Jeremias Alves Queiroz

Criado em: 2021-12-19 dom 13:04

Valid XHTML 1.0 Strict