Sunteți pe pagina 1din 10

Open VPN

Felipe Boeira1 , Gustavo Freitas2, Marcelo Borba3, Rafael Dreher4 Universidade do Vale do Rio dos Sinos (UNISINOS) CEP 93.022-000 So Leopoldo RS Brasil
{felipecboeira, gustavo.brasilino, celoborba, rafael.dreher}@gmail.com

Abstract. This paper describes the implementation of a VPN site-to-Multisite Centralized with OpenVPN in full-mesh model, applying authentication and cryptography with the use of digital certificates. The VPN will provide bidirectional communication between the networks configured as site-to-site, making the networks fully interconnected providing the most diverse services that may be necessary, since the client-to-access site will provide customers, access to all resources available. The configuration of sites and stations shall be made using the Debian distribution and OpenVPN for Windows, both sites use firewalls configured to enhance security. The configuration files of the servers will be created in order to use compression, encryption, dynamic routing and VPN features to keep the VPN`s availability. Resumo. Este artigo descreve a implementao de uma VPN site-to-Multisite centralizada com OpenVPN, no modelo full-mesh, aplicando autenticao e criptografia certificados digitas. A VPN vai prover comunicao bidirecional entre as redes configuradas como site-to-site, tornando as redes totalmente interligadas provendo os mais diversos servios que se fizerem necessrios, j o acesso client-to-site vai prover aos clientes, acesso a todos os recursos disponveis. A configurao dos sites e estaes sero feitas utilizando a distribuio Debian e OpenVPN para Windows, ambos os sites utilizaro firewall configurada para reforar a segurana. Os arquivos de configurao dos servidores sero efetuados de forma a utilizar compactao, criptografia, roteamento dinmico e recursos para manter a vpn sempre em funcionamento. 1. Informaes Gerais O OpenVPN um software livre e open-source para criar redes virtuais privadas do tipo ponto-a-ponto ou server-to-multiclient atravs detneis criptografados entre computadores. Ele capaz de estabelecer conexes diretas entre computadores mesmo que estes estejam atrs de Nat Firewalls sem necessidade de reconfigurao da sua rede. O OpenVPN permite autenticao ponto-a-ponto atravs de chaves pr compartilhadas, certificados digitais ou autenticao com usurio e senha. Quando utilizado em modo multiclient-server ele permite que cada cliente utilize a autenticao pblica com certificados digitais, fazendo isto atravs de assinaturas digitais e certificados de autoridade. Ele utiliza extensivamente a criptografia OpenSSL. Usa tambm os protocolos SSLv3/TLSv1. Esta disponvel para Solaris, Linux, OpenBSD, FreeBSD, NetBSD, Mac OS X, e Windows 2000/XP/Vista. Ele contm muitos recursos

de controle se segurana. Ele no um cliente VPN baseado em web, no compatvel com Ipsec ou qualquer outro tipo de pacote VPN. Todo pacote do OpenVPN consiste em apenas um binrio tanto para conexes do lado do cliente quanto para conexes do lado do servidor, voc vai encontrar mais alguns arquivos e chaves dependendo do tipo e mtodo de autenticao utilizado. Eventualmente utilizado por gamers como uma maneira de acessar jogos LAN fora da intranet pela internet.

1.1 DIAGNSTICO A prefeitura municipal de Garibaldi est alocada em um prdio construdo no ano de 1992, a edificao foi projetada para atender uma rede de 200 computadores e telefonia proporcionalmente a esta quantidade de estaes. Atualmente a instituio conta com mais de 700 funcionrios e possui 550 estaes espalhadas em departamentos situados em diversos locais da cidade, o sistema de gesto est sendo implantado e ampliado para todos os setores como meio ambiente, educao e sade.

1.2 NECESSIDADE O sistema de gesto adquirido pela prefeitura roda em plataforma WEB, alm disso, emails, voz e controle de efetividade sero centralizados e gerenciados atravs de servio localizado no centro administrativo. Os dois principais departamentos que faro uso de tecnologia neste novo contexto se encontram em prdios diferentes localizados em dois bairros distintos do municpio, alm disso, existe a solicitao por parte do prefeito e vice-prefeito, para poder acessar todos os recursos disponveis no Centro Administrativo quando estes estiverem ausentes.

1.3 DESCRIO DA SOLUO A soluo escolhida para atender a demanda foi a implantao de uma Rede Virtual Privada no modelo full-mesh (client-to-site / site-to-site) entre o Centro Administrativo, Secretaria do Meio Ambiente, Posto de Sade Central e notebooks do prefeito e viceprefeito. A ferramenta a ser utilizada software OpenVPN com autenticao e criptografia. A VPN vai prover comunicao bidirecional entre as redes configuradas como site-to-site tornando as redes totalmente interligadas provendo os mais diversos servios que se fizerem necessrios, j o acesso client-to-site vai prover aos clientes, acesso a todos os recursos disponveis no Centro Administrativo; O software OpenVpn ser configurado de forma a utilizar autenticao com chave prcompartilhada de 2048 bits e utilizao de canais seguros com a implementao de SSL atravs do uso de certificados (Chave Pblica - PKI) de 1024 bits RSA gerados por um servidor especfico localizado no CA., a troca de chaves entre servidor e cliente ser feita utilizando-se parmetros Diffie-Helmann de 1024 bits.Todo o processo de autenticao e a criptografia se dar com a utilizao destes certificados (cliente e servidor) garantindo o estabelecimento de um canal seguro primando pela integridade e confidencialidade.

A configurao dos sites e estaes sero feitas utilizando a distribuio Debian e OpenVPN GUI para Windows, ambos os sites (Meio Ambiente, Posto Sade Central) utilizaro firewall configurada para reforar a segurana. Os arquivos de configurao dos servidores sero efetuados de forma a utilizar compactao, criptografia, roteamento dinmico e recursos para manter a vpn sempre em funcionamento.

1.4 IMPLEMENTAO Na implementao sero efetuados alguns testes para verificao de desempenho e segurana utilizando as opes disponveis no openvpn e captura de trfego com o software Wireshark. 2. Instalao

A instalao do OpenVPN pode ser encontrado nos resposirios. Dependncias necessrias so: openssl lzo pam openssl-devel lzo-devel pam-devel

Em windows necessrio fazer o download no prprio site e fazer a instalao. 3. Descrio da Soluo O software OpenVpn ser configurado de forma a utilizar autenticao com chave prcompartilhada de 2048 bits e utilizao de canais seguros com a implementao de SSL atravs do uso de certificados (Chave Pblica - PKI) de 1024 bits RSA gerados por um servidor especfico localizado no CA., a troca de chaves entre servidor e cliente ser feita utilizando-se parmetros Diffie-Helmann de 1024 bits.Todo o processo de autenticao e a criptografia se dar com a utilizao destes certificados (cliente e servidor) garantindo o estabelecimento de um canal seguro primando pela integridade e confidencialidade. 3.1 Descrio do Cenrio
Centro Administrativo: o Link 1 IP 189.74.232.81/28 2Mbps rdio 5.4Ghz; o Link2 IP 189.74.232.82/28 2Mbps fibra mm; o Servidores localizados na DMZ; o Servidor Openvpn com perfil de concentrador de VPN; o Rede local 192.168.1.0/24; o VPN 172.16.0.0/24

o VPN 172.16.0.1/24 o VPN 172.16.0.3/24 o Firewall/Proxy configurado para VPN; Secretaria do Meio Ambiente: o Link 1 IP 189.74.232.83/28 512Kbps rdio 5.4Ghz; o Servidor Openvpn fazendo as conexes com os sites CA e Posto Sade; o Rede local 192.168.3.0/24; o VPN1 172.16.1.0/24; o VPN2 172.16.2.0/24; o Firewall/Proxy configurado para VPN; Posto de Sade Central: o Link 1 IP 189.74.232.84/28 512Kbps rdio 5.4Ghz; o Servidor Openvpn fazendo as conexes com os sites CA e Meio Ambiente; o Rede local 192.168.4.0/24; o VPN1 172.16.0.0/24; o VPN2 172.16.2.0/24; o Firewall/Proxy configurado para VPN; Clientes client-to-site: o VPN com ip recebido do servidor do CA (range: 172.16.1.5-100); o Rede local com ip dinmico;

4. Cenrio

Figura1. Topologia implementada

Figura 2. Topologia VPN detalhada

5. Testes 5.1 LZO TESTE PING COM COMPACTACAO (65K) marcelo@marcelo-desktop:~$ ping -s 65507 192.168.1.254 PING 192.168.1.254 (192.168.1.254) 65507(65535) bytes of data. 65515 bytes from 192.168.1.254: icmp_seq=2 ttl=63 time=48.2 ms 65515 bytes from 192.168.1.254: icmp_seq=4 ttl=63 time=25.3 ms 65515 bytes from 192.168.1.254: icmp_seq=5 ttl=63 time=22.1 ms 65515 bytes from 192.168.1.254: icmp_seq=6 ttl=63 time=22.1 ms 65515 bytes from 192.168.1.254: icmp_seq=7 ttl=63 time=20.8 ms 65515 bytes from 192.168.1.254: icmp_seq=8 ttl=63 time=22.5 ms 65515 bytes from 192.168.1.254: icmp_seq=9 ttl=63 time=20.0 ms 65515 bytes from 192.168.1.254: icmp_seq=10 ttl=63 time=22.7 ms TESTE PING SEM COMPACTACAO (65K) root@marcelo-desktop:/etc/openvpn# ping -s 65507 192.168.1.254 PING 192.168.1.254 (192.168.1.254) 65507(65535) bytes of data. 65515 bytes from 192.168.1.254: icmp_seq=1 ttl=64 time=36.8 ms

65515 bytes from 192.168.1.254: icmp_seq=2 ttl=64 time=28.8 ms 65515 bytes from 192.168.1.254: icmp_seq=3 ttl=64 time=28.0 ms 65515 bytes from 192.168.1.254: icmp_seq=4 ttl=64 time=29.8 ms 65515 bytes from 192.168.1.254: icmp_seq=5 ttl=64 time=28.0 ms 65515 bytes from 192.168.1.254: icmp_seq=6 ttl=64 time=28.2 ms 65515 bytes from 192.168.1.254: icmp_seq=7 ttl=64 time=32.7 ms Compactado => valor mdio = 21 ms No compactado => valor mdio = 29 ms Ganho em performance de 27,58% 5.2 Teste de redundncia Para testar a redundncia estabelecemos uma vpn entre o Centro Administrativo e o Posto de Saude Central e iniciamos o comando ping. A partir deste momento, no Centro Administrativo desativamos o link onde esta VPN estava estabelecida. Imediatamente iniciou-se o processo de reconexo com Centro Administrativo e, utilizando a opo remote-random, automaticamente apontou para o link alternativo. A perda de pacotes foi insignificante. O segundo teste de redundncia foi efetuado entre o Posto de Sade Central e a Secretaria do Meio Ambiente, iniciamos o teste com apenas um link ativo no servidor, e ento iniciamos o comando ping (a partir do Posto de Saude Central) com destino ao Centro Administrativo. Logo aps, a VPN entre o Posto de Saude Central e o Centro Administrativo foi interrompida e neste momento o servidor do Posto de Saude Central conhecia duas rotas para chegar ao CA. Depois de passado o tempo limite (inactive) o tnel foi derrubado e a unidade passou a enviar os pacotes pela segunda alternativa. H duas maneiras de fornecer este tipo de redundncia, podemos faz-la com os tempos mais limitados de keep-alive e inactive ou ento desabilitar a opo persist-tun, esta ltima faz com que ao perdamos a conexo de vpn, automaticamente o tnel desativado e as rotas, da mesma forma, apagadas 6. Configuraes utilizadas
# VPN SECRETARIA MEIO AMBIENTE (SITE-TO-SITE) proto udp port 15000 dev tun push "route 192.168.1.0 255.255.255.0" push "route 192.168.4.0 255.255.255.0" ifconfig 172.16.1.1 172.16.1.2 comp-lzo keepalive 10 120

persist-key persist-tun float max-clients 10 tls-server verb 3 dh /etc/openvpn/keys/dh1024.pem ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/servidor.crt key /etc/openvpn/keys/servidor.key # VPN POSTO DE SAUDE proto udp port 10000 dev tun push "route 192.168.1.0 255.255.255.0" push "route 192.168.3.0 255.255.255.0" ifconfig 172.16.0.1 172.16.0.2 comp-lzo keepalive 10 120 persist-key persist-tun float max-clients 10 tls-server verb 3 dh /etc/openvpn/keys/dh1024.pem ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/servidor.crt key /etc/openvpn/keys/servidor.key #CLIENTE MEIO AMBIENTE remote 189.74.232.81 proto udp port 15000 client ifconfig 172.16.1.2 172.16.1.1 dev tun comp-lzo keepalive 10 120 persist-key persist-tun float dh /etc/openvpn/keys/dh1024.pem ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/meio.ambiente.crt key /etc/openvpn/keys/meio.ambiente.key

#POSTO DE SADE CENTRAL remote 189.74.232.81 proto udp port 10000 ifconfig 172.16.0.2 172.16.0.1 client dev tun verb 3 comp-lzo keepalive 10 120 persist-key persist-tun float dh /etc/openvpn/keys/dh1024.pem ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/ps.central.crt key /etc/openvpn/keys/ps.central.key

#CLIENTE PREFEITO dev tun remote 189.74.232.81 remote 189.74.232.82 remote 189.74.232.83 remote-random proto tcp-client port 1194 client comp-lzo keepalive 10 120 persist-key persist-tun float dh /etc/openvpn/keys/dh1024.pem ca /etc/openvpn/keys/ca.crt cert /keys/prefeito.crt key /keys/prefeito.key #CLIENTE VICE dev tun remote 189.74.232.81 remote 189.74.232.82 remote 189.74.232.83 remote-random proto tcp-client port 1194 client comp-lzo keepalive 10 120 persist-key

persist-tun float dh /etc/openvpn/keys/dh1024.pem ca /etc/openvpn/keys/ca.crt cert /keys/vice.crt key /keys/vice.key

6.1 Descrio das opes proto - Prococolo a ser utilizado para comunicao com o host remoto. Suas opes so udp, tcp-client ou tcp-server. A opo padro a ser utilizada udp quando proto no especificada. Para comunicao udp, proto udp deve ser especificado em ambos hosts. Para operao tcp, o servidor deve ter a opo 'proto tcp-server' e o cliente 'proto tcpclient'. remote - define o nome de host ou ip remoto. No cliente, mltiplas opes 'remote' podem ser especificadas para redundncia, cada uma referindo-se para um servidor OpenVPN diferente. O cliente ir tentar conectar-se ao servidor na ordem especificada pela lista de opes 'remote'. Desta maneira, ele ir continuar para o prximo host na lista em caso de uma falha na conexo. Se o host um nome DNS que resolvido para mltiplos endereos IP, um deles ser escolhido de forma randmica, oferecendo um tipo de balanceamento de carga bsico e capacidade livre de falhas. remote-random - quando mltiplos endereos 'remote' so especificados, inicialmente randomiza a ordem da lista como um tipo de balanceamento de carga bsico. dev - dispositivo de rede virtual TUN/TAP. Ambos os hosts devem utilizar o mesmo tipo de interface para que a conexo funcione j que o tun encapsula IPv4 enquando o TAP encapsula ethernet 802.3. port - nmero de porta TCP/UDP para ambos hosts locais e remotos. comp-lzo - utiliza compresso LZO. Pode adicionar at 1 byte por pacote de dados incompactveis. keepalive - Faz com que o servidor e o cliente monitorem a conexo, enviando pings peridicos um para o outro e reiniciem a VPN automaticamente caso no recebam resposta dentro de um perodo determinado. persist-key - esta opo determina que as chaves devem permancecer carregadas quando uma conexo reestabelecida. float - a opo float permite que o tnel continue aberto mesmo que o endereo IP da outra mquina mude. persist-tun - no fecha e reabre dispositivos TUN/TAP ou execute scripts up/down em reinicializaes. 7. Referncias

Morimoto, Carlos (2009) Servidores Linux Guia Prtico http://pt.wikipedia.org/wiki/OpenVPN http://efrazao.wordpress.com/2009/09/29/vpn-site-to-multisite-centralizada-comopenvpn/ http://openvpn.net/index.php/open-source/documentation/manuals/65-openvpn-20xmanpage.html

S-ar putea să vă placă și