contruindo vpns virtual private networks. introdução à vpn conceituação

101
Contruindo VPNs Virtual Private Networks

Upload: internet

Post on 17-Apr-2015

110 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Contruindo VPNs

Virtual Private Networks

Page 2: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Introdução à VPN

Conceituação

Page 3: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

VPN - Virtual Private Network

O conceito de VPN surgiu a partir da necessidade de se utilizar redes de comunicação não confiáveis (por exemplo, a Internet) para trafegar informações de forma segura.

Page 4: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

VPN - Virtual Private Network

Uma VPN proporciona conexões, nas quais o acesso e a troca de informações, somente são permitidas a usuários, que estão em redes distintas que façam parte de uma mesma comunidade de interesse (uma empresa).

Page 5: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

VPN - Virtual Private Network

Uma VPN pode interligar duas ou mais redes via Internet ou através de um link privado, o que possibilita estabelecer um túnel que passa através dessa VPN.

Page 6: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

VPN - Virtual Private Network

Uma rede VPN utiliza um padrão de criptografia mundial, criado pelo IETF (Internet Engineering Task Force), o que torna todo o tráfego de informação nesse túnel, seguro.

Page 7: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Tunelamento

VPN se baseia na tecnologia de tunelamento.

Consiste em encapsular um protocolo dentro de outro.

O protocolo de tunelamento encapsula o protocolo que será transportado, e o cabeçalho do protocolo que encapsulou vai fornecer o destino do pacote do protocolo transportado.

Page 8: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Tunelamento

Um quadro Ethernet, contendo um IP na sua carga útil, saído de um host 1 na rede Ethernet é recebido por um roteador multiprotocolo, extremidade numa rede WAN.

O roteador remove esse pacote IP, encapsula dentro de um pacote camada de rede da WAN, enviando-o até o roteador multiprotocolo na outra extremidade da rede WAN.

O roteador remove o pacote IP recebido e envia a um host 2 na rede Ethernet remota.

Page 9: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

VPN - Virtual Private Network No caso de VPN, é acrescentado a criptografia,

antes do tunelamento.

Tunelamento VPN = [ pacote xxx ] + [ Criptografia do pacote xxx] + [ Encapsulamento do pacote criptografado sobre IP]

Page 10: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

VPN - Virtual Private Network Exemplo:

Se uma empresa usa redes Novell com

o protocolo IPX, e quer que as outras

filiais utilizem o mesmo servidor Novell,

os pacotes IPX devem ser

criptografados e encapsulados dentro

do protocolo IP.

Page 11: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

VPN - Virtual Private Network Rede Novell

Tunelamento VPN =

[ pacote IPX ]

+ [ Criptografia ]

+ [ Encapsulamento sobre IP]

Page 12: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

VPN - Virtual Private Network

Túnel é a denominação do caminho lógico percorrido pelos pacotes encapsulados.

A rede VPN poder ser construída sobre uma rede pública (Internet) ou privada.

Page 13: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Aplicações para VPN

Três aplicações ditas mais importantes para as VPNs:

Acesso remoto via Internet.

Conexão de LANs via Internet.

Conexão de computadores numa Intranet.

Page 14: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Acesso remoto via Internet Fonte: RNP

Page 15: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Acesso remoto via Internet

O acesso remoto a redes corporativas através da Internet pode ser viabilizado com a VPN através da ligação local a algum provedor de acesso (Internet Service Provider - ISP).

Page 16: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Acesso remoto via Internet

A estação remota disca para o provedor de acesso, conectando-se à Internet e o software de VPN cria uma rede virtual privada entre o usuário remoto e o servidor de VPN corporativo através da Internet.

Page 17: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Conexão de LANs via Internet Fonte: RNP

Page 18: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Conexão de LANs via Internet Fonte: RNP

Uma solução que substitui as conexões entre LANs através de circuitos dedicados de longa distância é a utilização de circuitos dedicados locais interligando-as à Internet.

O software de VPN assegura esta interconexão formando a WAN corporativa.

Page 19: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Conexão de Computadores numa Intranet Fonte: RNP

Page 20: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Conexão de Computadores numa Intranet Em algumas organizações, existem dados

confidenciais cujo acesso é restrito a um pequeno grupo de usuários.

Nestas situações, redes locais departamentais são implementadas fisicamente separadas da LAN corporativa.

Page 21: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Conexão de Computadores numa Intranet

Esta solução, apesar de garantir a "confidencialidade" das informações, cria dificuldades de acesso a dados da rede corporativa por parte dos departamentos isolados.

Page 22: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Conexão de Computadores numa Intranet As VPNs possibilitam a conexão física entre redes

locais, restringindo acessos indesejados através da inserção de um servidor VPN entre elas.

Observe que o servidor VPN não irá atuar como um roteador entre a rede departamental e o resto da rede corporativa uma vez que o roteador possibilitaria a conexão entre as duas redes permitindo o acesso de qualquer usuário à rede departamental sensitiva.

Page 23: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Conexão de Computadores numa Intranet

Com o uso da VPN o administrador da rede pode definir quais usuários estarão credenciados a atravessar o servidor VPN e acessar os recursos da rede departamental restrita.

Page 24: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Conexão de Computadores numa Intranet

Adicionalmente, toda comunicação ao longo da VPN pode ser criptografada assegurando a "confidencialidade" das informações.

Os demais usuários não credenciados sequer enxergarão a rede departamental.

Page 25: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Requisitos básicos

Autenticação de usuários.

Gerenciamento de endereço.

Criptografia de dados.

Gerenciamento de chaves.

Suporte a múltiplos protocolos.

Page 26: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Autenticação de Usuários

Verificação da identidade do usuário, restringindo o acesso às pessoas autorizadas. Deve dispor de mecanismos de auditoria, provendo informações referentes aos acessos efetuados - quem acessou, o quê e quando foi acessado.

Page 27: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Gerenciamento de Endereço

O endereço do cliente na sua rede privada não deve ser divulgado, devendo-se adotar endereços fictícios para o tráfego externo.

Page 28: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Criptografia de Dados

Os dados devem trafegar na rede pública ou privada num formato cifrado e, caso sejam interceptados por usuários não autorizados, não deverão ser decodificados, garantindo a privacidade da informação.

O reconhecimento do conteúdo das mensagens deve ser exclusivo dos usuários autorizados.

Page 29: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Gerenciamento de Chaves

O uso de chaves que garantem a segurança das mensagens criptografadas deve funcionar como um segredo compartilhado exclusivamente entre as partes envolvidas.

O gerenciamento de chaves deve garantir a troca periódica das mesmas, visando manter a comunicação de forma segura.

Page 30: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Suporte a Múltiplos Protocolos

Com a diversidade de protocolos existentes, torna-se bastante desejável que uma VPN suporte protocolos usadas nas redes públicas, tais como IP (Internet Protocol), IPX (Internetwork Packet Exchange), .

Page 31: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Tunelamento

Page 32: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Tunelamento em Nível 2 – Enlace - (PPP sobre IP)

O objetivo é transportar protocolos de nível 3, tais como o IP e IPX na Internet.

Os protocolos utilizam quadros como unidade de troca, encapsulando os pacotes da camada 3 (como IP/IPX) em quadros PPP (Point-to-Point Protocol).

Page 33: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Como exemplos podemos citar:

PPTP (Point-to-Point Tunneling Protocol) da Microsoft permite que o tráfego IP, IPX e NetBEUI sejam criptografados e encapsulados para serem enviados através de redes IP privadas ou públicas como a Internet.

Page 34: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Como exemplos podemos citar:

L2TP (Layer 2 Tunneling Protocol) da IETF (Internet Engineering Task Force).

Permite que o tráfego IP, IPX e NetBEUI sejam criptografados e enviados através de canais de comunicação de datagrama ponto a ponto tais como IP, X25, Frame Relay ou ATM.

L2F (Layer 2 Forwarding) da Cisco é utilizada para VPNs discadas.

Page 35: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Tunelamento em Nível 3 - Rede - (IP sobre IP)

Encapsulam pacotes IP com um cabeçalho adicional deste mesmo protocolo antes de enviá-los através da rede.

O IP Security Tunnel Mode (IPSec) da IETF permite que pacotes IP sejam criptografados e encapsulados com cabeçalho adicional deste mesmo protocolo para serem transportados numa rede IP pública ou privada.

Page 36: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Tunelamento em Nível 3 - Rede - (IP sobre IP)

O IPSec é um protocolo desenvolvido para IPv6, devendo, no futuro, se constituir como padrão para todas as formas de VPN caso o IPv6 venha de fato substituir o IPv4.

O IPSec sofreu adaptações possibilitando, também, a sua utilização com o IPv4.

Page 37: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Tipos de túneis

Os túneis podem ser criados de duas diferentes formas - voluntárias e compulsórias:

Túnel Voluntário

Túnel Compulsório

Page 38: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Túnel Voluntário

O computador do usuário funciona como uma das extremidades do túnel e, também, como cliente do túnel e emite uma solicitação VPN para configurar e criar um túnel voluntário entre duas máquinas, uma máquina em cada rede privada, e que são conectadas via Internet.

Page 39: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

VPN entre duas máquinas

Page 40: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Túnel Compulsório

O computador do usuário não funciona como extremidade do túnel.

Um servidor de acesso remoto, localizado entre o computador do usuário e o servidor do túnel, funciona como uma das extremidades e atua como o cliente do túnel.

Um servidor de acesso discado VPN configura e cria um túnel compulsório.

Page 41: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Tunelamento compulsório

Page 42: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Tunelamento compulsório

O computador ou dispositivo de rede que provê o túnel para o computador-cliente é conhecido de diversas formas:

FEP (Front End Processor) no PPTP, LAC (L2TP Access Concentrator) no L2TP IP Security Gateway no caso do IPSec.

Page 43: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Tunelamento compulsório

Doravante, adotaremos o termo FEP para denominar esta funcionalidade - ser capaz de estabelecer o túnel quando o cliente remoto se conecta.

Page 44: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Tunelamento compulsório

No caso da Internet, o cliente remoto faz uma conexão discada para um túnel habilitado pelo servidor de acesso no provedor (ISP).

Page 45: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Tunelamento compulsório

Por exemplo, uma companhia pode ter um contrato com uma ou mais provedores para disponibilizar um conjunto de FEPs em âmbito nacional.

Page 46: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Tunelamento compulsório

Estas FEPs podem estabelecer túneis sobre a Internet para um servidor de túnel conectado à rede corporativa privada, possibilitando a usuários remotos o acesso à rede corporativa através de uma simples ligação local.

Page 47: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Tunelamento compulsório

Esta configuração é conhecida como tunelamento compulsório porque o cliente é compelido a usar um túnel criado pelo FEP.

Uma vez que a conexão é estabelecida, todo o tráfego "de/para" o cliente é automaticamente enviado através do túnel.

Page 48: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Tunelamento compulsório

No tunelamento compulsório, o cliente faz uma conexão PPP.

Um FEP pode ser configurado para direcionar todas as conexões discadas para um mesmo servidor de túnel ou, alternativamente,  fazer o tunelamento individual baseado na identificação do usuário ou no destino da conexão.

Page 49: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Tunelamento compulsório

Diferente dos túneis individualizados criados no tunelamento voluntário, um túnel entre o FEP e o servidor de túnel pode ser compartilhado por múltiplos clientes discados.

Page 50: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Tunelamento compulsório

Quando um cliente disca para o servidor de acesso (FEP) e já existe um túnel para o destino desejado, não se faz necessária a criação de um novo túnel redundante.

O próprio túnel existente pode transportar, também, os dados deste novo cliente.

Page 51: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Tunelamento compulsório

No tunelamento compulsório com múltiplos clientes, o túnel só é finalizado no momento em que o último usuário do túnel se desconecta.

Page 52: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

IPSEC – Internet Protocol Security

O IPSec é um protocolo padrão de camada 3 projetado pelo IETF que oferece transferência segura de informações fim a fim através de rede IP pública ou privada.

Page 53: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

IPSEC – Internet Protocol Security

Essencialmente, ele pega pacotes IP privados, realiza funções de segurança de dados como criptografia, autenticação e integridade, e então encapsula esses pacotes protegidos em outros pacotes IP para serem transmitidos.

Page 54: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

IPSEC – Internet Protocol Security

As funções de gerenciamento de chaves também fazem parte das funções do IPSec.

Page 55: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

IPSEC – Internet Protocol Security Tal como os protocolos de nível 2, o IPSec

trabalha como uma solução para interligação de redes e conexões via linha discada.

Ele foi projetado para suportar múltiplos protocolos de criptografia possibilitando que cada usuário escolha o nível de segurança desejado.

Page 56: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

IPSEC – Internet Protocol Security Requisitos de segurança

Autenticidade

Integridade

Confidencialidade

Page 57: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

IPSEC – Internet Protocol Security Para implementar estas características, o

IPSec é composto de 3 mecanismos adicionais:

AH - Autentication Header. ESP - Encapsulation Security Payload. ISAKMP - Internet Security Association and

Key Management Protocol.

Page 58: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

IPSec em servidores Linux

O Ipsec segue normas em projetos de VPN e é muito ultizado para vc fazer VPN entre servidores Linux e roteadores que prove serviços de VPN.

Page 59: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Protocolos de Segurança para VPN

IPSec (IP Security)

SSL (Secure Sockets Layer)

TLS (Transport Layer Secure)

Page 60: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Segurança de Rede na camada de transporte com SSL/TLS

HTTPSMTPFTPNNTP, ...

SSL / TLS

TCP / UDP

IP

Page 61: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Segurança de Rede na camada de rede com IPSec

HTTPSMTPFTPNNTP, ...

TCP / UDP

IP / IPSec

Page 62: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Construindo VPN com OpenVPN

Page 63: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

OpenVPN

OpenVPN é uma ferramenta que implementa uma rede VPN segura, usando a camada de enlace ou a camada de rede, usando o padrão da indústria SSL/TLS.

Page 64: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

OpenVPN

OpenVPN suporta métodos de autenticação para o cliente baseados sobre:

certificados digitais,

smart cards,

username/password credentials.

Page 65: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

OpenVPN

Permite acesso para um usuário ou permite uma política de controle de acesso específica de grupo, usando regras de firewall aplicadas à interface virtual VPN.

Page 66: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

OenVPN 2.0

OpenVPN 2.0 expande as capacidades de OpenVPN 1.x.

Oferecendo um modo cliente/servidor escalável, permitindo múltiplos clientes para conectar a um único servidor OpenVPN sobre uma única porta TCP ou UDP.

Page 67: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Pode-se construir ...

Uma simples VPN como um gateway que pode manipular um único cliente.

Estabelecer um gateway cliente/servidor VPN, escalável, usando uma X509 PKI (infra-estrutura de chaves públicas usando certificados e chaves privadas).

Page 68: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Produtos SSL/IPSec

SSL é o protocolo mais amplamente distribuído quando se trata de comércio eletrônico.

Netscape e Internet Explorer suportam SSL.

Windows 2000 / XP usam IPSec para contruir VPN.

RSA : BSAFE Cripto-C/J (IPSec) e SSL-C/J

Distribuições Linux : SSL para HTTP, FTP, SMTP, NNTP.

Page 69: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Virtual Private Network em ADSL

Page 70: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Objetivo

O objetivo é mostrar de forma rápida e simples a configuração de uma VPN baseada em Linux utilizando o OpenVPN como ferramenta.

Sendo que este é um software estável, simples de configurar, além de ser um projeto que está sempre em desenvolvimento.

Page 71: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Exemplo de VPN

Vamos considerar o caso de interligar as redes internas de uma empresa (matriz e filial), sendo que ambas se localizam em lugares diferentes e bem distantes.

Page 72: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Exemplo de VPN

Que cada empresa possui uma conexão ADSL rodando Linux como servidor e suas respectivas redes internas conforme o exemplo hipotético abaixo:

Page 73: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Redes na empresa

Matriz

ADSL com IP 200.217.222.222

LAN com a classe 192.168.1.0/24

Filial

ADSL com ip 200.141.64.33

LAN com a classe 192.168.2.0/24

Page 74: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Matriz e Filial

Page 75: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Objetivo

Nesta VPN, teremos como principal objetivo fazer com que qualquer máquina da rede interna da Matriz se conecte diretamente com qualquer máquina da rede interna da Filial (ou vice versa), deixando a impressão de que ambas as redes estão no mesmo meio físico.

Page 76: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Instalando OpenVPN

Antes de começar, devemos checar primeiramente se o driver TUN/TAP se encontra no kernel.

Caso o mesmo não se encontre, precisaremos ativar esse driver dentro da opção "Network Device Support", conforme exemplo que segue:

Page 77: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

[*] Network device support                ARCnet devices  --->                < > Dummy net driver support                < > Bonding driver support                < > EQL (serial line load balancing) support                <*> Universal TUN/TAP device driver support                                              < > Ethertap network tap (OBSOLETE)                < > General Instruments Surfboard 1000                                                   Ethernet (10 or 100Mbit)  --->                Ethernet (1000 Mbit)  --->                [ ] FDDI driver support                [ ] HIPPI driver support (EXPERIMENTAL)                <*> PPP (point-to-point protocol) support                < > SLIP (serial line) support                Wireless LAN (non-hamradio)  --->                Token Ring devices  --->                [ ] Fibre Channel driver support                < > Red Creek Hardware VPN (EXPERIMENTAL)                < > Traffic Shaper (EXPERIMENTAL)                Wan interfaces  --->

Page 78: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Notas

Não é abordado aqui, exemplos de compilação de kernel, bem como a configuração de conexão ADSL no Linux.

Nas distros RedHat 9.0, Slackware 9.1, 10.0 e 10.1 não foi preciso mexer no kernel.

Já na Slackware 9.0 tem-se que recompilar o kernel com suporte ao driver TUN/TAP.

Page 79: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Pacote lzo-1.08

Baixe os pacotes lzo-1.08.tar.gz (biblioteca de compressão de dados) e o pacote openvpn-1.5.0.tar.gz.

1º Passo

$ tar -xzvf lzo-1.08.tar.gz$ cd lzo-1.08$ ./configure$ make$ su# make install

Page 80: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Instalando OpenVPN 1.5.0

2º Passo

$ tar -xzvf openvpn-1.5.0.tar.gz$ cd openvpn-1.5.0$ ./configure$ make$ su# make install

Pronto. O OpenVPN já está instalado em nosso sistema com suporte à biblioteca de compressão de dados.

Agora só resta a configuração.

Page 81: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Configurando a VPN na Matriz:

O OpenVPN pode operar com 3 tipos de criptografia:

Nenhuma criptografia (apenas o túnel),

Criptografia com chaves estáticas (este caso).

No modo TLS, em que as chaves são trocadas periodicamente.

Page 82: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Configurando a VPN na Matriz: 1 - Execute os seguintes comandos:

# mkdir /etc/openvpn

Criamos o diretório onde estarão todos os arquivos de configuração.

Page 83: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Configurando a VPN na Matriz: # openvpn --genkey -secret /etc/openvpn/chave

Foi gerada uma chave de criptografia com o nome de chave (pode ser qualquer nome de arquivo) dentro do diretório /etc/openvpn.

# cat /etc/openvpn/chave

Só para visualizarmos o conteúdo da chave que geramos.

# touch /etc/openvpn/matriz.conf

Crie esse arquivo com o seguinte conteúdo:

Page 84: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Configurando a VPN na Matriz: Arquivo criado ...

# Usar como interface o driver TUNdev tun # 10.0.0.1 ip que será assumido na matriz# 10.0.0.2 ip remoto, ou seja, esse será o ip da filialifconfig 10.0.0.1 10.0.0.2 # Entra no diretório onde se encontram os arquivos de configuraçãocd /etc/openvpn # Indica que esse túnel possui uma chave de criptografiasecret chave

Page 85: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Configurando a VPN na Matriz: Arquivo criado ...

# OpenVPN usa a porta 5000/UDP por padrão.# Cada túnel do OpenVPN deve usar# uma porta diferente.# O padrão é a porta 5000port 5000

Page 86: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Configurando a VPN na Matriz: Arquivo criado ...

# Usuário que rodará o daemon do OpenVPNuser nobody # Grupo que rodará o daemon do OpenVPNgroup nobody

Page 87: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Configurando a VPN na Matriz: Arquivo criado ... #Usa a biblioteca lzo

comp-lzo # Envia um ping via UDP para a parte# remota a cada 15 segundos para manter# a conexão de pé em firewall statefull# Muito recomendado, mesmo se você não usa# um firewall baseado em statefull.ping 15 # Nível de logverb 3

Page 88: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Configurando a VPN na Filial:

A parte da instalação na filial é exatamente igual a da Matriz, é só seguir os passos descritos no tópico instalação.

Já na parte de configuração, não muda muita coisa também, pois o maior trabalho é simplesmente copiar a chave que geramos na Matriz por um canal seguro até a filial.

Page 89: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Configurando a VPN na Filial:

# mkdir /etc/openvpn

Execute os seguintes comandos. Criaremos o mesmo diretório de configuração na filial:

# mkdir /etc/openvpn

Page 90: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Copie a chave gerada na matriz para a filial com seguinte comando:

# scp /etc/openvpn/chave ip_filial:/etc/openvpn

Em seguida crie o arquivo de configuração chamado filial.conf:

# touch /etc/openvpn/filial.conf

Page 91: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Arquivo de configuração

Crie esse arquivo com o seguinte conteúdo:

# Usar como interface o driver TUN: dev tun

# 10.0.0.1 ip que será assumido na matriz# 10.0.0.2 ip remoto, ou seja, esse será o ip da filial:ifconfig 10.0.0.2 10.0.0.1

Page 92: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

# Indica onde está o ip da Matriz (essa é a única linha que acrescentamos# no arquivo de configuração da filial), o resto

é tudo igual. remote 200.217.222.222# Entra no diretório onde se encontram os arquivos de configuração cd /etc/openvpn

Page 93: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

# Indica que esse túnel possui uma chave de criptografia:secret chave

# OpenVPN usa a porta 5000/UDP por padrão.# Cada túnel do OpenVPN deve usar# uma porta diferente.# O padrão é a porta 5000port 5000

Page 94: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

# Usuário que rodará o daemon do OpenVPNuser nobody # Grupo que rodará o daemon do OpenVPNgroup nobody

Usa a biblioteca lzocomp-lzo # Nível de logverb 3

Page 95: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

# Envia um ping via UDP para a parte# remota a cada 15 segundos para manter# a conexão de pé em firewall statefull# Muito recomendado, mesmo se você não usa um firewall baseado em statefull.ping 15

# Nível de logverb 3

Page 96: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Inicie a conexão na filial com o seguinte comando:

# openvpn --config /etc/openvpn/filial.conf -daemon

# ifconfig tun0

Page 97: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

tun0 Link encap:Point-to-Point Protocol inet addr:10.0.0.2 P-t-P:10.0.0.1 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1255 Metric:1 RX packets:1383257 errors:0 dropped:0 overruns:0 frame:0 TX packets:1144968 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:10 RX bytes:82865921 (79.0 Mb) TX bytes:383951667 (366.1 Mb)

Ok! Se aparecer algo assim, sua VPN, está configurada.

Page 98: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Teste pingando de uma ponta a outra: # ping 10.0.0.1

PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.64 bytes from 10.0.0.1: icmp_seq=1 ttl=63 time=11.9 ms64 bytes from 10.0.0.1: icmp_seq=2 ttl=63 time=6.09 ms64 bytes from 10.0.0.1: icmp_seq=3 ttl=63 time=5.93 ms64 bytes from 10.0.0.1: icmp_seq=4 ttl=63 time=8.15 ms64 bytes from 10.0.0.1: icmp_seq=5 ttl=63 time=6.19 ms

Se aparecer algo assim, sua VPN já esta funcionando.

Agora só falta adicionarmos as rotas para as redes internas se enxergarem.

Page 99: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Adicionando rotas

Antes de adicionarmos as rotas, é necessário ativar o roteamento no kernel em ambas as pontas (Matriz e Filial).

Execute os seguintes comandos na matriz e filial: # echo 1 > /proc/sys/net/ipv4/ip_forward

Page 100: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Para adicionar a rota com destino a rede da Filial, execute de dentro do servidor da Matriz o seguinte comando:

# route add -net 192.168.2.0/24 gw 10.0.0.2

Para adicionar a rota com destino a rede da Matriz, execute de dentro do servidor da Filial o seguinte comando:

# route add -net 192.168.1.0/24 gw 10.0.0.1

Page 101: Contruindo VPNs Virtual Private Networks. Introdução à VPN Conceituação

Agora é só testar.

Tente pingar de dentro de uma máquina da LAN da Matriz com destino a LAN da Filial.

Lembrar também que temos que colocar toda a seqüência de comandos acima no rc.local de sua distro, para que a mesma carregue as configurações ao iniciar o sistema operacional.