Você está na página 1de 27

UNISINOS TECNLOGO EM SEGURANA DA INFORMAO REDES VIRTUAIS PRIVADAS

Fausto Levandoski Leonardo Petroli Marcos Rubi Osiel Oliveira Rafael Fialho Vanessa Fernandes

OPENVPN

SO LEOPOLDO 2010

Fausto Levandoski Leonardo Petroli Marcos Rubi Osiel Oliveira Rafael Fialho Vanessa Fernandes

OPENVPN

Trabalho da disciplina de Redes Virtuais Privadas, para obteno parcial da nota do grau B do curso superior em Segurana da Informao.

Professor: Jferson Prevedello

So Leopoldo 2010

RESUMO Neste artigo sero abordados a definio de OpenVPN e um breve histrico sobre seu surgimento e evoluo. Ser explicado o funcionamento deste, quais topologias foram implementadas neste trabalho, sua justificativa e benefcios, seu uso sobre SSL versus IPSec e utilizao de compatctao LZO. Por fim ser apresentada a implementao em infraestrutura que ser descrita ao longo do artigo. Palavras-chave: OpenVPN, SSL, TLS, IPSec, LZO.

SUMRIO

1. 2. 3.

INTRODUO...................................................................................................................... 5 HISTRICO.......................................................................................................................... 5 OPENVPN ............................................................................................................................ 6 3.1. 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.5.1 CARACTERSTICAS..................................................................................................... 7 CRIPTOGRAFIA ....................................................................................................... 8 AUTENTICAO ...................................................................................................... 8 REDE ........................................................................................................................ 8 SEGURANA ........................................................................................................... 9 SSL ........................................................................................................................... 9 COMPARATIVO COM IPSec .................................................................................. 11

3.1.5.1.1 O PROTOCOLO SSL ............................................................................................. 12 3.1.5.1.2 PROTOCOLO IPSec X PROTOCOLO SSL ............................................................ 13 3.1.6 4. 5. 6. COMPRESSO....................................................................................................... 16

CONCLUSES................................................................................................................... 17 REFERNCIAS BIBIBLIOGRFICAS ................................................................................. 18 ANEXO 1 - Manual ............................................................................................................. 20

1. INTRODUO OpenVPN um software livre e open source para redes virtuais privadas cujo objetivo fornecer acesso seguro e escalvel viabilizando a criao de tneis criptografados do tipo site-to-site ou client-to-site. Se beneficia da eficincia,

estabilidade e segurana oferecida pelos protocolos TLS/SSL sendo que tais caractersticas so decorrentes de exaustivas anlises a procura de falhas. No modelo Site-to-Site a autenticao pode ser estabelecida atravs de chaves secretas compartilhadas, certificados digitais ou atravs da digitao de usurio e senha. Nas topologias cliente-to-site permite que os usurio utilizem a autenticao pblica com certificados digitais utilizando extensivamente a criptografia OpenSSL. Utiliza os protocolos SSLv3 eTLSv1. Ele viabiliza o estabelecimento de conexes diretas entre computadores mesmo que esses se encontrem atrs de Nat ou Firewalls. O software est disponvel para diversos ambientes computacionais tais como Solaris, Linux, *BSD, Mac OS X, Windows 2000/XP/vista/Windows 7, no compatvel com Windows 98. importante lembrar que o OpenVpn tambm no compatvel com IPsec ou outro pacote Vpn. 2. HISTRICO O Openvpn entrou na cena das solues vpn em 13 de maio de 2001 com uma verso inicial (0.9) que apenas construa tneis de pacotes IP sobre UDP, utilizava criptografia com a cifra simtrica Blowfish e as assinaturas SHA e HMAC. A verso 1.0 foi liberada em maro de 2002 e fornecia autenticao e troca de chaves baseada em SSL/TLS. A partir de ento o desenvolvimento da OpenVPN deslanchou e apenas cinco anos depois foi entregue a verso 1.0.2 com adaptaes para sitemas que utilizam Redhat Package Manager (RPM). Na verso 2 feita entre novembro de 2003 e fevereiro de 2004 trazia a funcionalidade de conectar multplos clientes em um servidor utilizando a mesma porta, que uma das ferramentas mais marcantes hoje em dia. Foi adicionado tambm o telnet.

Haviam em torno de 29 verses de teste, 20 verses beta e 21 candidatas a serem disponibilizadas. Isso s era possvel porque havia um grande nmero de desenvolvedores contribuindo no projeto, ajustando bugs e melhorando a performance e estabilidade permanentemente. 3. OPENVPN OpenVPN uma excelente soluo para VPN que implementa conexes de nvel 2 ou 3 da camada OSI, usa os padres SSL/TLS para criptografar. Sua principal desvantagem que h poucos fabricantes de hardware que o integrem em suas solues. De qualquer maneira h um grande crescimento da utilizao de sistemas operacionais e solues Linux no qual poderemos implementar sem nenhum problema via software. Seus principais objetivos so: Fazer um tnel entre sub-redes ou adaptadores virtuais a partir de um porto TCP ou UDP. Configurar vrios servidores com distribuio de carga para conseguir atender milhares de pedidos de ligaes VPN de clientes. Usar toda a biblioteca de criptografia e autenticao do OpenSSL para proteger a rede de acessos indevidos. Usar qualquer cifra, tamanho da chave, ou algoritmo de integridade suportado pela biblioteca do OpenSSL. Escolher entre algoritmos de criptografia simtrica ou assimtrica. Utilizar algoritmos de compresso para diminuir o trfego na rede. Configurar tneis entre clientes com IP dinmico. Tneis seguros sem ter que utilizar regras especificas nas firewalls. Tneis entre NAT

3.1. CARACTERSTICAS Como mencionado anteriormente, ele utiliza os protocolos SSL/TLS, o protocolo TLS (Transport Layer Security) uma verso atualizada do SSL verso 3, originalmente criado pela Netscape. Os dois protocolos so bastante semelhantes, embora no possam interoperar diretamente entre si. O TLS/SSL fornece um servio de comunicao segura entre cliente e servidor, permitindo autenticao mtua e garantindo a integridade dos dados pelo uso de assinaturas digitais e privacidade pelo uso de criptografia. Ele implementado como uma camada adicional entre o TCP/IP e os protocolos de nvel superior tais como HTTP, SMTP, etc. Sua implementao em web browsers a mais conhecida dos usurios da Internet, oferecendo autenticao e encriptao baseada em sesso. O protocolo SSL (Secure sockets Layer), o predecessor do TLS e criptografa os segmentos de sesso acima da camada de transporte utilizando criptografia simtrica e um cdigo de autenticao da mensagem para assegurar a confiabilidade da mensagem. Em comparao com outras ferramentas pode ser considerado Multiplataforma de acordo com a quantidade de ambientes computacionais os quais suportam a tecnologia. Tem suporte a IP dinmico e NAT. Define uma negociao de endereamento IP entre o servidor VPN e seus clientes. Isso elimina configuraes manuais do protocolo IP. capaz de construir um tnel em qualquer subrede ou adaptador ethernet virtual em cima de uma nica porta UDP ou TCP. Pode-se usar toda a encriptao, autenticao e caractersticas de certificao da biblioteca OpenSSL para proteger o trfico da sua rede privada enquanto ele trafega pela internet. Utiliza qualquer chave, ou compilador HMAC (Hash-based Message Authentication Code) suportado pela biblioteca OpenSSL. possvel escolher entre chave-esttica baseada em encriptao convencional (criptografia simtrica) ou chave-pblica baseada em certificao (criptografia assimtrica). Utiliza chaves estticas pr-compartilhadas ou baseadas em troca dinmica de chaves TLS.

Pode construir um tnel em rede na qual o ponto final seja dinmico como DHCP ou clientes discados. Possibilita a criao de pontes ethernet seguras usando virtual tap devices, e controlar o OpenVPN usando uma GUI no Windows ou Mac OS X.

3.1.1

CRIPTOGRAFIA

O OpenVPN utiliza a biblioteca OpenSSL que estabelece criptografia entre ambos os canais de controle de dados, viabilizando a utilizao de todas as

criptografias disponveis no pacote do OpenSSL. Ele pode utilizar o pacote de autenticao HMAC para adicionar uma camada de segurana na conexo e tambm utilizar acelerao de hardware para obter um melhor desempenho na criptografia. 3.1.2 AUTENTICAO

O OpenVPN trabalha com chaves secretas compartilhadas, autenticao baseada em certificados, em usurio e senha ou a combinao de chave secreta mais certificado. O mtodo de autenticao com chaves secretas compartilhadas o mais comum e combinando com certificados digitais se torna o mais robusto. A autenticao com usurio e senha um recurso novo (disponvel a partir da verso 2.0) que possibilita o uso de certificados no cliente, mas no obrigatrio (o servidor precisa de certificado) 3.1.3 REDE roda sobre UDP porm tambm roda com o

Por padro o OpenVPN

protocolo TCP. Ele multiplexa toda a comunicao em cima de uma nica porta TCP/UDP. Ele tem a habilidade e de trabalhar uma alta com a maioria dos Proxy trabalhando

servers (incluindo HTTP)

apresenta

compatibilidade

com NAT para passar por firewalls. O OpenVPN oferece dois tipos de interfaces para rede via Universal TUN/TAP driver. Ele pode criar um tnel em layer-3 (TUN), ou pode criar um tnel em layer-2 baseado em ethernet TAP, o que pode carregar qualquer tipo de trfego ethernet. O OpenVPN usa como seus protocolos comuns o TCP e UDP como uma alternativa ao IPsec em situaes onde o ISP pode ter bloqueado os

protocolos especficos para VPN na tentativa de forar os clientes a assinarem servios mais caros. 3.1.4 SEGURANA

O OpenVPN tem 2 tipos de operao segura, uma baseada em SSL/TLS, usando certificados e chaves RSA que baseia-se na dificuldade de fatorao de

nmeros grandes, e outro usando uma chave esttica pr-compartilhada. Enquanto que as chaves SSL/TLS + RSA comprovadamente so a opo mais segura, as chaves estticas tem a vantagem de serem muito mais simples e oferecerem um melhor desempenho. Os certificados RSA so chaves publicas que contm vrios campos de segurana, como os campos Common Name ou Email Address. Para que um sistema de chave pblica seja efetivo, necessrio que garantir que a funo de ciframento seja difcil de inverter e dificultar o descobrimento da Chave privada, apesar do conhecimento da chave pblica. O OpenVPN tem a habilidade de fazer alguns testes para melhorar a segurana. Podemos tambm concluir que o grau de segurana no Openvpn depende muito de sua implementao. 3.1.5 SSL

O protocolo Secure Sockets Layer (SSL) usa uma combinao de criptografia de chave pblica e chave simtrica. A criptografia de chave simtrica muito mais rpida que a criptografia de chave pblica, no entanto, a criptografia de chave pblica fornece as melhores tcnicas de autenticao. Uma sesso SSL sempre comea com uma troca de mensagens chamado de handshake SSL. Isso permite que o servidor autentique-se para o cliente usando tcnicas de chave pblica, e ento permite que o cliente e o servidor para colaborem na criao de chaves simtricas usadas para criptografia rpida, descriptografia e deteco de sabotagem durante a sesso que se segue. Opcionalmente, o handshake tambm permite que o cliente se autentique para o servidor. As etapas envolvidas no handshake SSL so as seguintes:

10

O cliente envia ao servidor o nmero da verso do cliente SSL, configuraes de codificao, os dados especficos da sesso, e outras informaes que o servidor precisa para se comunicar com o cliente usando o SSL.

O servidor envia ao cliente o nmero da verso do servidor SSL, configuraes de codificao, os dados especficos da sesso, e outras informaes que o cliente precisa se comunicar com o servidor via SSL. O servidor tambm envia o seu prprio certificado e, se o cliente est solicitando um recurso de servidor que exige autenticao do cliente, o servidor solicita o certificado do cliente.

O cliente utiliza as informaes enviadas pelo servidor para autenticar o servidor. Se o servidor no pode ser autenticado, o usurio avisado do problema e informado que uma conexo criptografada e autenticada no pode ser estabelecida. Se o servidor for autenticado com xito, o cliente avana para a etapa 4.

Usando todos os dados gerados no handshake at agora, o cliente (com a ajuda do servidor, dependendo da criptografia a ser utilizada), cria o segredo prmaster para a sesso, encripta com a chave pblica do servidor (obtido a partir de certificado do servidor , enviou no passo 2) e, em seguida envia o segredo pr-master criptografados para o servidor.

Se o servidor solicitou a autenticao do cliente (um passo opcional no handshake), o cliente tambm assina outra parte dos dados que exclusivo para este handshake e conhecido pelo cliente e servidor. Neste caso, o cliente envia os dados assinados e o certificado do cliente para o servidor junto com o segredo pr-master criptografado.

Se o servidor solicitou autenticao do cliente, o servidor tenta autenticar o cliente, se o cliente no pode ser autenticado, a sesso termina. Se o cliente pode ser autenticado com xito, o servidor utiliza a sua chave privada para decifrar o segredo pr-master e, em seguida, executa uma srie de etapas (que o cliente tambm realiza, a partir do segre do mesmo pr-master) para gerar o segredo mestre.

Tanto o cliente quanto o servidor utilizam o segredo mestre para gerar as chaves de sesso, que so chaves simtricas usadas para criptografar e descriptografar

11

informaes trocadas durante a sesso SSL e para verificar sua integridade (ou seja, para detectar quaisquer alteraes nos dados entre o tempo que ela foi enviada e o tempo que ele recebido por uma conexo SSL). 8 O cliente envia uma mensagem ao servidor informando que as mensagens futuras do cliente sero criptografadas com a chave de sesso. Em seguida, envia uma mensagem (criptografada) separada indicando que a parte de handshake do cliente est concluda. 9 O servidor envia uma mensagem para o cliente, informando que as mensagens futuras do servidor sero criptografadas com a chave de sesso. Em seguida, envia uma mensagem (criptografada) separada indicando que a parte de handshake do servidor est finalizada. 10 O handshake SSL est concludo e comea a sesso. O cliente e o servidor utilizam as chaves de sesso para criptografar e descriptografar os dados que eles enviam uns aos outros e para validar a sua integridade. 11 Este o estado normal de funcionamento do canal seguro. A qualquer momento, devido a estmulos internos ou externos (automao ou interveno do usurio), um dos lados pode renegociar a conexo, caso em que o processo se repete.
3.1.5.1 COMPARATIVO COM IPSec

O IPSec um protocolo da camada IP que permite o envio e recebimento de pacotes protegidos criptograficamente de qualquer tipo (TCP, UDP, ICMP, etc) sem nenhuma modificao. O IPSec fornece dois tipos de servios criptogrficos. Baseado na necessidade de segurana, ele pode fornecer confidencialidade e autenticidade dos dados, mas tambm pode apenas fornecer autenticidade. O IPsec basicamente constitudo por 3 protocolos principais: Internet Key Exchange (IKE), Authentication Header (AH) e Encapsulation Security Payload (ESP). O protocolo IKE tem como funo principal e de carter mandatrio a troca de parmetros de segurana e gerenciamento da negociao, assim como a criao e troca de chaves entre os endpoints participantes da VPN. Ambas as extremidades da VPN devem utilizar os mesmos parmetros (algoritmos de criptografia, mtodo de autenticao, chaves de criptografia) para estabelecer o tnel. Seu propsito efetuar a

12

gerncia durante o estabelecimento e a durao da conexo IPSec. dividido em fases, fase 1 e fase 2. Na Fase 1 estabelecida a sesso entre os endpoints presentes, efetuada uma comunicao atravs de troca de chaves Diffie Helmann usando main mode e o modo agressivo. Na fase 2 durante a troca de informaes efetua-se uma checagem semelhante a Fase 1, porm esse novos parmetros so destinados a proteo dos dados trafegados atravs do tnel IPSec. Algoritmos e chaves de criptografia usados na fase 1 tambm so usados na fase 2 para a proteo de troca de mensagens na fase 2. Os parmetros definidos na fase 2 sero destinados a proteo dos dados que sero utilizados pelo protocolo ESP ou AH. Aps o acordo entre os endpoints no uso desses parmetros para segurana dos dados do usurio, uma IPSec estabelecida. O protocolo AH utilizado para criar canais seguros com autenticao e integridade sem o uso de criptografia. Usa assinaturas digitais em cada pacote transportado, garantindo que as informaes foram recebidas sem nenhuma alterao, protegendo tambm a comunicao, pois os atacantes no conseguem falsificar os pacotes assinados. O protocolo ESP fornece autenticidade, confidencialidade e proteo da integridade da comunicao e que se distingue pelo cabealho ESP anexado ao pacote. Por outro lado o cabealho ESP inclui as informaes necessrias para decriptar a autenticar os dados onde o cabealho AH inclui as informaes necessrias requisitadas para autenticar os dados protegidos.
3.1.5.1.1 O PROTOCOLO SSL

AS

O protocolo SSL um protocolo da camada de aplicao. bastante utilizado para proteger transaes HTTP, tem sido usado para outras propostas como IMAP e POP3. compatvel com aplicaes rodando somente sobre o protocolo TCP, mas algumas modificaes foram pedidas para as aplicaes para rodar sobre SSL. Um recente desenvolvimento de software SSL o Stunnel. o protocolo mais difundido para a realizao de comrcio na internet.

13

Fornece possibilidade de autenticao de ambos os lados da comunicao, confidencialidade dos dados trafegados e verificao da integridade dos dados. Ou seja toda a transao eletrnica deve ser feita de forma segura a fim de proteger as informaes confidenciais do usurio. Sabemos que para realizar uma comunicao segura, preciso saber manusear bem as comunicaes usando chave pblica e privada. Um exemplo disso ocorre da seguinte forma: Joana deve gerar um resumo do arquivo e assinar com sua chave privada. Depois ela cria uma chave simtrica e criptografa com a chave pblica de Pedro. Em seguida cifra com a chave simtrica o arquivo e a assinatura. Por fim, compacta os itens cifrados com a chave simtrica (arquivo e assinatura) junto a com a chave de sesso criptografada com a chave pblica de Pedro e envia, garantindo confidencialidade, integridade e no-repdio. O mesmo processo utilizado de forma semelhante no protocolo SSL. O Certificado Digital uma credencial que identifica uma entidade, seja ela empresa, pessoa fsica, mquina, aplicao ou site na web. Documento eletrnico seguro, permite ao usurio se comunicar e efetuar transaes na internet de forma mais rpida, sigilosa e com validade jurdica. So compostos por um par de chaves (Chave Pblica e Privativa) e a assinatura de uma terceira parte confivel - a Autoridade Certificadora (AC). Para o cliente fazer operaes eletrnicas usando certificado, primeiramente o cliente deve checar na AC se o seu certificado vlido e enviar ao servidor. O servidor s precisa conhecer o certificado, caso contrrio, o servidor no ir aceitar as tentativas de autenticao e ainda pode incluir este certificado na lista de certificados revogados. Portanto o cliente deve dizer que confia no certificado, passar essa confiana ao browser, enviar ao servidor, servidor validar a tentativa e ento o cliente pode fazer suas transaes eletrnicas de forma eficiente.
3.1.5.1.2 PROTOCOLO IPSec X PROTOCOLO SSL

COMPARATIVO

IPSec

SSL

14

mais

alto

nvel

de

Grande

facilidade

de

instalao

segurana existente, suporte nativo (CISCO), cabealho aos roteadores do

configurao, excelente desenvoltura perante NATs em filtros de pacotes que estejam no caminho, evitando a necessidade de

criptografia IP,

sistema

adaptaes e de modificaes no sistema de firewall, permite o uso de UDP, evitando o efeito "TCP over para TCP", utiliza chaves

multiplataforma com suporte a todos os sistemas

operacionais, eficiente no uso VANTAGENS de recursos do sistema,

assimtricas

autenticao,

disponibilizado em ambientes GNU/Linux e MS Windows, estabilidade imensa, depende de certificados X.509, ento problema do administrador se ele vai usar a PKI oficial (ou seja, adquirindo certificados "oficiais" para cada n da VPN), ou criar uma Autoridade Certificadora fictcia, o que permite gerar os certificados de graa (mais usual no mundo OpenVPN).

completamente aos usurios.

transparente

O IPSec faz a autenticao de mquinas e no de

No um padro de mercado, no verdadeiramente uma multiplataforma, o grau de segurana depende da implementao, incompatvel com IPsec que justamente o padro ideal para solues de VPN, e pouco conhecimento humano em seu uso.

usurios, pode garantir que a comunicao entre as

maquinas transcorra de forma segura e quais ao mquinas servidor, dos diferir

conectam DESVANTAGENS

implementao fabricantes podem

entre si, no tem suporte a NAT, se o sistema

operacional no for seguro, dificilmente IPSec conseguir implementar seus

mecanismos de segurana.

Tabela 1: Vantagens e desvantangens SSL x IPSec

15

Tabela 2: Comparativo SSL x IPSec

Na nossa implementao optamos por utilizar o protocolo SSL, por exigir uma instalao e configurao mais simples que o IPsec ,a excelente evoluo que ele apresenta perante aos NATs, o uso de certificados para autenticar os usurios perante ao servidor realizando transaes e comunicaes seguras, pode tanto trabalhar na

16

camada 2 e 3 de rede, fazendo com que os tneis sejam capazes de enviar informaes em protocolos no IP, como IPX ou broadcast, podem acessar os recursos da corporao a partir de qualquer equipamento que possua web browser que suporte SSL, incluindo computadores inseguros encontrados em locais pblicos, como bibliotecas, universidades, LAN houses, entre outros, a escalabilidade devido ao fato do usurio remoto poder se conectar por qualquer computador que tenha-se web browser que suporte SSL e ter mobilidade, j o IPSec mais escalvel em relao a transparncia da rede (LAN). J o IPSec por outro lado bom utilizar pelo ponto ruim de o SSL no conseguir trabalhar na camada de transporte, se um dia a internet migrar para o endereamento IPV6, o IPsec volta a ter mais destaque no seu uso. Opera na camada de rede, garantindo a segurana das informaes entre as duas pontas do tnel VPN, incluindo todas as aplicaes, por que os usurios remotos tem acesso aos recursos da corporao como se eles estivessem fisicamente em seu escritrio conectado a LAN. Com o IPSec os usurios podem acessar aplicaes como correio eletrnico, compartilhamento e transferncia de arquivos, HTTP, base de dados, entre outros. 3.1.6 COMPRESSO

O OpenVPN pode utilizar a biblioteca de compresso LZO para compactar o fluxo de dados. A porta 1194 a numerao oficial IANA para o OpenVPN. As novas verses do OpenVPN j esto configuradas para utilizarem esta porta. Um novo recurso na verso 2.0 permite que um processo possa manipular e gerenciar vrios tneis simultneos como alternativa ao mtodo original de um processo por tnel, o qual era uma restrio das verses 1.x.x. 3.1.6.1 Descrio LZO (Lempel-Ziv-Oberhumer) uma biblioteca de compresso de dados que utilizada para comprimir dados em tempo real. Ela utilizada para diversos propsitos, e pode tambm ser implementada com uma soluo de OpenVPN, obtendo assim, a funcionalidade de compresso de dados, muito til em um trfego de VPN. A biblioteca LZO implementa diversos algoritmos com os seguintes recursos:

17

Escrita em ANSI C. A descompresso dos dados simples e rpida. No requer memria para descompresso. Compresso rpida. Requer 64 kB de memria para compresso. Permite que o usurio ajuste a relao Qualidade da compresso x Velocidade da Compresso sem que isto afete na velocidade da descompresso. Compatvel com diversas plataformas, entre as principais: Linux, Windows, MacOS, inclusive em plataformas como Nintendo64, Wii, Playstation, Dreamcast, entre outras. A biblioteca LZO e seus algoritmos so distribudos sobre os termos da GNU General Public License (GPL), porm licenas para uso comercial esto disponveis, neste caso necessrio contatar os desenvolvedores. 3.1.6.2 Eficincia Abaixo esto relacionados alguns testes feitos pelos desenvolvedores dos algoritmos: (Os testes foram feitos em um antigo Intel Pentium 133) Memcpy(): ~60 MB/sec LZO1X decompression in C: ~16 MB/sec LZO1X decompression in optimized assembler: ~20 MB/sec LZO1X-1 compression: ~5 MB/sec 3.1.6.3 Instalao A instalao do LZO bastante simples. Basta baixar a verso desejada diretamente no site, extrair os arquivos, compil-los e logo aps, de fato, instal-os. 4. CONCLUSES

18

Podemos concluir que a soluo OpenVPN bastante flexvel, podendo auxiliar muito em ambientes com sistemas operacionais diferentes agregando segurana e reduzindo de custos, pois o mesmo consegue trabalhar normalmente atrs de conexes NAT ou com Firewall. Com uma simples ADSL possvel estabelecer uma VPN. Podese concluir que as solues VPN mais seguras so baseadas em IPSec ou SSL. a maneira mais econmica e segura de se conectar redes atravs de um meio pblico. J vimos que montar uma VPN para ter trfego seguro entre duas redes, so necessrios mecanismos para proteger essa comunicao pois o grau de segurana depende da implementao. O tempo de transmisso no pode ser crtico, pois caso contrrio a ferramenta pode apresentar problemas quando utilizada em uma conexo VPN.

5. REFERNCIAS BIBIBLIOGRFICAS

FEILNER, Markus. Open VPN: building and operating virtual private networks. Reino Unido. Packt Publishing Ltd. 2006.

SCHRODER, Carla. Linux Networking Cookbook. Estados Unidos. OReilly Media Inc. 2008. OBERHUMER, Markus F. X. J. LZO -- a real-time data compression library. Outubro 2010. Disponvel em: www.oberhumer.com/opensource/lzo/lzodoc.php. Consultado entre 1 a 16 de novembro 2010.

Pftzenreuter. Elvis. Comparao entre IPSEC e OpenVPN como protocolos de VPN. 2010. Disponvel em: http://epx.com.br/artigos/openvpn_ipsec.php. Consultado entre 1 a 16 de novembro de 2010.

Telindus High-Tech Institute. OpenVPN 101: introduction to OpenVPN. Agosto 2004. Disponvel em http://openvpn.net/papers/openvpn-101.pdf. Consultado entre 1 a 16 de novembro de 2010.

19

SCHNEIER, Bruce. Crypto-Gram Newsletter. Abril 2002. Counterpane Internet Security Inc. Disponvel em www.schneier.com/crypto-gram-0204.html.

Consultado entre 1 a 16 de novembro de 2010.

20

6. ANEXO 1 - Manual Configurando o OpenVPN/SSL e Certificados no Debian Lenny

1. Ambiente Para o desenvolvimento deste trabalho foram utilizados os seguintes recursos:

1.1. 1.2.

VirtualBox Debian Lenny Foram criadas 3 mquinas virtuais, cada uma com 1gb de espao em HD

e 384mb de RAM. Somente os pacotes bsicos do sistema operacional foram instalados. Cada mquina virtual possui 2 adaptadores de redes configurados. Um para atender a rede externa e outro para a rede interna. O adaptador de Rede 1 foi configurado como VirtualBox Host-Only Ethernet Adpter. J o adaptador de Rede 2 foi configurado como Rede interna. Para a comunicao entre as mquinas virtuais o adaptador de rede VirtualBox Host-Only Network presente nas opes de redes do Windows foi configurado para o IP 192.168.100.101/24.

A senha para acesso aos servidores Debian Linux usurio root e senha admin.

2. Configurao dos Servidores 2.1. Servidor OpenVPN

2.1.1. Configurando as interfaces de rede


# vim /etc/network/interfaces

21

#placa de rede interna allow-hotplug eth1 iface eth1 inet static address 10.20.1.1 netmask 255.255.255.0

# placa de rede externa allow-hotplug eth0 iface eth0 inet static address 192.168.100.1 netmask 255.255.255.0

2.1.2. Instalando os pacotes do OpenVPN


# apt-get install openvpn opensll

2.1.3. Criando certificados


#cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/ # source ./vars #./clean-all #./build-ca #./build-key-server server #./build-key client

2.1.4. Verificando os arquivos criados


#cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/ #ls -al ca.key ca.crt server.key server.csr server.crt client.key client.crt client.csr ----------------------------------------------------------------ca.key- somente no servidor OpenVPn client.crt-> somente nos servidores cliente client.key-> somente nos servidores cliente server.crt-> somente no Servidor OpenVPN server.key-> somente no Servidor OpenVPN ca.crt-> deve estar presente em todos os servidores

22

2.1.5. Movendo os arquivos de certificados para o diretrio do OpenVPN


Mova os arquivos ca.key, car.crt, client.key, client.crt, server.crt, server.key para o diretrio /etc/openvpn

2.1.6. Criando o arquivo de configurao do OpenVPN


# vim /etc/openvpn/server.conf

mode Server dev tun #Configuracao do Server port 5000 #pool de enderecos server 10.0.0.0 255.255.255.0 #Certificado digital ca /etc/openvpn/ca.crt cert /etc/openvpn/server.crt key /etc/openvpn/server.key dh /etc/openvpn/dh1024.pem

#TLS tls-server #Habilita a conversa entre os clientes client-to-client #Cria persistencia para os ip dos servidores da vpn ifconfig-pool-persist /etc/openvpn/ipp.txt #Log log /var/log/openvpn.log #Compactacao comp-lzo #Nivel de verbose verb 6 #Permite que certificado digital seja compartilhado duplicate-cn #Impoe rotas aos clientes push route 10.20.1.0 255.255.255.0

23

2.1.7. Iniciando o servio


# /etc/init.d/openvpn start

2.1.8. Verificando o funcionamento


# ifconfig tun0

2.2.

Servidor Filial 1

2.2.1. Configurando as interfaces de rede


allow-hotplug eth1 iface eth1 inet static address 10.20.2.1 netmask 255.255.255.0

# The primary network interface allow-hotplug eth0 iface eth0 inet static address 192.168.100.2 netmask 255.255.255.0

2.2.2. Instalando os pacotes do OpenVPN


# apt-get install openvpn opensll

2.2.3. Copiando os arquivos de cerificado digital do OpenVPN Server


Copie do servidor principal da VPN os arquivos ca.key, car.crt, client.key, client.crt para o diretrio /etc/openvpn

24

2.2.4. Criando o arquivo de configurao do OpenVPN


client dev tun port 5000 remote 192.168.100.1 ca /etc/openvpn/ca.crt cert /etc/openvpn/client.crt key /etc/openvpn/client.key persist-key persist-tun nobind tls-client pull comp-lzo log /var/log/filial.log verb 6

2.2.5. Iniciando o servio


# /etc/init.d/openvpn start

2.2.6. Verificando o funcionamento


# ifconfig tun0

2.3.

Servidor Filial 2

2.3.1. Configurando as interfaces de rede


allow-hotplug eth1 iface eth1 inet static address 10.20.3.1 netmask 255.255.255.0

# The primary network interface allow-hotplug eth0

2.3.2. Instalando os pacotes do OpenVPN


address 192.168.100.3 netmask 255.255.255.0

iface eth0 inet static

25

# apt-get install openvpn opensll

2.3.3. Copiando os arquivos de cerificado digital do OpenVPN Server


Copie do servidor principal da VPN os arquivos ca.key, car.crt, client.key, client.crt para o diretrio /etc/openvpn

2.3.4. Criando o arquivo de configurao do OpenVPN


client dev tun port 5000 remote 192.168.100.1 ca /etc/openvpn/ca.crt cert /etc/openvpn/client.crt key /etc/openvpn/client.key persist-key persist-tun nobind tls-client pull comp-lzo log /var/log/filial.log

2.3.5. Iniciando o servio


# /etc/init.d/openvpn start

2.3.6. Verificando o funcionamento


# ifconfig tun0

2.4.

Client-to-Site

2.4.1. Ambiente

26

O sitema operacionail utilizado para configurao do cliente foi o Windows XP Professional em ingls sem service Pack. O sistema foi implementado em uma vm do VirtualBox com 2gb de espao em disco e 256Mb de RAM.

2.4.2. Cliente para OpenVPN Para configurao do cliente necessria a instalao do programa openvpn2.0.9-gui-1.03-install que pode ser baixado do endereo

http://openvpn.se/download.html. A instalao do openvpn-2.0.9-gui-1.0.3-install no ser abordada neste tutorial dada a sua facilidade de instalao.

2.4.3. Configurando o OpenVPN-GUI


Copie do servidor principal da VPN os arquivos ca.key, car.crt, client.key, client.crt para o diretrio /etc/openvpn

Crie

no

diretrio

c:\Program

Files\OpenVPN\config

arquivo

Server.ovpn conforme os dados abaixo:

client remote 192.168.100.1 dev tun port 5000 nobind persist-key persist-tun ca "C:\\Program Files\\OpenVPN\\config\\ca.crt" cert "C:\\Program Files\\OpenVPN\\config\\client.crt" key "C:\\Program Files\\OpenVPN\\config\\client.key" tls-client comp-lzo verb 3

27

Ative a conexo conforme a figura abaixo:

Você também pode gostar