Construindo uma VPN Utilizando IPSec VPN Virtual Private
- Slides: 76
Construindo uma VPN Utilizando IPSec
VPN - Virtual Private Network n O conceito de VPN surgiu a partir da necessidade de se utilizar redes de comunicação não confiáveis para trafegar informações de forma segura. n 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).
VPN - Virtual Private Network n 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. n 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.
Tunelamento n n n 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.
VPN - Virtual Private Network n No caso de VPN, é acrescentado a criptografia, antes do tunelamento. n Tunelamento VPN = [ pacote xxx ] + [ Criptografia do pacote xxx] + [ Encapsulamento do pacote criptografado sobre IP]
VPN - Virtual Private Network n 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.
VPN - Virtual Private Network n Rede Novell n Tunelamento VPN = [ pacote IPX ] + [ Criptografia ] + [ Encapsulamento sobre IP]
VPN - Virtual Private Network n Túnel é a denominação do caminho lógico percorrido pelos pacotes encapsulados. n A rede VPN poder ser construída sobre uma rede pública (Internet) ou privada.
VPN - Virtual Private Network n Para estabelecer um túnel VPN, é necessário que as duas extremidades utilizam o mesmo protocolo de tunelamento. n O tunelamento pode ocorrer na camada 2 de enlace, ou na camada 3, de rede.
VPN - Virtual Private Network n Tunelamento Nível 2 = Enlace (PPP / IPX sobre IP) n Tunelamento Nível 3 = Rede (IP sobre IP)
VPN - Virtual Private Network n Diferentes protocolos podem ser encapsulados em cima do Protocolo IP. n Tunelamento Nível 3: Encapsula pacotes IP com um cabeçalho adicional desse mesmo protocolo.
IPSec (IP Security) n IPSec é o protocolo de comunicação em uma VPN. n IPSec é um conjunto de padrões e protocolos para segurança relacionada a uma rede VPN criada sobre uma rede IP, e foi definido pelo grupo de trabalho denominado IP Security, do IETF.
Objetivos do IPSec n Oferecer criptografia e autenticação para a camada de rede, em redes IP. n Proteger tráfego sobre o IP, em vez de outros que apenas protegem tráfego em camadas superiores (SSH, SSL, PGP).
Objetivos do IPSec n Garantir segurança entre duas máquinas. n Não garante segurança das máquinas que estão na rede; a única coisa que faz é criptografar e garantir a segurança das informações (pacotes encapsulados) que estão passando pelo túnel.
Protocolos IPSec n n n AH (Authentication Header) Oferece serviço de autenticação para o pacote. ESP (Encapsulating Security Payload) Oferece criptografia + autenticação IKE (Internet Key Exchange) Negocia parâmetros de conexão, incluindo chaves, para os outros dois protocolos.
IPSec n n Todos os protocolos utilizam UDP e a porta 500. O IPSec especifica os cabeçalhos AH e ESP, que podem ser usados de forma independente ou em conjunto, de maneira que um pacote IPSec poderá apresentar somente um dos cabeçalhos (AH ou ESP), ou os dois.
IPSec n n n Não autentica mensagens entre usuários ou aplicações, no túnel. Autenticação é de computador para computador (autenticações somente de máquinas). Esse processo acontece na troca de chaves. Trabalha na camada de rede, encapsulando o protocolo TCP, ou outros, se necessário.
Projeto Free. Swan n n Free. Swan = Free Secure Wide Area Network 1996 -1999 John Gilmore (gnu@toad. com) Meta: criar dentro da Internet (rede insegura) uma rede segura.
Projeto Free. Swan n É uma implementação IPSec para Linux. n Três partes para implementar IPSec: 1 - KLIPS (Kernel do IPSec) implementa AH e ESP; 2 - PLUTO (Daemon IKE) implementa o IKE, fazendo a negociação com outros sistemas IPSec. 3 - IKE negocia os parâmetros de conexão incluindo a troca de chaves criptográficas.
Free. Swan n Comunica-se com todas as VPNs construídas com IPSec. n Se numa extremidade da rede tem o Linux rodando IPSec, e na outra estiver rodando também o IPSec, o Free. Swan se conectará.
Criptografia do Free. Swan n É a mesma para qualquer protocolo IPSec. Primeiro usa o método assimétrico para formar o túnel. Logo após, os dados são criptografados utilizando o método simétrico, por ser mais rápido.
Free. Swan n A criptografia utilizada pelo Free. Swan é a mesma de qualquer protocolo IPSec. n Se utiliza da criptografia assimétrica para definir o túnel, e logo após, os dados são criptografados, utilizando o método simétrico, por ser mais rápido.
Free. Swan n As máquinas (gateways) que rodam o IPSec não trocam a chave privada. Elas se relacionam apenas através da chave pública no momento da autenticação.
Free. Swan - Tipos de Conexão n Desktop através de DHCP n Gateway para Gateway (Rede para Rede)
Montando uma VPN n Utilizando os gateways com IPs fixos nas duas extremidades: conexão gateway para gateway n Utilizando os gateways com IPs dinâmicos, através de DHCP, nas duas extremidades.
VPN n Uma VPN não faz a segurança da máquina (host) que está dentro da rede.
Um Firewall para VPN n Então, temos que configurar um Firewall para utilizar com a VPN.
Firewall para VPN n Inicialmente, deve-se definir a política de segurança utilizada no Firewall. n Neste exemplo, utilizamos a política DROP para as três tabelas básicas de acesso no Firewall: iptables –P INPUT DROP iptables –P OUTPUT DROP iptables –P FORWARD DROP
Política de Firewall - IPTables n DROP Nega pacote sem envio de flag Reset – R. n ACCEPT – aceita o pacote. n REJECT – nega pacote mas envia um flag Reset – R. n O envio de um flag Reset pode facilitar a detecção por um scanner de portas, procurando uma porta aberta. Por isso utiliza-se a política DROP.
Montando uma VPN com IPs Fixos n Configurando o Firewall: O Firewall não deve estar funcionando para outras aplicações. São liberadas apenas as portas para definir o túnel da VPN.
Montando uma VPN com IPs Fixos n Configurando o Firewall Liberando as portas apropriadas, a conexão será estabelecida apenas para os protocolos IPSec.
Montando uma VPN com IPs Fixos n Estrutura de regras de FIREWALL básicas para abrir conexão na VPN: iptables (comando para referenciar tabelas IP no Firewall IPTables) -A (incluindo uma regra) INPUT / OUTPUT / FORWARD (a regra será incluída na tabela especificada) -p protocolo usado -s IP de origem -i tipo de rede na entrada do FIREWALL -o tipo de rede na saída do FIREWALL --sporta da origem --dporta de destino -j tratamento do pacote (ACCEPT /
Exemplo de Regra n Incluindo regra na tabela INPUT, para aceitar pacotes TCP, cujo IP de origem é 192. 168. 47. 0/24 e tenham porta de destino 22: iptables -A INPUT -p tcp -s 192. 168. 47. 0/24 --dport 22 –j ACCEPT
Exemplo de Firewall configurado para IPSEC n world=eth 0 # negociações do IKE sobre parâmetros de conexão iptables -A INPUT -p udp -i $world -sport 500 -dport 500 -j ACCEPT iptables -A OUTPUT -p udp -o $world -sport 500 -dport 500 -j ACCEPT
Exemplo de Firewall configurado para IPSEC # ESP encriptação and autenticação # ESP é o protocolo 50 no IPSEC iptables -A INPUT -p 50 -i $world -j ACCEPT iptables -A OUTPUT -p 50 -o $world -j ACCEPT
Exemplo de Firewall configurado para IPSEC # IKE negociações sobre parâmetros de conexão iptables -A INPUT -p udp -sport 500 -dport 500 -j ACCEPT iptables -A OUTPUT -p udp -sport 500 -dport 500 -j ACCEPT
Exemplo de Firewall configurado para IPSEC # ESP encriptação e autenticação # ESP é o protocolo 50 no IPSec iptables –A INPUT –p 50 –j ACCEPT iptables –A OUTPUT –p 50 –j ACCEPT # AH (autentication header) # AH é o protocolo 51 no IPSec iptables –A INPUT –p 51 –j ACCEPT iptables –A OUTPUT –p 51 –j ACCEPT
VPN n Mas, antes de montarmos a VPN, devemos saber: - a VPN não faz controle de banda;
Controle de Banda n Controle de Banda Para determinar, por exemplo, quanto de banda a VPN vai utilizar. O controle de banda é sempre interessante, independente da VPN, como no caso que se queira diminuir a banda de uma rede que está fazendo muito download de MP 3.
Controle de Banda n Será possível, utilizando o sistema de controle de banda CBQ (Class Based Queueing)
Funcionalidades CBQ n n Controle de banda por rede, host ou mesmo, porta; Controle de banda excedente; Possibilidade de criação de classes de banda; Juntamente com o Firewall, na proteção contra ataques Do. S.
Para a Instalação do CBQ n n Devem ser necessários os seguintes programas: cbq. ini (ftp. equinox. gu. net/pub/linux/cbq) kernel-2. 4. 22 (www. kernel. org) iprouter 2 (www. linuxmafia. org) Todos colocados em /tmp
Suporte de Kernel do Linux n n n O CBQ funciona como um módulo do Linux kernel-2. 4. 22. Para instalar o CBQ, primeiro deve ser dado suporte no kernel. É necessário que um fonte do kernel do Linux seja descompactado, por padrão, em /usr/src e o arquivo. config seja criado.
Suporte de Kernel do Linux n Para criar o arquivo. config, basta digitar: make menuconfig dentro do diretório onde está o fonte do kernel e salvar. n Veja no que segue. . .
Suporte do Kernel Linux n O kernel em /tmp é descompactado em /usr/src e o arquivo. config é gerado: tar –xzvf linux-2. 4. 22. tar. gz –C /usr/src cd /usr/src ln –s linux-2. 4. 22 linux cd linux make menuconfig (entra, não precisa alterar nada e salva)
Instalando o CBQ n Para dar suporte ao kernel, deve-se recompilar o kernel. n E para tal deve-se escolher a seguinte opção no Linux Kernel v 2. 4. 22 Configuration: <M> CBQ packet sheduler n A compilação começará imediatamente. Aparecerá: cc. . . .
Instalando o CBQ n Depois de estar com o suporte do kernel, deve-se criar um diretório onde ficarão os arquivos de configuração do CBQ: mkdir /etc/cbq
Instalando CBQ n Após criar o diretório para CBQ, /etc/cbq, n o passo seguinte será editar o arquivo cbq. ini (um script); n atualize a variável cbq_path como: cbq_path = /etc/cbq determinando o diretório onde foi criado os arquivos de configuração do CBQ.
Instalando o CBQ n Para fixar as regras para o CBQ, devemos saber que elas devem ficar dentro do diretório /etc/cbq n Essas regras ficam dentro de arquivos únicos, que devem ter nomes de no mínimo 5 caracteres. n Por exemplo, cbq-cont 0001
Estrutura de regra CBQ DEVICE = <nome-rede>, <banda>, <peso>, <banda/10> RATE = <velocidade> WEITH = <peso/10> PRIO = <prioridade> (1 -8) RULE = <IP ou rede a ser encontrada> TIME = <limite de acesso em horários predefinidos> BOUND = <yes/no> (Se yes, será mantido mesmo com banda excedente) ISOLATED = yes/no (Se yes, a banda excedente não será compartilhada)
Exemplo de Regra CBQ DEVICE = eth 0, 10 Mbits, 1 Mbit RATE = 128 Kbits WEITH = 10 Kbits PRIO = 5 RULE = 192. 168. 47. 0/24 n Com o Firewall e o CBQ configurados, basta configurar o Free. Swan para montarmos a VPN.
Instalando o Free. Swan n O pacote pode ser baixado do link: Download do pacote em ftp. xs 4 all. nl cd /tmp ftp: //ftp. xs 4 all. nl/pub/crypto/freeswan/free swan-2. 02. tar. gz Utilizar a última versão deste aplicativo.
Instalando o Free. Swan n Descompactar o pacote em /tmp para o diretório /usr/local/src tar –xzvf freeswan-2. 02. tar. gz -C /usr/local/src n O Free. Swan funciona como um módulo do kernel Linux.
Instalando o Free. Swan n Agora com o pacote descompactado em , /usr/local/src/freeswan-2. 02 devemos incluir o módulo do Free. Swan dentro do kernel. n Para isso, execute o comando: cd /usr/local/src/freeswan-2. 02 make menumod
Instalando o Free. Swan n A tela do menumod assemelha-se à tela de configuração do kernel (a tela do menuconfig). Se olharmos a opção Networking Options, veremos que aparece o módulo da VPN dentro do kernel. Ver a tela do Linux Kernel v 2. 4. 22 Configuration.
Instalando o Free. Swan n n Selecionar IPSec Debugging Option. Ao sair desse menu, a compilação do Free. Swan começará imediatamente. cc. . Ao término da compilação, se nada deu errado, deve-se executar o comando: make minstall
Instalando o Free. Swan n Havendo algum tipo de erro, é porque está faltando algum aplicativo necessário ao Free. Swan; instale esse aplicativo e execute o comando make menumod outra vez.
Instalando o Free. Swan n n O comando make minstall colocará os módulos compilados em seus devidos lugares. Para testarmos se a compilação está correta, devemos primeiramente ver se ficou algum tipo de erro de dependência no módulo do kernel.
Instalando o Free. Swan n O comando para se fazer essa verificação é o depmod -ae n Esses comandos verificam se existe algum problema nos módulos associados ao kernel e também atualiza os arquivos de dependência dos mesmos.
Instalando o Free. Swan n Com esses comandos executados, podemos tentar levantar o módulo do IPSec. n Execute: n Se isso ocorrer sem problema é porque a compilação foi realizada com sucesso e o próximo passo é gerar uma chave assimétrica para o fechamento da VPN. n Se algo deu errado, é preciso, primeiro fazer os ajustes. modeprobe ipsec
Instalando o Free. Swan n n Gerando uma chave assimétrica para o estabelecimento do túnel (fechamento da VPN). O comando para gerar a chave é: ipsec newhostkey –output - --bits 1024 --hostname server 1 > /etc/ipsec. secrets
Instalando o Free. Swan n 1024 bits é o tamanho da chave que será gerada. n Esse tamanho pode ser da escolha do administrador. n Esse tamanho é usado nas duas pontas da VPN. n Hostname é o nome da máquina de uma das pontas; no caso, server 1.
Instalando o Free. Swan: as chaves n As chaves (públicas e privadas) devem ser geradas nas duas pontas da VPN. n As chaves públicas e privadas estão juntas em /etc/ipsec. secrets
Instalando o Free. Swan n Dentro do arquivo ipsec. secrets temos uma linha comentada com #pubkey=<chave pública>. n Esta linha tem a chave pública que iremos usar na configuração do Free. Swan.
Instalando o Free. Swan n Com as chaves, pode-se editar o arquivo de configuração do Free. Swan, que se encontra em /etc/ipsec. conf n Observar esse arquivo a partir da linha conn teste
Observando o Arquivo de Configuração do Free. Swan (parte do ipsec. conf) conn teste (teste é o nome da conexão) # Gateway A left=192. 168. 50. 10 (sai para a Internet) leftid=@clodo_trigo (nome do host) leftsubnet=192. 168. 5. 0/24 (subrede do outro lado) leftnexthop=192. 168. 50. 1 (gateway de aplicativo apontando para a Internet) leftrsasigkey=<código da chave pública usada no estabelecimento do túnel-criptografia assimétrica tirada do arquivo /etc/ipsec. secrets> leftfirewall=yes. .
Observando o Arquivo de Configuração do Free. Swan (parte do ipsec. conf) # Gateway B right=192. 168. 47. 10 (sai para a Internet) rightid=@honorio (nome do host) rightsubnet=192. 168. 100. 0/24 (subrede do outro lado) rightnexthop=192. 168. 47. 1 (gateway de aplicativo apontando para a Internet) rightrsasigkey=<código da chave pública usada no estabelecimento do túnel-criptografia assimétrica tirada do arquivo /etc/ipsec. secrets> ------------------rightfirewall=yes auto=start
Arquivo de Configuração do Free. Swan n Esse esquema de configuração deve ser feito no mesmo arquivo para a outra extremidade da VPN. n Deve-se trazer a chave da outra extremidade e colocar dentro do arquivo de configuração. n Primeiro, foi configurado um lado chamado left e depois foi configurado o outro lado, right. Mas, esses nomes são apenas uma convenção.
Arquivo de Configuração do Free. Swan n O arquivo de configuração será igual nas duas extremidades VPN. n Na prática, montamos o arquivo de um lado e depois colocamos na outra ponta. n O que muda entre os dois arquivos é a variável auto, que em uma será auto=start e na outra auto=add.
Executando o IPSec n Inicie o IPSec /etc/init. d/ipsec stop /etc/init. d/ipsec. start n É necessário levantar o IPSec (verificar se o túnel fechou) nas duas extremidades. Ver o arquivo de log.
Arquivo de Log n Verificando o arquivo de log: tail -f /var/log/autoh. log n Testando se o túnel está estabelecido corretamente: colocar algum tipo de programa no meio dessa conexão e verificar como está passando de um lado para o outro da VPN.
Testando o Túnel n Por exemplo, colocamos o programa etherape, baixado de http: //etherape. sourceforge. net/ n Caso algum erro aconteça, verifique a comunicação entre os gateways e se os arquivos estão de acordo com a sua rede.
Montando uma VPN com DHCP n Caso, uma das extremidades seja DHCP (IP dinâmico), como ficaria o arquivo de configuração ipsec. conf ?
Montando uma VPN com DHCP n O arquivo ipsec. conf no lado da máquina DHCP ficaria: conn road left=%defaultroute leftnexthop=%defaultroute leftid=@road. example. com leftrsasigkey=0 s. AQPIPN 9 u. I. . . rightsubnet=10. 0/24 rightid=@xy. example. com rightrsasigkey=0 s. AQOnwi. BPt. . . auto=start n Repetir esse arquivo na outra extremidade fazendo auto=add.
Comandos IPSec n n n Testando a conexão da VPN: ipsec verify Criando as chaves pública e privada: ipsec newhostkey Mostrando as rotas criadas: ipsec look Mostra os nomes dos Hosts (left ou right) ipsec showhostkey Outros comando IPSec: ipsec -help
Montando uma VPN com DHCP n Na outra extremidade, arquivo ipsec. conf será: conn road left=%defaultroute leftnexthop=%defaultroute leftid=@road. example. com leftrsasigkey=0 s. AQPIPN 9 u. I. . . rightsubnet=10. 0/24 rightid=@xy. example. com rightrsasigkey=0 s. AQOnwi. BPt. . . auto=add
- Vpnsa
- Ipsec vpn vs ssl vpn
- Oracle ssl vpn
- Vpn and ipsec concepts
- Untangle vpn setup
- Utilizando uma calculadora efetue as operações
- Ipsec
- Ssl protocol stack
- Ipsec key management
- Vpp ipsec
- Ip security ipsec
- Ipsec
- Ipsec
- Ipsec protocol suite
- Ipsec
- Ovn ipsec
- Lwip ipsec
- Maria quiere construir una caja cuadrada sin tapa
- Pronominalizaciones
- Virtual private database
- Ssl vpn wiki
- Virtual private network
- Uma plastoware private limited
- Has virtual functions and accessible non-virtual destructor
- Uma virtual educa
- Uma uma
- Roberta lacerda
- Atitude é uma pequena coisa que faz uma grande diferença
- Uma onda possui uma frequencia angular de 110 rad/s
- Era uma vez uma ilha onde moravam todos os sentimentos
- Uma pessoa agachada perto de uma fogueira
- Uma pessoa de estatura mediana pretende fazer um alambrado
- Uma equipe de cientistas lançará
- Estudo de probabilidade
- Era uma vez uma menina chamada
- Vou lhe contar uma história de uma jovem chamada maria
- Abo
- Raiz tuberculosa aprumada
- Era uma vez uma sementinha
- Concava e convexa
- Uma flecha lançada uma palavra dita
- Era uma vez uma ilha onde moravam todos os sentimentos
- Uma galinha
- Brainly
- O numero de fichas de certa urna
- Fuvest uma estudante quer usar uma lampada
- Um escoteiro usa uma lupa
- Para copiar
- Poema sobre as estrelas
- Public class person private name
- Types private law
- Intercontinental polymer private limited
- Private label jellies
- Public class employee
- Toshiba private print
- Private const
- C++ class implementation
- Private limited company advantages and disadvantages gcse
- Eventfaqs media private limited
- Horiba butibori
- Nfp p&c private client group
- Kuwaitization private sector
- About valve
- Saving private ryan characters
- Ets6 private
- Private.com
- Private activity bond interest dividends
- Phalippou private equity
- Garuda aerospace private limited
- Aicpa gaac
- Specialty store retailer of private label apparel
- Nec corporation india private limited
- Private pilot limitations and privileges
- Alexis global private limited
- Private tax light
- Vadera tradelink private limited jodhpur
- Private cost