49
Trabalho IPSec – Segurança de Redes Dezembro/2003 Página 1 de 49 Universidade Estadual de Campinas Unicamp IPSec Segurança de Redes – INF542 Prof. Dr. Paulo Licio de Geus Alunos: Luis Fernando B Braghetto Sirlei Cristina da Silva Luis Alberto M. Barbosa Pós Graduação em Redes Computadores

IPSec - Versao Final Menu

Embed Size (px)

DESCRIPTION

ipsec

Citation preview

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 1 de 49

    Universidade Estadual de Campinas

    Unicamp

    IPSec Segurana de Redes INF542

    Prof. Dr. Paulo Licio de Geus Alunos: Luis Fernando B Braghetto

    Sirlei Cristina da Silva Luis Alberto M. Barbosa

    Ps Graduao em Redes Computadores

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 2 de 49

    CAPTULO 1 INTRODUO AO IPSEC .................................................................... 4

    1.1 MOTIVAO ............................................................................................................... 4 1.2 INTRODUO A VPNS ................................................................................................ 4

    1.2.1 Tipos de VPNs: ...................................................................................................... 4 1.2.1.1 RemoteAccess VPNs................................................................................... 5 1.2.1.2 Site-to-Site VPNs ........................................................................................ 5 1.2.1.3 Extranet VPNs ............................................................................................. 6

    1.3 IPSEC ......................................................................................................................... 6 1.3.1 Caractersticas do IPSec .................................................................................... 6 1.3.2 Modos de Operao ........................................................................................... 7

    CAPTULO 2 IPSEC ........................................................................................................ 8

    2.1 INTRODUO .............................................................................................................. 8 2.2 PROTOCOLOS CRIPTOGRFICOS.................................................................................. 8 2.3 FORMATOS DOS CABEALHOS.................................................................................... 9

    2.3.1 Arquitetura de segurana do IP ......................................................................... 9 2.3.1.1 Implementao do IPSec ............................................................................. 9 2.3.1.2 Security Association - SA ......................................................................... 10

    2.3.2 Cabealho IP .................................................................................................... 10 2.3.2 - Cabealho AH ................................................................................................... 11 2.3.3 Cabealho ESP................................................................................................. 12 2.3.4 Cabealhos AH e ESP simultaneamente .......................................................... 13

    2.4 IKE INTERNET KEY EXCHANGE ............................................................................ 14

    CAPTULO 3 - ALGORITMOS....................................................................................... 16

    3.1 - COMO FUNCIONA....................................................................................................... 16 3.2 - QUAIS OS ALGORITMOS ENVOLVIDOS ........................................................................ 16

    CAPTULO 4 - SEGURANA ......................................................................................... 19

    4.1 - GERENCIAMENTO DE CHAVES ................................................................................... 19 4.2 - PROCESSAMENTO DO TRFEGO ................................................................................. 23 4.3 - NAT COM IPSEC....................................................................................................... 24

    4.3.1 Incompatibilidades intrnsecas do NAT: .......................................................... 24 4.3.2 Fraquezas na implementao do NAT: ............................................................ 26 4.3.3 Incompatibilidade Helper: ........................................................................... 27

    4.4 REQUERIMENTOS PARA COMPATIBILIDADE............................................................... 28 4.5 ATAQUE AOS CLIENTES DE VPN .............................................................................. 29

    CAPTULO 5 IMPLEMENTAES IPSEC .............................................................. 30

    5.1 - WINDOWS 2000/2003................................................................................................ 30 5.1.1 - Diretivas da segurana IP ................................................................................ 31 5.1.2 - Opes de segurana IP.................................................................................... 31 5.1.3 - Planejando as diretivas de PKI e IPSec............................................................ 32 5.1.4 - Definindo nveis de segurana .......................................................................... 33

    5.2 - FREEBSD.................................................................................................................. 34 5.4.4.1 - Como configurar sua VPN sem usar ISAKMP (chaves estticas)............. 36

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 3 de 49

    5.4.4.2. Como configurar sua VPN usando ISAKMP (chaves dinmicas) .............. 37 5.3 - FREESWAN (LINUX)................................................................................................ 40

    5.3.1 - Como Instalar?.................................................................................................. 41 5.3.2 - Um exemplo de uma conexo Site-to-Site ......................................................... 42

    5.4 CISCO ....................................................................................................................... 44 5.4.1 Configurando IPSec com IKE. ........................................................................... 44

    CAPTULO 6 - BIBLIOGRAFIAS .................................................................................. 49

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 4 de 49

    Captulo 1 Introduo ao IPSec

    1.1 Motivao A cada dia a Internet est menos segura e cada vez sendo mais usada para uso corporativo. Existem inmeros tipos de ataques, incluindo o eyesdropping que na verdade o uso de um sniffer ou algo semelhante para podermos enxergar o trfego entre duas mquinas para capturar algo importante, desde senhas, dados bancrios, cartes de crdito at mesmo segredos industriais. Ento houve o desejo de conectar duas ou mais empresas de maneira segura. Instalar uma rede privada pode ser fcil em duas empresas vizinhas, porm quando existem matriz, filiais, escritrios e parceiros separados por centenas de quilmetros de distncia isto pode ser muito difcil. A maneira ideal seria usando uma rede pblica, como a Internet, porm compromete-se fortemente a segurana. O uso de protocolos de rede que provejam segurana da comunicao tornam-se importantes na implementao de novos recursos tais como B2B, Intranets, Extranet, etc. VPNs (Redes Privadas Virtuais - Virtual Private Networks) provm conexo segura entre duas hosts ou duas redes, permitindo que conexes privadas sejam estabelecidas usando redes pblicas, tais como a Internet. A VPN responsvel por prover o apoio da rede para executar as tarefas de sigilo (criptografia), autenticao, assinatura e verificao dos segmentos, etc. Alm disso possvel obter economia usando alguns recursos centralizadamente e o acesso atravs desta conexo, tais como servidores de banco de dados, Servidores de Intranets, etc

    1.2 Introduo a VPNs Podemos definir uma VPN como uma emulao de uma rede de longa distncia usando redes IP, tais como Internet ou podem ser visas como redes virtuais operando sobre redes reais. Entre os fatores que podemos citar esto a reduo de custos, capilaridade da Internet, proteo do trfego e fcil instalao. O trfego da VPN no pode ter vazamentos de pacotes por fora do tnel criado para a VPN, como por exemplo os pacotes sinalizao. Porm a vantagem de incluir novos recursos, tambm traz alguns itens a se preocupar com relao proteo da segurana, especialmente dos clientes. Estas desvantagens sero vistas posteriormente.

    1.2.1 Tipos de VPNs:

    Existem 3 tipos de VPNs: - Remote-Access VPNs - Site-to-Site VPNs - Extranet VPNs

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 5 de 49

    1.2.1.1 RemoteAccess VPNs Neste tipo de VPN, o cliente usa um software que permite conectar-se a um servidor de VPN na rede a qual deseja ter acesso. O servidor ir autentic-lo antes de permitir que o cliente se conecte atravs desta conexo que ser estabelecida.

    LAN

    Internet

    UsuriosRemotos

    UsuriosRemotos

    UsuriosRemotos

    UsuriosRemotos

    Servidores

    Acessos VPN

    1.2.1.2 Site-to-Site VPNs Quando duas empresas se conectam atravs de gateways de conexo, sendo assim duas redes distintas so conectadas entre si de maneira segura. Servidores, Roteadores ou equipamentos especializados se responsabilizam por autenticar-se entre si, criar o tnel, rotear pacotes, etc.

    Internet

    UsurioSOHO

    Filial

    Filial

    Matriz

    VPNs do tipo Site-to-Site so uma alternativa para conectar todas as filiais com a matriz, e ainda poder conectar eventuais parceiros a uma nica rede.

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 6 de 49

    1.2.1.3 Extranet VPNs Extranet VPNs conectam consumidores, fornecedores, parceiros e funcionrios na

    Intranet corporativa atravs das conexes feitas pela rede pblica atravs de gateways VPNs e clientes de VPNs.

    Internet

    "VPN"

    UsurioSOHO

    Filial

    Fornecedor

    Parceiro

    Parceiro

    Filial

    Matriz

    UsuriosRemotos

    UsuriosRemotos

    1.3 IPSec A atual pilha do TCP/IP que est hoje em uso em todo o planeta a verso 4. O IPv4 no possui nenhuma caracterstica de proteo ou segurana inerente. No inicio da Internet, a privacidade no era to vital quanto hoje. Os primeiros esforos de padronizao (RFC1825/1829) para IP com segurana, autenticao e cifragem de datagramas foram escritos em 1995.

    Na verdade o IPSec foi a resposta para a falta de segurana do IPv4, e o IPSec atualmente o protocolo mais usado porque possui uma estrutura completa para VPNs. Este protocolo est sendo adotado a cada vez por mais fabricantes, tornando-se um padro de facto. Foram definidos dois cabealhos para o IPSec, o de autenticao (AH) e o de encapsulamento de segurana de carga til (ESP) que prov o ciframento do contedo da mensagem. Durante o estabelecimento da conexo, o IPSec cria um tnel. Este tnel uma conexo especial entre dois hosts. Os gateways so responsveis por cifrar o pacote original, adicionando um novo cabealho IP ao pacote. No gateway de destino, este remove os dados do pacote IP recebido e decifra e repassa rede local.

    1.3.1 Caractersticas do IPSec IPSec usa dois diferentes protocolos (AH e ESP) para garantir a autenticao, integridade, sigilo da comunicao. Ele pode proteger o datagrama IP inteiro ou apenas os protocolos superiores (protocolos de transporte).

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 7 de 49

    1.3.2 Modos de Operao Os modos possveis so o modo tnel e o modo transporte. No modo transporte apenas o payload do datagrama IP gerenciado pelo IPSec, ou

    seja, aps a adio de um cabealho IPSec logo aps o cabealho IP original, de modo que apenas os protocolos superiores podem ser cifrados/autenticados.

    No modo tnel o datagrama inteiro incluindo cabealhos so cifrados e um novo cabealho IP criado. Isto permite escondermos o endereo IP de origem e destino originais, impedindo a alterao ou conhecimento do atacante das partes envolvidas. Um item interessante que com o IPSec pode trafegar apenas IP unicast. Para IP multicast ou multiprotocolos deve-se usar o L2TP (Layer 2 Tunneling Protocol) em caso de VPNs do tipo RemoteAccess VPNs, porque muitas vezes o prprio trfego j PPP e usar o GRE (Generic Routing Encapsulation) para VPNs site-to-site.

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 8 de 49

    Captulo 2 IPSec

    2.1 Introduo Como j visto, o IPSec prov apoio para VPN sobre IP. O IPSec possui trs componentes:

    AH (Authentication Header): fornece servio de autenticao do pacote IP. ESP (Encapsulating Security Payload): fornece cifragem dos datagramas,

    autenticao das partes e integridade dos pacotes. IKE (Internet Key Exchange): negocia parmetros da conexo, tais como

    chaves de sesso. O IPSec prov uma numerosa quantidade de itens de segurana tais como

    criptografia (sigilo), autenticao dos equipamentos e credenciais de usurio, integridade de dados, sigilo dos endereos (address hiding), estabelecimento de chaves e algoritmos de ciframento.

    Tambm deve-se ter em vista que o uso do algoritmo DES (antigo padro de ciframento simtrico de 56 bits) muito pouco, pois em 1999 uma competio quebrou a chave do DES em menos de 23hs. Atualmente recomenda-se o 3DES (168bits) e para integridade dos dados o uso de assinaturas MD5-HMAC (128 bits) ou MD5-SHA1 (160bits). Entretanto o uso de criptografia mais forte significa o aumento do overhead de processamento. O IPSec uma camada virtual entre as camadas 2 e 3 (rede e transporte) do modelo Internet.

    2.2 Protocolos Criptogrficos O IPSec foi construdo baseados nos atuam modelos de criptografia moderna:

    Protocolo Diffie-Hellman para troca de senha secreta entre duas partes quaisquer pela rede pblica

    Criptografia de chave pblica para assinar as trocas pelo Diffie-Helmman para garantir a identidade das partes e evitar o ataque man-in-the-middle.

    DES, 3DES para criptografia simtrica (privacidade)

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 9 de 49

    Algoritmos de integridade do datagrama (hash) como MD5, SHA1. Certificadora digital para validao das chaves pblicas.

    2.3 Formatos dos Cabealhos Vejamos agora como so formados os cabealhos do IPSec. Lembrando que eles so levemente diferente dependendo do modo de operao: tnel ou transporte.

    2.3.1 Arquitetura de segurana do IP Baseado na RFC2401, aqui teremos uma idia geral de como tudo funciona. Como j dito, ele pode trabalhar como cliente/servidor (RemoteAccess VPN) ou atravs de gateways (Site-to-Site VPN). A proteo oferecida baseada nos requerimentos definidos por um banco de dados de polticas de segurana (SPD Security Policy Database). O IPSec prove segurana e negocia os algoritmos usados para os servios de tneis providos s camadas superiores. Ele tambm protege os vrios caminhos entre todos os clientes individualmente. Os servios providos por IPSec, segundo a RFC so o controle de acesso (AH+ESP), autenticao da origem do pacote(AH), integridade sem conexo (AH), integridade de seqncia (rejeio a pacotes repetidos) (AH), confidencialidade(ESP) e possvel a negociao de compresso de dados.

    2.3.1.1 Implementao do IPSec As aplicaes atuais que querem utilizar o IPSEC devem incluir pilhas especiais. A medida que mais e mais redes mudarem para IPv6, o uso destas diminuir. H vrias formas de implementao para o IPSec, desde o servidor, at roteadores ou firewalls. Os tipos mais freqentes so:

    Integrao do IPSec na implementao nativa da pilha TCP/IP. Isto requer acesso ao cdigo fonte e pode ser implementado tanto em servidores como gateways de segurana.

    Implementao chamada Bump-in-The-Stack (BITS) onde o IPSec implementado sobre a pilha TCP/IP existente, entre a camada IP nativa e o

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 10 de 49

    driver de rede local. Acesso ao cdigo fonte neste caso no necessrio, fazendo dessa implementao o tipo ideal para sistemas legados. Isto normalmente usado em servidores.

    Implementao chamada Bump-In-The-Wire (BITW), quando se faz uso de um processador dedicado criptografia e usado em sistemas militares e em sistemas comerciais dedicados. Essa implementao pode ser escolhida para servidores ou roteadores (gateways de VPN). Normalmente o dispositivo BITW possui um endereo IP. Quando suporta apenas 1 host, ele anlogo ao BITS, e quando implementado em um gateway de VPN ele deve operar como gateway de segurana.

    2.3.1.2 Security Association - SA Outro conceito importante a associao de segurana (SA - Security Association). O AH e o ESP usam os SAs e a principal funo do IKE estabelecer e manter o SA. Uma associao de segurana um acordo entre entidades sobre como elas transmitiro informaes de segurana. Um Security Association (SA) tambm pode ser definido como uma conexo simples que prov servios de segurana para o trafego. Os servios de segurana so certos recursos disponveis para um AS para uso do AH ou ESP, mas no ambos. Um SA oficialmente definido por uma trplice de SPI, Endereo IP de Destino e Protocolo (ESP ou AH), e o SPI funciona como uma porta no TCP ou UDP para reconhecimento quando mltiplos trfegos acontecem em um nico endereo de destino.

    Deve ser em mente que uma comunicao bidirecional entre hosts necessita de duas associaes de trfego (SA). Como AH e ESP no podem estar simultaneamente usando o mesmo SA, e as vezes integridade e confidencialidade so imprescindveis precisa-se combinar SAs. Isto chamado de SA bundle.

    Aps um AS ser negociado, ele ser includo em um banco de dados de associaes de segurana (SAD Security Association Database). Isto necessrio porque cada conexo possui caractersticas diferentes, algoritmos, etc.

    2.3.2 Cabealho IP O cabealho IP precisa ser revisto para que mostremos onde o AH e o ESP entraro no formato final do pacote.

    0 1 2 3 . 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Verso | IHL |Type of Service| Tamanho Total | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identificao |Flags| Offset Fragmentos | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Time to Live | Protocolo | Checksum do Cabecalho | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Endereo IP Origem | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Endereo IP Destino | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opes | Enchimento | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 11 de 49

    O IP possui um campo chamado protocolo e exatamente neste ponto que o ESP e o AH entram. O ESP 50 e o AH o protocolo 51, ou seja, quando esse valor colocado no campo protocolo, na rea de dados do IP seguir um novo pacote AH ou ESP.

    2.3.2 - Cabealho AH O Cabealho AH tem vrias funes conforme visto. Para implementar todas as suas funes, veremos o formato do cabealho do pacote de Autenticao

    0 1 2 3 . 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Prximo Cab | Tam Payload | RESERVADO | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Security Parameters Index (SPI) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Campo de Nmero de Sequencia | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + Dados de autenticao (varivel) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    Vejamos os itens do cabealho dos pacotes AH: Prximo Cabealho: Um valor inteiro de 8 bits que identifica o que estar

    presente na parte de dados aps os Dados de Autenticao. o mesmo valor definido pela IANA para os protocolos, exatamente igual ao IP.

    Tamanho do Payload: Valor inteiro de 8 bits que especifica o tamanho do AH em palavras de 32-bits, menos 2 (devido a compatibilidade do IPv61). Normalmente so 96-bits de valor de autenticao, mais 3 palavras de 32-bits da parte fixa, ento o tamanho ser 4.

    Security Parameters Index (SPI): um valor de 32-bits do identificador nico que inclui o protocolo (AH) e endereo de destino, formando o identificador SA.

    Nmero de Seqncia: Este valor de 32-bits sem sinal contm um valor incremental do valor do nmero de seqncia (semelhante ao TCP). Isto faz a propriedade de anti-replay do AH.

    Dados de autenticao: Este campo de valor varivel contm o valor de integridade (ICV Integrity Check Value). Um enchimento (padding) deve ser usado para que o pacote tenha tamanho mltiplo de 32-bit (IPv4) ou 64-bits (IPv6). Este algoritmo usado no ICV deve ser um hash criptogrfico, tais como MD5 ou SHA1 ou ento uma MAC baseada em algum algoritmo como DES (pouco usado). Isto definido pela SA.

    1 Veja RFC2402 item 2.2 e RFC1883.

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 12 de 49

    2.3.3 Cabealho ESP O cabealho ESP (Encapsulating Security Payload) desenhado para prover uma unio entre servios de IPv4 e IPv6. O ESP pode ser usado sozinho ou em conjunto com o AH. O ESP deve ser inserido depois do IP e antes do cabealho do protocolo superior (transporte) ou antes do cabealho IP encapsulado (modo tnel). O ESP prov confidencialidade, confirmao de origem, e anti-replay. A quantidade de servios depende do SA estabelecido e do modo de operao.

    O ESP tem o seguinte formato:

    0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---- | Security Parameters Index (SPI) | ^Auth. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Cov- | Numbero de Seqncia | |erage +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ---- | Dados de Payload* (varivel) | | ^ ~ ~ | | | | |Conf. + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Cov- | | Enchimento (0-255 bytes) | |erage* +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | Tam. Ench. | Prox. Cabec. | v v +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ------ | Dados de Autenticao (varivel) | ~ ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    Os campos do ESP so: Security Parameters Index (SPI): um valor de 32-bits do identificador nico

    que inclui o protocolo (ESP) e endereo de destino, formando o identificador SA.

    Nmero de Seqncia: Este valor de 32-bits sem sinal contm um valor incremental do valor do nmero de seqncia (semelhante ao TCP). Isto faz a propriedade de anti-replay do ESP.

    Dados do Payload: Isto um campo de tamanho varivel que contm os dados referente ao pacote definido no Prximo Cabealho. Se um algoritmo de criptografia for usado, ento os dados de sincronizao tambm devem ser enviados (tais como Vetores de Inicializao). Se a sincronia for implcita, esta deve ser definida pela RFC.

    Padding (Enchimento): O enchimento pode ser usado porque um algoritmo de criptografia precisa de um mltiplo de certo tamanho, para definir delimitadores ou por enchimento para prprio cabealho ESP.

    Tamanho do Pad: Este campo indica que um nmero de bytes de enchimento est precedendo ele. O valor pode ser de 0 255.

    Prximo Cabealho: Um valor inteiro de 8 bits que identifica o que estar presente na parte de dados. o mesmo valor definido pela IANA para os protocolos, exatamente igual ao IP e ao AH.

    Dados de Autenticao: Este campo varivel contm um ICV calculado sobre o pacote ESP menos os dados do prprio campo de autenticao.

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 13 de 49

    Igualmente ao AH, o ESP pode ser empregado em dois modos: transporte ou tnel. No modo transporte, o ESP inserido aps o IP e antes dos cabealhos superiores, provendo os servios para os mesmos, tais como TCP, UDP, ICMP, etc.

    Vejamos como fica isso:

    IPv4 Pacote IP Original

    TCP Dados

    IPv4 Pacote IP

    Original ESP TCP Dados ESP

    (Trailer) Autenticao ESP

    criptografado autenticado No modo tnel, o ESP usado em gateways de VPNs, e o gateway cria um novo cabealho IP para carregar o IP original. IPv4 Novo

    Pacote IP

    ESP Pacote IP Original

    TCP Dados ESP (Trailer)

    Autenticao ESP

    criptografado autenticado

    2.3.4 Cabealhos AH e ESP simultaneamente Como visto, o IPSec trabalha em dois modos: Transporte e Tnel. No modo transporte apenas o segmento da camada de transporte autenticado e criptografado. No modo tnel, todo o pacote autenticado e um novo datagrama adicionado. O modo tnel feito para uso em servidores VPN. O cabealho AH inserido aps o IP e antes do TCP/UDP/ICMP (ou ainda outro cabealho ESP), porm os endereos IPs originais ainda esto susceptveis para alterao. Porm alm de aplicar AH ou ESP, o IPSec pode requerer suporte para combinaes dos dois modos. A idia utilizar um tnel para autenticao e seu cabealhos internos (IP Original que aqui chamaremos de IP Original), e ento aplicar AH ou ESP ou ambos externamente em modo de transporte para ampliar a proteo para o novo pacote e cabealho original criando um cabealho externo (Novo cabealho IP que aqui chamaremos IP Novo). Deve ser observado que em modo tnel, o AH e o ESP no so usados ao mesmo tempo, pois o ESP tem seu prprio esquema de autenticao. Isso recomendado para pacotes quando o pacote interno (IP1) precisa autenticao e cifragem.

    No modo Transporte o formato dos pacotes seriam:

    IP Original AH Cabealhos Superiores

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 14 de 49

    IP Original ESP Cabealhos Superiores

    IP Original ESP AH Cabealhos Superiores

    No modo tnel o formato dos pacotes seriam:

    Novo IP AH IP

    Original Cabealhos Superiores

    Novo IP ESP IP

    Original Cabealhos Superiores

    Porm existe um modo de fazermos ambos, chamado de modo combinado. IP Novo ESP IP Novo AH IP Original Cabealhos

    Superiores IP Novo AH ESP IP Novo AH IP Original Cabealhos

    Superiores Entretanto, nesta configurao no somente os pontos fortes do AH e ESP so combinados, mas tambm os problemas. Ento voc tem uma configurao que possui todos os problemas do NAT no AH e os pesos de processamento adicionais do ESP, somados ao processamento do AH. Essa relao prov uma segurana extra e um alto preo, e no mundo real, tais configuraes so relativamente incomuns.

    2.4 IKE Internet Key Exchange O IKE (Internet Key Exchange) prov o gerenciamento da segurana para o Security Association. O IKE autentica cada ponto (host/gateways/servidores) de uma conexo IPSec, negocia polticas de segurana e manipula as trocas das chaves de sesso. Alm disso possvel usar certificados X509v3 para a autenticao dos equipamento envolvidos durante a negociao do IKE. O gerenciamento dos certificados inclui o uso do SCEP (Simple Certificate Enrollment Protocol), que permite a comunicao com uma Autoridade Certificadora (CA Certificate Authority). Este certificado suporta ainda estrutura hierrquica para o uso em uma infra estrutura de chaves pblicas (PKI Public Key Infrastructure). Os componentes para isso incluem o uso do protocolo de chaves pblicas Diffie-Hellman para estabelecer uma chave de sesso mesmo estando em um meio inseguro, como a Internet. Resumidamente o IKE prov quatro funcionalidades:

    Prov meios para as partes negociarem quais protocolos, algoritmos e chaves a sero usadas.

    Garante a identidade das partes, tanto do cliente, quanto do servidor.

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 15 de 49

    Gerencia as chaves aps elas estarem em uso Garante que as trocas de mensagens que contm chaves sejam feitas por meios

    muito seguros.

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 16 de 49

    Captulo 3 - Algoritmos O protocolo IPSec baseou-se em determinados padres e algoritmos criptogrficos para prover a confidencialidade, integridade e autenticao em nveis mais baixos, camada 3, camada de rede.

    3.1 - Como funciona O uso dos algoritmos criptogrficos na implementao do IPSec, baseai-se nos algoritmos j conhecidos como Diffie-Hellman, uso de chaves publicas entre outros. Abaixo seguem alguns protocolos:

    - Protocolo Diffie-Hellman com a finalidade da troca de senhas secretas entre as partes de uma rede de dados pblica;

    - O uso de criptografia de chaves publicas para realizar a assinatura das trocas pelo Diffie-Hellman garantido a identidades das partes envolvidas no processo de comunicao;

    - DES, 3DES e outros algoritmos para a criptografia dos dados; - Algoritmos de resumo digital conhecidos como hash para a autenticao dos

    pacotes, como HMAC, MD5 e SHA-1; - Certificados digitais para a validao de chaves pblicas. As tecnologias de criptografia foram traadas nas RFCs 2406 e aprofundas nas

    RFCs 2408 e 2409.

    3.2 - Quais os algoritmos envolvidos Os componentes principais das tecnologias de criptografia so o cabealho de autenticao (AH Aunthentication Header) e o protocolo de segurana (ESP Encapsulation Security Payload) visto no capitulo anterior e estaremos aprofundando neste capitulo, e o gerenciamento de chaves que ser abordado no capitulo seguinte de segurana. O projeto do AH e do ESP so modulares, o que possibilita o uso de novas implementaes e algoritmos a medida que o mercado for evoluindo. Para realizar uma padronizao o uso de uma determinada transao segura (SA Security Association), o IPSec usa o conceito de Domnio de interpretao (DI Domain Interpretation), no qual os algoritmos criptogrficos, tamanho de chaves, formato, dentre outros so definidos primeiramente durante o estabelecimento da conexo segura. A figura abaixo ilustra o funcionamento:

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 17 de 49

    Para cada fase da comunicao segura requer uma SA, sendo assim a mesma necessria para a autenticao e para criptografia dos dados. Para isto mesmo que o algoritmo utilizado seja o mesmo o conjunto de chaves so distintas. O cabealho de autenticao normalmente colocado entre os campos IP e TCP e nenhuma modificao realizada nos dados do pacote ou seja no payload. O cabealho AH, como visto anteriormete composto de 5 campos contendo basicamente as informaes do prximo cabealho, comprimento dos dados, ndice dos paramtros de segurana (SPI-Security Parameter Index), nmero de sequencia e dados de autenticao. O SPI tem a funo de informar ao receptor quais protocolos de segurana o remetente est utilizando para realizar a comunicao. Ou seja, para fazer autenticao dos dados ele est utilizando o HMAC (hash-based Message Authentication Code) aclopado com o MD5 (desenvolvido RSA) ou o SHA-1 (Secure Hash Algorithm Modified). Ultimamente o protocolo que vem sendo mais utilizado o SHA devido as suas caractersticas de segurana tido como mais imune aos ataques de coliso. Existe a combinao deste dois protocolos que conhecida como HMAC-SHA-1, neste o hash tem 96 bits e trucado aps seu calculo. O AH possui tambm mecanismos para evitar retransmisses de pacotes o que causa os Denial of Services, so chamados de anti-replay. O protocolo AH faz a autenticao somente do contedo do pacote o cabealho trafega em clear text pela rede, para realizar a confidencialidade dos dados faz se o uso de um outro protocolo, o ESP, j mencionado anteriormente. Este protocolo responsvel pela cifragem dos dados, ele inserido entre o cabealho ip e o restante do datagrama. Juntamente com o ESP inserido o SPI para informar como o pacote deve ser aberto. Um contador localizado no ESP informa quantas vezes um mesmo SPI foi direcionado a um determinado endereo IP de destino.Evitando ataques onde os pacotes so copiados e enviados fora de ordem. Os algoritmos de criptografia mais utilizados so o DES e 3DES, a autenticao provida pelo ESP diferente do AH pois ela no protege o cabealho IP que procede, embora o cabealho IP protegido quando estiver em modo Tnel. O AH por sua vez

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 18 de 49

    protege o cabealho externo, as duas solues geralmente no so utilizadas em conjunto devido ao custo de processamento. A finalidade dos protocolos AH e ESP de garantir a segurana dos servios envolvidos como: o controle de acesso, a integridade dos dados, a autenticao e confidencialidade dos mesmos. A figura abaixo mostra em quais protocolos esto presentes estas caractersticas:

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 19 de 49

    Captulo 4 - Segurana

    4.1 - Gerenciamento de Chaves O gerenciamento de chaves realizado pelo IPSec pode ser realizado de forma manual ou automtico dependo do numero de sites conectados. um dos processos mais importantes do IPSec e da segurana que ele possui. Um dos ataques que pode ser evitado com o correto gerenciamento das chaves o man-in-the-middle no qual um intruso pode capturar as trocas de informaes entre a comunicao entre dois hosts.

    O IKE est relacionado intimamente com o gerenciamento do SA. Quando um SA criado, as chaves devem ser negociadas. IPSec tambm prov um meio para o uso de chaves manuais, gerenciados por um administrador de rede, porm em uma rede grande isso muito difcil de ser feito.

    Na realidade, o IKE baseado em uma combinao de protocolos: o ISAKMP (Internet Security Association and Key Management Protocol) que responsvel pela negociao da segurana e o SKEME (Security Key Exchange Mechanism) responsvel pela troca de chaves.

    Segue a estrutura do cabealho do protocolo ISAKMP (o protocolo de transporte utilizado o UDP, na porta 500):

    - Cookie valores aleatrios gerados pelas entidades. Utilizados contra ataques de

    replay e DoS. Tambm so utilizados para identificao da SA entre as duas entidades depois que a negociao for concluda;

    - Px payload responsvel pela identificao do tipo do prximo payload do pacote. Este campo pode assumir os seguintes valores:

    0 - Nenhum (ltimo payload) 1 - Security Association 2- Proposta 3 - Transformao 4 - Troca de Chaves 5- Identificao 6- Certificado (CERT) 7 - Pedido de Certificado

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 20 de 49

    8 - Hash 9 - Assinatura 10 - Nonce 11- Notificao 12 - Deleo 13 - ID de vendedor Reservado 14 127 Uso Particular 128 255 - Verso - atualmente tem valor 1; - Tipo de comunicao responsvel pela determinao das mensagens e dos

    payloads seguintes. - Flags indicam opes utilizadas na comunicao (RFC2408); - Identificao responsvel em identificar unicamente uma mensagem. Utilizado durante a fase 2; - Tamanho tamanho total da mensagem (Header + Payload). O protocolo IKE opera em duas fases: 1 Fase: os dois pares estabelecem um canal seguro para realizar as operaes do

    ISAKMP ( ISAKMP SA); 2 Fase: os dois pares negociam os SA de propsito geral. O objetivo de dividir em fases de eliminar redundncias entre os pontos de

    negociao do SA e consequentemente ganho de processamento, pois o canal seguro j est estabelecido na primeira fase.

    O IKE pode estabelecer as chaves de trs maneiras: Modo Normal, Agressivo ou

    Rpido (Main Mode, Aggressive mode and Quick Mode). 4.1.1 Modo Principal (Main mode) Faz a fase de troca do ISAKMP, ou seja o estabelecimento do canal seguro de

    comunicao. composto de 3 fases com 2 mensagens cada - Fase1: as partes envolvidas trocam informaes sobre os algoritmos e hashes

    basicos a serem utilizados. - Fase2: trocam chaves publicas para uma negociao Diffie Helman e fornecem

    os nmeros aleatrios que a outra parte deve de assinar e devolver para provar sua identidade.

    - Fase3: verificado as identidades. Quando o mtodo de autenticao escolhido for o de Chave Compartilhada, a chave ser derivada de um segredo, sendo utilizada uma funo de hash nessa chave derivada que ser trocada entre as duas entidades, sendo esta a informao de autenticao. Se o mtodo de autenticao escolhido for o de Assinatura Digital, ser necessrio o uso de Certificado Digital que contenha a Assinatura das entidades a serem autenticadas;

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 21 de 49

    Origem Destino

    Cabe.Cabe.

    Cabe.

    Cabe.Cabe.

    Cabe.

    SASA

    nonce

    nonceid

    id

    chave

    chaveAssinat.

    Assinat.[certif.]

    [certif.]

    o

    o

    o

    d

    Cifrado

    Cifrado nonce = Dados nonce (aleatrio) ID = Payload de Identificao Cert. = Certificado Digital (opcional) Chave = Payload de Chaves Assinat. = Assinatura do desafio remoto

    Assinat. = Assinatura do desafio remoto

    4.1.2 Modo Agressivo (Agressive mode)

    uma outra forma de realizar a troca do ISAKMP, atuando de forma mais simples e rpido do que o modo anterior, mas em compensao no protege as identidades dos membros envolvidos na negociao, porque ele transmite suas identidades antes do estabelecimento do canal seguro de comunicao.

    No primeiro passo, onde passada a proposta de SA, a chave, o nonce para a outra entidade assinar, e um ID para verificar a identidade do emissor. No segundo passo o receptor responde com os dados necessrio, finalizando com o emissor confirmando os dados no terceiro passo.

    Como o Modo Agressivo tem apenas uma etapa, ele tem menor overhead, fazendo com que seja mais rpido do que o Modo Principal. Mas o modo mais utilizado e mais seguro o Modo Principal, principalmente porque no Modo Agressivo as informaes de autenticao no so criptografadas.

    Cabe. chave idd

    DestinoOrigem

    Cabe.

    Cabe.

    SAchave

    Assinat.Assinat.

    [certif.]

    [certif.]

    nonceoid ononced

    nonce = Dados nonce (aleatrio) ID = Payload de Identificao Cert. = Certificado Digital (opcional) Chave = Payload de Chaves Assinat. = Assinatura do desafio remoto Assinat. = Assinatura do desafio

    remoto 4.1.3 Modo Rpido (Quick mode)

    Faz a segunda fase da troca ou seja realiza a negociao de um SA para a comunicao de uso geral. No passo 1 o emissor envia uma mensagem com hash, um nonce, os IDs identificando cada entidade, alm dos parmetros da proposta de SA. No passo 2 o receptor responde com uma mensagem parecida, acrescentando

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 22 de 49

    seu prprio nonce e hash para confirmao. No passo 3 o emissor responde com um hash dos dois nonces, assim, completando a troca e estabelecendo o SA IPSec. Para evitar que um intruso que capturou a chave utilizada na fase 1 descriptografe a comunicao da fase 2, pode-se utilizar a tcnica Perfect Forward Secrecy, onde a chave ser derivada por meio do algoritmo de Diffe- Helman. Este procedimento reduz a performance, mas aumenta a segurana da comunicao.

    nonceo

    Cabe. chave

    DestinoOrigem

    Cabe.

    Cabe.

    SA

    SA

    Hash

    Hash

    chave

    Assinat.

    id /ido od

    id /ido dnonced

    nonce = Dados nonce (aleatrio) ID = Payload de Identificao Cert. = Certificado Digital (opcional) Chave = Payload de Chaves Assinat. = Assinatura do desafio remoto Assinat. = Assinatura do desafio

    remoto

    O IKE possui tambm um modo chamado de Modo Novo (New Group mode), no qual prov a fase um de negociao e utilizado para definir um mecanismo de grupos privados para a troca do tipo Diffie-Hellman.

    Para o estabelecimento de uma conexo IKE segura, devemos seguir os itens abaixo:

    O algoritmo de criptografia para proteger dos dados; Um algoritmo de hash para assinatura digital; Um mtodo de autenticao para assinar o hash; Informao sobre o qual grupo a troca Diffie-Hellman deve ser feita; Especificao da funo pseudo randmica para fazer o hash de certos valores

    durante a troca de chaves, para a verificao. Se nada for especificado, o padro a verso HMAC.

    Depois da negociao do SA, as entidades esto prontas para se comunicar em uma rede publica, de modo seguro, formando um tnel VPN.

    Segue o diagrama com o fluxo das chaves de criptografia:

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 23 de 49

    Um outro tipo de gerenciamento de chaves existente para o IPSec SKIP (Simple

    Key Managemment for IP), utilizado pela San e Novell. Em vez de utilizar chaves orientadas a sesso, o Skip utiliza chaves orientadas a pacote, as quais so comunicadas em linha com os pacotes. Esse protocolo no faz parte do padro em uso pelo grupo de trabalho do IPSec.

    4.2 - Processamento do trfego Para o estabelecimento de uma conexo VPN com base em IPSec, existe alguns passos bsicos: O gateway verifica atravs de uma poltica de segurana se o host pode ser conectado, ou seja criado um tnel virtual. Caso est verificao seja afirmativa o gateway inicia a negociao do Security Association (SA) da sesso; aps isto o host se comunica por meio de um canal seguro. Alm de todos os itens de segurana aplicados a uma VPN como autenticidade da conexo e dos usurios, integridade. Um outro fator muito importante ao controle de trafego e qualidade de servio e gerenciamento. O controle do trafego faz se necessrio para resolver uns dos problemas no s relacionado a VPNs para no trafego das redes em geral a qualidade de servio. Este controle realizado fundamentalmente pelo controle de banda, onde determinado a largura que cada protocolo deve trafegar pela rede visando uma melhor desempenho das aplicaes. Garantindo por exemplo uma banda para o IPSec pode evitar que o link de saida para a Internet esteja com alta utilizao de trafego de HTTP e FTP e esteja impactando aplicaes mais criticas que estejam em uma VPN. Existem outros protocolos que realizam a funo de controle de banda dentre eles o MPLS e o DiffServ. O gerenciamento tem como objetivo facilitar a integrao da VPN com a poltica de segurana da organizao por meio de gerenciamento local ou remoto. Existem ferramentas para auxiliar no processo de monitorao, soluo de problemas e at

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 24 de 49

    contabilidade do servio. A contabilidade passa a ser importante para empresa que prove os servio de VPN a terceiros, pois a cobrana pode ser realizada baseando-se na confiabilidade, alto desempenho ou nveis de servios. A garantia de qualidade de servio pode ser incorporada aos nveis de custo, como por exemplo, pacotes que requer maior garantia de desempenho na rede podem ter uma valor diferenciado dos pacotes normais da rede. Antes de contratar estes tipos de servios VPN, interessante se atentar a algumas informaes como: rea de cobertura, acesso, desempenho, segurana, gerenciamento, largura de banda e garantia de qualidade de servio.

    4.3 - NAT com IPSec Uma das utilizaes mais comuns do IPSec est em fornecer as potencialidades para as VPNs que esto cada vez mais populares o uso das mesmas para a comunicao entre parceiros, entre empresas. Em paralelo a isto muitas delas utilizam o conceito de NAT (Network Address Translation) para realizar esta comunicao de forma mais segura e sem riscos de conflito de endereamento entre as partes. Porem existe algumas restries quanto ao uso do IPSec com o NAT que tornam uma das maiores barreiras de implantao de VPNs com IPSec. Iremos descrever estas incompatibilidades e como contorn-las. As principais incompatibilidades entre NAT e IPSec podem ser divididas em trs categorias: 5 As intrnsecas do NAT: Estas incompatibilidades derivam-se diretamente da

    funcionalidade do NAT descrita na RFC3022. Estas incompatibilidades esto presentes em qualquer equipamento com NAT.

    6 Fraquezas na implementao do NAT: Estas incompatibilidades no so intrnsecas ao protocolo, porem esto presentes em muitas implementaes como problemas em segurar fragmentos inbound ou outbound. Entretanto, se os problemas da implementao estiver espalhado pela rede necessrio fazer analises para uma soluo traversal de NAT.

    7 Incompatibilidade Helper: Estas incompatibilidades esto presentes nos dispositivos de NAT que tentam fornecer para IPsec NAT traversal. De um forma irnica, esta funcionalidade do "ajudante" cria algumas incompatibilidades adicionais, fazendo um problema j difcil mais complicado de ser resolvido. Quando a funcionalidade traversal do "ajudante" de IPsec no estiver presente em toda a implementao de NATs, estas caractersticas esto tornam-se cada vez mais populares e necessitam tambm de ser analisadas de uma forma transversal.

    Vamos analisar cada um destes tpicos de incompatibilidade.

    4.3.1 Incompatibilidades intrnsecas do NAT: As incompatibilidades intrnsecas entre NAT e IPSec incluem:

    a) IPsec Autentication Header definido na RFC2402 e NAT. O cabealho AH, como

    visto anteriormente, incorpora o IP de origem e endereos de destino durante o

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 25 de 49

    processo de checagem de integridade das chaves. Os dispositivos NAT ou NAT reversos que fazem mudanas nos campos de endereo invalidando a verificao da integridade da mensagem. O cabealho do IPsec ESP no incorpora o IP de origem e os endereos de destino durante o processo de checagem de integridade das chaves, desta forma este problema no ocorre com o protocolo ESP.

    b) Incompatibilidade entre o checksums e o NAT. Os checksums de controle do

    TCP e do UDP tm uma dependncia com Ip de origem e nos endereos de destino atravs da incluso do "pseudo-encabeamento" no clculo. Como resultado, as somas de controle so calculadas e verificadas no receptor, invalidado a passagem do NAT ou do NAT reverso. Em contra partida, o IPSec ESP passa tranqilo com o NAT se os protocolos TCP/UDP no esto envolvidos, como em um Tunel Ipsec ou no IPSec/GRE, ou se as somas de controle no so calculadas (como possvel com o UDP IPv4). Como descritos na RFC793, o clculo da soma de controle do TCP e a verificao so requeridos no IPv4. O clculo e a verificao da soma de controle de UDP/TCP so requeridos em IPv6. SCTP definido nas RFCs 2960 3309 usa um algoritmo de CRC32C calculado somente no pacote de SCTP (cabealho + chunks), de modo que o cabealho IP no seja coberto. Em conseqncia, NATs no invalida o SCTP CRC, e o problema de incompatibilidade no existe. importante lembrar que o trfego de IPsec deve ser garantida a integridade protegida e autenticada usando o criptografia forte, as modificaes no pacote podem ser detectadas antes de verificar UDP/TCP.

    c) Incompatibilidade entre IKE e NAT entre identificadores de endereo de IKE e

    NAT. Onde os endereos do IP so usados como identificadores em IKE milmetro ou QM, a modificao do IP de origem ou dos endereos de destino por NATs ou por NATs reverso resultar em uma mau combinao entre os identificadores e os endereos no cabealho IP. As execues de IKE so requeridas para rejeitar tais pacotes. Para evitar o uso de endereos IP como identificadores de IKE milmetro e de QM, os userIDs e FQDNs podem ser usados preferivelmente. Onde a autenticao do usurio desejado, um tipo do ID de ID_USER_FQDN pode ser ultilizado ou onde o a autenticao desejada da mquina, um tipo do ID de ID_FQDN pode ser utilizado. Em um ou outro caso necessrio verificar que a identidade proposta combina com aquela includa no certificado. Entretanto, quando o uso tipos da identidade de USER_FQDN ou de FQDN for possvel dentro de IKE, h os cenrios do uso (por exemplo entradas do SPD que descrevem subnets) que no podem ser realizados desta maneira.

    d) Incompatibilidade entre sobrepor entradas do SPD e NAT. Onde os hosts atrs

    de um NAT negociam entradas sobrepondo do SPD com o mesmo destino em IKE QM, os pacotes podem ser emitidos com IPsec errado. Isto ocorre porque ao remetente, o IPsec SAs parece ser equivalente, a no ser que existem entre os mesmos endpoints e podem ser usados passar o mesmo trfego.

    e) Incompatibilidade entre a seleo de IPsec SPI e NAT. No IPsec o trfego

    cifrado ESP e assim fica transparente ao NAT, os elementos NAT e ao cabealho de IPsec para desmultiplexar o trfego de entrada do IPsec. A combinao do endereo

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 26 de 49

    IP de destino, do protocolo da segurana (AH/ESP) e do IPsec SPI tipicamente utilizado para este propsito. Entretanto, desde que o trafego de entrada e sada do SPIs escolhido seja independentemente, no h nenhuma maneira para que o NAT determine que SPI de destino corresponde a somente pelo trfego de sada. Sendo assim dois hosts atrs do NAT ao tentar trazer acima simultaneamente IPsec SAs para o mesmo destino, possvel que o NAT emite os pacotes de entrada de IPsec ao destino errado. Note que isto no tipicamente uma incompatibilidade com o IPSec mas tipicamente a maneira com que implementado. Em ambos os protocolos AH e ESP, o host receptor especifica a SPI para ser utilizada na SA. combinao do IP do destino, do SPI, e do protocolo da segurana (AH, ESP) identifica excepcionalmente uma associao da segurana. Isto significa que o host de recepo pode selecionar SPIs tais que tem uma associao da segurana (SA) como por exemplo: (SPI=470, Dest IP=10.2.3.4) e uma associao diferente da segurana com (SPI=470, Dest IP=10.3.4.5).

    f) Incompatibilidade entre endereos agregados aos Ips e NATs. Desde que no

    payload a integridade protegida, nenhum dos endereos IP includos dentro dos pacotes do IPSec sero transladados por um NAT. Isto gera uma ineficincia na ALGs (Application Layer Gateways) implementadas com o NAT. Protocolos que utilizam os endereos agregados ao Ip como o FTP, IRC, SNMP, LDAP, o H323, o SIPm o SCTP. Para corrigir este problema necessrio instalar as ALGs no host ou security gayeway que pode operar com o trafego da aplicao antes do encapsulamento IPSec e aps o decapsulamento do IPSec.

    g) Implcito direcionamento para o NAT: requer que o pacote de inicial de sada

    percorra fim a fim criando um traado de inbound. Probe o estabelecimento de de conexes IPSec no solicitadas para hosts atras do NAT.

    4.3.2 Fraquezas na implementao do NAT:

    Durante a implementao alguns problemas so citados:

    a) Inabilidade suportar o trfego de non-UDP/TCP. O trfego de IPSec descartado, ou seja incapaz de passar trfego: SCTP, ESP (protocolo 50) ou AH (protocolo 51).

    b) Mapeamento de timeouts. Os NATs varia de tempo o com o mapeamento UDP e ser mantido na ausncia do trafego, nivelando assim onde os pacotes de IKE podem ser corretamente traduzidos, o estado de traduo pode ser removido prematuramente se o timeout expirar.

    c) Inabilidade de suportar fragmentao: maioria dos NATs podem corretamente fragmentar pacotes IP se o tamanho do pacote do IP exceder o MTU. Entretanto, a traduo apropriada dos pacotes que so fragmentados j so difceis e a maioria de NATs no seguram esta funcionalidade corretamente. Como por exemplo: onde

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 27 de 49

    dois hosts originam pacotes fragmentados para o mesmo destino, os identificadores do fragmento podem se sobrepor. Desde que o host de destino confia no identificador na fragmentao para a remontagem, o resultado ser corrupo de dados. Poucos NAT protegem s colises do identificador suportando a traduo do mesmo. As colises do identificador no so um problema do NATs quando executa a fragmentao se o identificador do fragmento necessitar somente de um nico origem/destino por vez. Desde que somente o primeiro fragmento conter tipicamente um cabealho completo de IP/UDP/SCTP/TCP, a necessidade de NATs poder executar a traduo baseado no identificador do endereo IP e do fragmento de origem/destino sozinho. Desde que os fragmentos podem ser requisitados novamente, os cabealhos a um identificador dado do fragmento no podem ser reconhecidos se um fragmento subseqente chegar antes do inicial, e os cabealhos podem ser divididos entre os fragmentos. Em conseqncia, o NAT pode necessitar executar a remontagem antes de terminar a traduo. Poucas implementaes de NAT fazem isto. Note que com NAT, o endereo IP de origem/destino so bastantes para determinar a traduo, no entanto, possvel para que os cabealhos de IPsec ou de IKE sejam divididos entre os fragmentos, de modo que na remontagem possa ainda ser requerida.

    4.3.3 Incompatibilidade Helper: Segue algumas incompatibilidades entre o IPSec e a funcionalidade do NAT

    Helper: a) Inspeo do cabealho ISAKMP. Atualmente algumas implementaes de

    NAT utilizam cookies IKE para demultiplexar o trfego de entrada do IKE. Como porta de origem, o cookie IKE multiplexado resulta em problemas com a redistribuio de chaves, desde a fase primeira fase de redistribuio tipicamente no usar os mesmos cookies que o trfego mais adiantado.

    b) Tratamento especial da porta 500. Em algumas implementaes IKE no so

    capazes de garantir a porta de origem UDP 500. Alguns NATs no traduz pacotes com esta porta de origem UDP, isto significa que estes NATs so limitados para o client IPSec trocar informaes com o gateway de destino, ao no ser que sejam inspecionados os detalhes do cabealho do ISAKMP para examinar os cookies que gera o problema acima.

    c) Inspeno do payload ISAKMP. As implementaes de NAT que analisam o

    payload ISAKMP podem no suportar todos os tipos de combinao de ordenao de payloads, ou suportar o payload de vendedor_ID para a opo de negociao do IKE.

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 28 de 49

    4.4 Requerimentos para compatibilidade Para estabelecer uma soluo de implementao de IPSec com NAT, alm do

    estabelecimento de tneis IPSec, alguns itens devem ser levados em conta:

    8 Distribuio: Embora as implementaes de NATs com o Ipv6 sejam, relacionado a tempo, mais facilmente resolvidas ainda levar se um bom tempo para que o uso desta tecnologia amadurea no mercado uma vez que ter que haver a troca de routers e novas implementaes em hosts enquanto que trabalhar com as incompatibilidades existentes na implementao de NAT com IpSec no Ipv4. Pois as incompatibilidades deve ser resolvidas em uma escala de tempo menor que a difuso do Ipv6.

    9 Compatibilidade de Protocolos: uma soluo transversal NAT de IPsec no se

    espera resolver edies com protocolos que no podem atravessar NAT com IPSec. Consequentemente, ALGs pode ainda necessitar de alguns protocolos, mesmo quando uma soluo transversal NAT de IPsec est disponvel.

    10 Segurana: desde que o NAT direto tem a funo de segurana, IPsec NAT e as

    solues transversais no devem permitir a entrada do trafego IPsec de forma arbitraria. Sendo assim nenhum IP a ser recebido por um host atrs do NAT, embora mapeamento o estado deve ser mantido de forma bidirecional para que a conexo IKE e IPSec seja estabelecida.

    11 Cenrio de Telecomutadores: O cenrio de telecomutadores desde do uso do IPSec

    para o acesso remoto a Intranets Corporativas, uma soluo transversal de NAT DEVE suportar NAT transversal atravs da modalidade de tnel de IPsec ou do transporte de L2TP IPsec [ RFC 3193 ]. Isto inclui suporte para transversal de mais de um NAT entre o cliente remoto e o Gateway VPN. O cliente pode ter um endereo rotevel e o Gateway VPN pode estar atrs de um NAT, ou alternativamente, o cliente e a Gateway VPN podem ser atrs de um ou mais NATs. Telecomutadores pode usar o mesmo IP confidencial, cada um atrs de seu prprio NAT, ou muitos telecomutadores podem residir em uma rede confidencial atrs do mesmo NAT, cada uma com seu prprio endereo confidencial original, conectando mesmo Gateway VPN. Desde que IKE utilize a porta 500 do UDP como o destino, no necessrio permitir gateways mltiplos de VPN que operam-se atrs do mesmo endereo IP externo. Em um cenrio gateway-gateway uma rede privada (DMZ) pode ser introduzida entre a rede corporativa e a Internet. Neste projeto, conectar gateways segurana de Ipsec com endereos privados.

    12 Compatibilidade de Firewall: Desde que os firewalls so desenvolvidos, a soluo

    de compatibilidade de NAT-IPsec deve estar habilitada para o administrador criar, regras de acessos estticos para permitir ou rejeitar o trafego transversal de IKE e IPSec NAT. Isto implica, para o exemplo, que o alocao de portas dinmicas de IKE ou de IPsec deve ser evitado.

    13 Escala: Uma soluo IPsec-NAT da compatibilidade deve ser capaz de ser

    desenvolver a instalao de vrios telecomutadores. Nesta situao, no possvel

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 29 de 49

    supor que somente um nico host estar comunicando com um destino em um dado momento. Assim, uma soluo IPsec-NAT compatvel deve atentar-se a sobreposio dos dados.

    4.5 Ataque aos Clientes de VPN

    Quando um cliente VPN age como um roteador ou gateway, isto pode causar srios problemas de segurana na rede. Isto acontece porque o cliente VPN possui duas conexes ativas (Internet e um acesso a VPN). Desta maneira, um hacker pode utilizar a conexo da Internet para ter acesso para a conexo da VPN, e assim o hacker pode injetar dados autenticados e cifrados para o ataque na matriz. Uma maneira de evitar esses problemas remover o recurso de roteamento de pacotes neste cliente. Por padro clientes no devem rotear pacotes para a rede interna da organizao, ou que essas sejam usadas s em ltimo caso. Uma outra possibilidade de forar o roteamento a utilizao de source-routing, que se aceito pela mquina poderia fazer uma rota que seria impossvel, ou ainda usar este ataque para criar rotas de retorno para ataques do tipo IP Spoofing Sem contar que o cliente VPN pode ser atacado atravs de falhas nas aplicaes (tais como ataques de Buffer Overflow), fazendo com que esta esteja sob domnio do hacker. Se isso acontecer, o hacker ter pleno acesso rede corporativa da empresa atravs da VPN, ou ainda abusar da relao de confiana da matriz com os clientes VPNs autenticados. [PLG03]

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 30 de 49

    Captulo 5 Implementaes IPSec

    5.1 - Windows 2000/2003

    O Microsoft Windows 2000 Server inclui uma implementao da Internet Protocol Security (IPSec, segurana do protocolo da Internet), baseada nos padres IETF para IPSec. A implementao da segurana IP no Windows 2000 foi criada para proteger as comunicaes ponta-a-ponta entre hosts. Supe-se que o que est entre eles, o meio usado para a transmisso de dados, no seguro.

    Os dados do aplicativo do host que est iniciando a comunicao so criptografados de forma transparente antes de serem enviados atravs da rede. No host de destino, os dados so descriptografados de forma transparente antes de serem passados para o aplicativo receptor. Criptografar todo o trfego da rede IP garante que qualquer comunicao que use o TCP/IP esteja protegida contra escutas. Como os dados so transmitidos e criptografados no nvel do protocolo IP, no so necessrios pacotes de segurana distintos para cada protocolo do stack TCP/IP.

    Geralmente, um nvel alto de segurana aumenta a administrao. O Windows 2000 fornece uma interface administrativa, o IP Security Policy Management, para gerenciar de forma centralizada as diretivas, equilibrando facilidade de uso e segurana. As diretivas de IPSec podem ser facilmente configuradas para atender s exigncias de segurana de um usurio, grupo, aplicativo, domnio, site ou empresa global. As diretivas se baseiam em metodologias crticas de filtragem de IP, deixando que voc permita ou bloqueie as comunicaes em um nvel alto (sub-redes inteiras) ou em um nvel granular (protocolos especficos em portas especficas), conforme julgado necessrio.

    O IPSec pode fornecer um nvel alto de proteo devido sua implementao no nvel de transporte IP (camada 3 da rede). A segurana da camada 3 fornece proteo para todos os protocolos de camadas superiores e IP do conjunto de protocolos TCP/IP (TCP, UDP, ICMP, Raw [protocolo 255] e at mesmo protocolos personalizados). Aplicativos que usam TCP/IP transmitem os dados para a camada do protocolo IP, onde os dados so protegidos pela IPSec.

    Os mecanismos de segurana que funcionam acima da camada 3, por exemplo o Secure Sockets Layer (SSL, camada de soquetes de seguros), s protegem aplicativos que usam o SSL, como navegadores da Web. Os mecanismos de segurana que funcionam abaixo da camada 3, por exemplo criptografia da camada de link, no so portveis para comunicao pela Internet ou intranet encaminhada.

    Ao funcionar na camada 3, a IPSec transparente para usurios e aplicativos. Voc no precisa de pacotes de segurana distintos para cada protocolo do conjunto TCP/IP. Assim que as diretivas estiverem configuradas, os usurios no vo precisar agir para proteger os dados.

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 31 de 49

    5.1.1 - Diretivas da segurana IP O recurso IPSec implantado atravs das diretivas do Windows 2000. Diversas

    diretivas de segurana podem existir para um determinado domnio, mas os componentes das diretivas so constantes.

    Diretivas de negociao: As diretivas de negociao determinam os servios de segurana usados durante uma comunicao. Voc pode escolher entre servios que incluem confidencialidade (ESP) ou que no fornecem confidencialidade (AH), ou o algoritmo de segurana IP pode ser especificado. Tambm possvel se definir diversos mtodos de segurana para cada diretiva de negociao. Se o primeiro mtodo no for aceito para a associao de segurana, o servio ISAKMP/Oakley vai prosseguir na lista at encontrar um mtodo que possa ser usado para estabelecer a associao.

    Diretivas de segurana: Cada configurao dos atributos da segurana IP chamada de diretiva de segurana. As diretivas de segurana so compostas de diretivas de negociao e filtros IP associados. As diretivas de segurana so associadas s diretivas do controlador de domnio. Uma diretiva de segurana IP pode ser atribuda s Diretivas de domno padro, Diretivas locais padro ou diretivas de domnio personalizadas criadas por voc. Um computador que efetua logon no domnio vai aproveitar automaticamente as propriedades das diretivas de domnio padro e locais padro, incluindo as diretivas de segurana IP atribudas a essas diretivas de domnio.

    Filtros IP: Os filtros IP determinam aes diferentes a serem tomadas com base no local de destino de um pacote de IP, no protocolo IP que est sendo usado (por exemplo, TCP ou UDP) e nas portas relacionadas que so usadas pelo protocolo. O prprio filtro usado como um padro para correspondncia de pacotes IP. Cada pacote IP verificado em relao ao filtro IP e, se houver uma correspondncia, as propriedades das diretivas de segurana associadas so usadas para enviar a comunicao.

    5.1.2 - Opes de segurana IP Parte das diretivas de negociao de IPSec determina a funo a ser desempenhada

    por um computador durante a comunicao. Trs modos bsicos de funcionamento podem ser atribudos a um computador: Respondedor: Um respondedor vai se comunicar atravs de IPSec, quando

    solicitado. Isso pode resultar do fato de um respondedor iniciar uma sesso de comunicao com um computador que esteja funcionando no modo de iniciador ou de bloqueio ou de ser solicitado por um iniciador.

    Iniciador: Como padro, um iniciador vai se comunicar atravs de IPSec. Se o computador de destino no oferecer suporte a comunicaes seguras, um iniciador vai responder e se comunicar sem proteo.

    Bloqueio: Um computador no modo de bloqueio s vai se comunicar atravs de IPSec.

    As diretivas bsicas podem ser aprimoradas com filtros para fornecer aplicao

    granular das diretivas. Por exemplo, os computadores de um determinado departamento

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 32 de 49

    podem ter diversas diretivas de negociao dependendo do endereo IP do computador com o qual est estabelecendo uma comunicao.

    Os usurios experientes podem decidir que algoritmo HMAC ser usado para garantir a integridade. HMAC-MD5 e HMAC-SHA fornecem o mesmo nvel de proteo, com a diferena sendo o tamanho da chave usada para proteger as informaes: MD5 usa uma chave de 128 bits e SHA, uma chave de 160 bits. Chaves mais compridas oferecem mais segurana.

    Os usurios experientes tambm podem decidir que algoritmo ser usado em servios de confidencialidade. A confidencialidade garantida usando-se o Digital Encryption Standard (DES, padro de criptografia digital). 40DES oferecido para garantir a compatibilidade com normas de exportao, que limitam o tamanho das chaves. 3DES, tambm chamado de DES triplo, oferece o tamanho padro de chave de 56 bits ao passar trs vezes pelo processo de criptografia. Em cada passagem, ele usa uma nova chave exclusiva, gerando a criptografia tripla das informaes. Cipher Block Chaining (CBC, encadeamento de bloco cifrado) com DES (DES-CBC) tambm fornece um tamanho de chave de 56 bits e evita reproduo adicional.

    5.1.3 - Planejando as diretivas de PKI e IPSec O gerenciamento e a administrao de IPSec esto integrados interface de

    gerenciamento base do Active Directory. Nos domnios do Windows 2000, a autenticao pode ser obtida atravs do

    protocolo Kerberos predefinido. Portanto, as infra-estruturas dos certificados no precisam ser implantadas para proteger clientes, servidores de arquivos ou UOs de segurana (um grupo de computadores em uma unidade organizacional [UO] do Active Directory com a finalidade de segurana).

    Em situaes de acesso remoto/VPN/roteador a roteador, os certificados de chave pblica devem ser usados para autenticao (ou chaves pr-compartilhadas, no caso de roteador a roteador).

    Em geral, as comunicaes pela Intranet requerem nveis inferiores de segurana do que as comunicaes de rede pblica: sem confidencialidade; sem encapsulamento; permisso de comunicaes no seguras. Isso vai acelerar a taxa de transferncia das comunicaes, permitindo ainda algum nvel de segurana: integridade e autenticao.

    As comunicaes IPSec podem ser acionadas, aceitas ou impostas entre qualquer conjunto de computadores ou individualmente. Se os dados forem muito confidenciais, fcil forar um computador a aceitar somente comunicaes de IPSec.

    Em geral, j que o encapsulamento adequado a nveis altos de segurana, as regras de IPSec que especificam o encapsulamento tambm devem ter um alto nvel de segurana nas diretivas de negociao. Os dados vo estar trafegando, na verdade, em uma rede pblica e, portanto, a confidencialidade (ESP) em geral garantida. Como os pacotes so encapsulados, o que protege o cabealho inicial, no necessrio se associar ESP a AH para obter proteo de endereamento (cabealho).

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 33 de 49

    5.1.4 - Definindo nveis de segurana A implementao de IPSec requer um equilbrio entre tornar as informaes

    facilmente disponveis para o maior nmero de usurios e proteger informaes crticas contra modificao e interpretao no autorizadas. As estruturas de segurana IP e do Windows 2000 devem ser analisadas durante o planejamento:

    Avalie os nveis de risco para determinar o nvel adequado de segurana necessrio. Determine as informaes que devem ser criptografadas e o que deve ser protegido

    contra modificao. Defina diretivas de acordo com critrios de risco e proteja as informaes

    categorizadas.

    As consideraes sobre diretivas tambm so influenciadas pela funo dos computadores aos quais elas se aplicam: ser usada uma segurana diferente para controladores de domnio, servidores da Web, servidores de acesso remoto, servidores de arquivos, servidores de bancos de dados, clientes da intranet e clientes remotos. A IPSec pode se tornar ineficiente rapidamente se no houver o planejamento e avaliao cuidadosos das diretrizes de segurana e o design e atribuio adequados das diretivas. Antes de criar as diretivas de IPSec, voc deve definir:

    o que deve ser protegido como proteg-lo onde proteg-lo quem vai gerenciar as diretivas se as exigncias de exportao so uma questo a ser considerada

    Os nveis de segurana a seguir so recomendados como diretrizes na

    implementao da estrutura geral de segurana do Windows 2000. Para maior clareza, os nveis de segurana de IPSec correspondero a essa lista.

    Segurana mnima Segurana padro Segurana alta

    Nveis mnimos de segurana: Como padro, a IPSec no ativada. Se o plano de segurana no exigir nenhuma proteo em determinadas situaes, nenhuma ao administrativa necessria. Nveis padro de segurana: No h uma definio exata dos nveis padro de segurana. Eles podem variar bastante, dependendo das diretivas e da infra-estrutura da organizao. A IPSec vai tentar atender a essa exigncia ambgua com:

    o Diretivas e regras padro o Servios de confidencialidade so fornecidos como uma opo e, portanto,

    os servios de proteo esto automaticamente em um nvel padro.

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 34 de 49

    o Como padro, as configuraes ISAKMP, algoritmos de autenticao e de integridade, encapsulamento e nova gerao de chaves so definidas no nvel padro.

    Em geral, as comunicaes pela intranet exigem nveis mais baixos de segurana do

    que as comunicaes pela Internet, WAN ou redes externas: sem confidencialidade; sem encapsulamento; permisso de comunicaes no seguras. Isso vai acelerar a taxa de transferncia das comunicaes pela intranet, permitindo ainda algum nvel de segurana: integridade e autenticao. Nveis altos de segurana: Um nvel alto adequado para situaes dial-up remotas, comunicaes WAN ou qualquer comunicao entre redes externas. As comunicaes de redes particulares no devem ser excludas automaticamente; em alguns casos uma segurana alta pode ser garantida para a intranet.

    Novamente, no h uma definio exata pelos mesmos motivos, e a IPSec atende a esses critrios com:

    o Servios de confidencialidade para criptografar dados o Sigilo perfeito de roteamento, durao configurvel das chaves, limites

    Quick Mode, grupos Diffie-Hellman configurveis e algoritmos extremamente resistentes (3DES e SHA).

    o Encapsulamento para qualquer tipo de conexo de rede. o A capacidade de associar ESP a AH para fornecer o nvel mais alto de

    proteo: integridade de pacote e privacidade de dados.

    Lembre-se de que nem todos os ataques vm de fora das redes corporativas. Se for exigida uma segurana extremamente alta para uma intranet, encapsulamento deve ser usado, alm das diretivas de negociao de alta segurana.

    Quando os dados so extremamente confidenciais, no deve ser ativada a comunicao no protegida com um host que no reconhece IPSec, mesmo que o host esteja na mesma rede, pois isso no garante que os dados estejam protegidos.

    Em geral, como o encapsulamento adequado a nveis altos de segurana, as regras de IPSec que especificam o encapsulamento tambm devem ter um alto nvel de segurana nas diretivas de negociao. Os dados estaro trafegando, na verdade, pela Internet e, portanto, os servios de confidencialidade (ESP) esto geralmente garantidos.

    5.2 - FreeBSD

    Claramente esta estratgia permite que duas estaes FreeBSD estabeleam contato entre si - utilizando a VPN - porm um meio muito famoso por ser utilizado para a conexo entre servidores.

    um mtodo padro, que pode ser utilizado inclusive entre servidores em outras plataformas.

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 35 de 49

    A implementao de VPNs no FreeBSD realizada utilizando-se do IPSec (ip Security Tunnel Mode) desenvolvido pela IETF. O IPSec um protocolo padro de camada 3 que oferece transferncia segura de informaes atravs de rede IP puplica ou privada. Uma conexo via IPSec envolve sempre 3 etapas:

    1. Negociao do nvel de segurana. 2. Autenticao e Integridade. 3. Confidencialidade.

    Para implementar essas 3 etapas o IPSec utiliza-se de 3 mecanismos:

    AH - Autentication Header ESP - Encapsulation Security Payload ISAKMP - Internet Security Association and Key Management Protocol

    No FreeBSD o IPSec suportado nativamente no kernel fornece os mecanismos de AH e ESP, j o servio de ISAKMP provido pelo aplicativo /usr/ports/security/racoon. 5.2.1 - Adicionando suporte ao IPSec ao seu kernel

    Antes de iniciar a implantao da sua VPN necessrio incluir o suporte ao IPSec ao seu Kernel, para isso basta inserir as linhas abaixo no seu arquivo de configurao e recompilar o kernel: options IPSEC #IP security options IPSEC_ESP #IP security (crypto; define w/ IPSEC) options IPSEC_DEBUG #debug for IP security pseudo-device gif 4 #IPv6 and IPv4 tunneling 5.2.2 - Instalar o suporte a ISAKMP

    Antes de instalar o racoon recomendado que voc sincronize a sua rvore do ports usando o cvsup para garantir que voc estar instalando a ultima verso disponvel.

    Aps sincronizar a sua arvore do ports, execute o comando abaixo: # cd /usr/ports/security/racoon # make clean # make # make install 5.4.3 - Configurao do Firewall

    Apesar de no ser obrigatrio, altamente recomendado que os seus gateways da VPN, rodem algum tipo de firewall, limitando a comunicao da interface publica do primeiro host apenas para a interface publica do segundo. Voc pode usar o ipfw ou o ipfilter, fica a seu critrio escolher aquele que voc domina melhor.

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 36 de 49

    Se voc no definir uma boa poltica de segurana para os seus gateways, voc pode colocar a segurana de sua VPN em risco, assim perca alguns minutos configurando seu firewall antes de comear a configurar uma VPN!!!

    5.4.4 - Configurao Antes de iniciar a configurao vamos considerar a seguinte estrutura:

    Gateway A Gateway B +------------------+ +-------------------+ Intranet A | | INTERNET | | Intranet B |xl0 xl1++xl1 xl0+ | | | | +------------------+ +-------------------+

    Gateway A: xl0 -> 192.168.1.1/255.255.255.0 xl1 -> 200.230.245.20/255.255.255.0 Gateway B: xl0 -> 192.168.2.1/255.255.255.0 xl1 -> 200.220.125.50/255.255.255.0 Cada um dos hosts acima possui duas interfaces de rede, uma com ip publico e uma com ip invalido e ambos os hosts esto configurados para atuar como gateway.

    5.4.4.1 - Como configurar sua VPN sem usar ISAKMP (chaves estticas) No Gateway A Voc deve criar o arquivo /usr/local/etc/rc.d/vpn.sh com o seguinte contedo: #!/bin/sh gifconfig gif0 200.230.245.20 200.220.125.50 ifconfig gif0 192.168.1.1 192.168.2.1 netmask 0xffffffff route add -net 192.168.2.0/24 192.168.2.1 setkey -f /etc/ipsec.conf Sete o arquivo criado acima como executvel dando um chmod 755 /usr/local/etc/rc.d/vpn.sh. Agora voc precisa criar o arquivo /etc/ipsec.conf com o seguinte contedo: flush; spdflush; add 200.230.245.20 200.220.125.50 esp 9991 -E blowfish-cbc "Escolha_uma_Chave_para_a_conexao_A_B_quanto_maior_melhor"; add 200.220.125.50 200.230.245.20 esp 9992 -E blowfish-cbc "Escolha_uma_Chave_para_a_conexao_B_A_quanto_maior_melhor"; spdadd 192.168.1.0/24 192.168.2.0/24 any -P out ipsec

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 37 de 49

    esp/tunnel/200.230.245.20-200.220.125.50/require; spdadd 192.168.2.0/24 192.168.1.0/24 any -P in ipsec esp/tunnel/200.220.125.50-200.230.245.20/require; No Gateway B Voc deve criar o arquivo /usr/local/etc/rc.d/vpn.sh com o seguinte contedo: #!/bin/sh gifconfig gif0 200.220.125.50 200.230.245.20 ifconfig gif0 192.168.2.1 192.168.1.1 netmask 0xffffffff route add -net 192.168.1.0/24 192.168.1.1 setkey -f /etc/ipsec.conf Sete o arquivo criado acima como executvel dando um chmod 755 /usr/local/etc/rc.d/vpn.sh. Agora voc precisa criar o arquivo /etc/ipsec.conf com o seguinte contedo: flush; spdflush; add 200.230.245.20 200.220.125.50 esp 9991 -E blowfish-cbc "Escolha_uma_Chave_para_a_conexao_A_B_quanto_maior_melhor"; add 200.220.125.50 200.230.245.20 esp 9992 -E blowfish-cbc "Escolha_uma_Chave_para_a_conexao_B_A_quanto_maior_melhor"; spdadd 192.168.2.0/24 192.168.1.0/24 any -P out ipsec esp/tunnel/200.220.125.50-200.230.245.20/require; spdadd 192.168.1.0/24 192.168.2.0/24 any -P in ipsec esp/tunnel/200.230.245.20-200.220.125.50/require; Obs: As chaves utilizadas no host A devem ser idnticas ao do Host B ou no vai funcionar!!!

    Para subir sua VPN basta executar manualmente os arquivos /usr/local/etc/rc.d/vpn.sh em cada um dos hosts, se tudo esta funcionando como devia voc j deve ser capaz de pingar os hosts de uma intranet para a outra, se tiver duvidas se o trafego esta realmente criptografado utilize o tcp dump para capturar alguns pacotes e o trfego dos pacotes para certificar-se que tudo est funcionando.

    A configurao acima j lhe proporciona um canal seguro de uma intranet para a outra, porem como estamos usando chaves estticas essa configurao ainda no a ideal, o prximo passo configurar o uso de chaves dinmicas. Nesta configurao uma chave predefinida utilizada para iniciar a comunicao dos 2 hosts e em seguida uma nova chave aleatria utilizada e alterada de tempos em tempos.

    5.4.4.2. Como configurar sua VPN usando ISAKMP (chaves dinmicas) No Gateway A

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 38 de 49

    Voc deve criar o arquivo /usr/local/etc/rc.d/vpn.sh com o seguinte contedo: #!/bin/sh gifconfig gif0 200.230.245.20 200.220.125.50 ifconfig gif0 192.168.1.1 192.168.2.1 netmask 0xffffffff route add -net 192.168.2.0/24 192.168.2.1 setkey -f /etc/ipsec.conf /usr/local/sbin/raccoon

    Sete o arquivo criado acima como executvel dando um chmod 755 /usr/local/etc/rc.d/vpn.sh.

    Agora crie o arquivo /usr/local/etc/racoon/chave.txt com o seguinte contedo: 200.220.125.50 Escolha_uma_Chave_para_a_conexao_A_B_quanto_maior_melhor

    O prximo passo criar o arquivo de configurao do racoon, crie o arquivo /usr/local/etc/racoon/racoon.conf com o seguinte contedo:

    path pre_shared_key "/usr/local/etc/racoon/chave.txt" ; log info; remote anonymous { exchange_mode aggressive,main; doi ipsec_doi; situation identity_only; nonce_size 16; lifetime time 2 hour; # sec,min,hour lifetime byte 50 MB; # B,KB,GB initial_contact on; support_mip6 on; proposal_check obey; # obey, strict or claim proposal { encryption_algorithm 3des; hash_algorithm sha1; authentication_method pre_shared_key ; dh_group 2 ; } } sainfo anonymous { pfs_group 2; lifetime time 1 hour; lifetime byte 50000 KB; encryption_algorithm 3des,des,cast128,blowfish; authentication_algorithm hmac_sha1,hmac_md5; compression_algorithm deflate ; }

    Agora voc precisa criar o arquivo /etc/ipsec.conf com o seguinte contedo:

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 39 de 49

    flush; spdflush; spdadd 192.168.1.0/24 192.168.2.0/24 any -P out ipsec esp/tunnel/200.230.245.20-200.220.125.50/require; spdadd 192.168.2.0/24 192.168.1.0/24 any -P in ipsec esp/tunnel/200.220.125.50-200.230.245.20/require; No Gateway B

    Voc deve criar o arquivo /usr/local/etc/rc.d/vpn.sh com o seguinte contedo:

    #!/bin/sh gifconfig gif0 200.220.125.50 200.230.245.20 ifconfig gif0 192.168.2.1 192.168.1.1 netmask 0xffffffff route add -net 192.168.1.0/24 192.168.1.1 setkey -f /etc/ipsec.conf /usr/local/sbin/raccoon

    Sete o arquivo criado acima como executvel dando um chmod 755 /usr/local/etc/rc.d/vpn.sh.

    Agora crie o arquivo /usr/local/etc/racoon/chave.txt com o seguinte contedo:

    200.230.245.20 Escolha_uma_Chave_para_a_conexao_A_B_quanto_maior_melhor

    O prximo passo criar o arquivo de configurao do racoon, crie o arquivo /usr/local/etc/racoon/racoon.conf com o seguinte contedo: path pre_shared_key "/usr/local/etc/racoon/chave.txt" ; log info; remote anonymous { exchange_mode aggressive,main; doi ipsec_doi; situation identity_only; nonce_size 16; lifetime time 2 hour; # sec,min,hour lifetime byte 50 MB; # B,KB,GB initial_contact on; support_mip6 on; proposal_check obey; # obey, strict or claim proposal { encryption_algorithm 3des; hash_algorithm sha1; authentication_method pre_shared_key ; dh_group 2 ; } }

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 40 de 49

    sainfo anonymous { pfs_group 2; lifetime time 1 hour; lifetime byte 50000 KB; encryption_algorithm 3des,des,cast128,blowfish; authentication_algorithm hmac_sha1,hmac_md5; compression_algorithm deflate ; }

    Agora voc precisa criar o arquivo /etc/ipsec.conf com o seguinte contedo: flush; spdflush; spdadd 192.168.2.0/24 192.168.1.0/24 any -P out ipsec esp/tunnel/200.220.125.50-200.230.245.20/require; spdadd 192.168.1.0/24 192.168.2.0/24 any -P in ipsec esp/tunnel/200.230.245.20-200.220.125.50/require;

    Novamente, para iniciar sua VPN basta executar o arquivo /usr/local/etc/rc.d/vpn.sh em cada um dos gateways. Aps inicializar a VPN verifique o arquivo de log /var/log/racoon.log para ver se esta tudo OK, caso no funcione verifique com um setkey -D se o suporte ao IPSec esta habilitado no seu kernel.

    As configuraes propostas neste tutorial para o racoon so bsicas e so o mnimo necessrio para que voc inicie uma VPN com chaves dinmicas, mas existem muitas outras opes, por ex: o uso de uma chave RSA para a fase inicial de autenticao, etc.

    5.3 - FreeSWAN (Linux) O FreeSWAN a implementao mais famosa do Linux para o IPSec. O FreeSWAN possui suporte aos trs protocolos do IPSec: AH, ESP e IKE. O IPSec consegue controlar todos os protocolos baseados em IP, ao invs dos especficos, tais como SSL para HTTP, PGP para e-mail, SSH para Login Remoto, etc. A implementao do FreeSWAN dividida em 3 partes: KLIPS (Kernel IPSec) que implementa o AH e ISP, alm de prover a manipulao dos pacotes no kernel Pluto (IKE) que implementa o IKE, negociando e mantendo conexes com outros sistemas Scripts Proprietrios para administrao das conexes (interfaces) Alm disso o FreeSWAN possui uma boa compatibilidade com outros sistemas de VPN, desde Windows 2000, Checkpoint VPN-1, SSH Sentinel, etc. Um item que deve se ter ateno que a maioria dos recursos pode ser feita automaticamente, porm a identificao e autenticao dos gateways no podem ser realizadas automaticamente. Para isso, ou se cria um mtodo onde as chaves so manuais, onde os administradores colocaro as chaves dentro dos arquivos de configurao, ou automaticamente, que mais segura, mas a autenticao automtica requer que exista um segredo (tal como uma senha) para confiana ou o uso de certificados de segurana.

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 41 de 49

    5.3.1 - Como Instalar? Primeiramente, se a sua distribuio de Linux j inclui uma distribuio do FreeSWAN, voc dever gerar uma nova chave, para evitar o uso de uma chave que esteja compilada junto com a distribuio. Para isso, logado como root, deve-se executar. ipsec newhostkey --output /etc/ipsec.secrets --hostname xy.example.com chmod 600 /etc/ipsec.secrets Nota: Voc deve substituir xy.example.com com o FQDN (Fully Qualified Domain Name) do seu servidor.

    O resultado do arquivo ipsec.secrets vai ser: : RSA { # RSA 2192 bits xy.example.com Sun Jun 8 13:42:19 2003 # for signatures only, UNSAFE FOR ENCRYPTION #pubkey=0sAQOFppfeE3cC7wqJi... Modulus: 0x85a697de137702ef0... # everything after this point is secret PrivateExponent: 0x16466ea5033e807... Prime1: 0xdfb5003c8947b7cc88759065... Prime2: 0x98f199b9149fde11ec956c814... Exponent1: 0x9523557db0da7a885af90aee... Exponent2: 0x65f6667b63153eb69db8f300dbb... Coefficient: 0x90ad00415d3ca17bebff123413fc518... } # do not change the indenting of that "}" Se sua distribuio, no possui o FreeSWAN, ento voc deve baix-lo. Cada Kernel possui uma distribuio levemente diferente, para isso voc dever obter usando um script (para Kernel 2.6) ncftpget ftp://ftp.xs4all.nl/pub/crypto/freeswan/binaries/RedHat-RPMs/\*userland* (para kernel 2.4) ncftpget ftp://ftp.xs4all.nl/pub/crypto/freeswan/binaries/RedHat-RPMs/`uname -r | tr -d 'a-wy-z'`/\* que ser traduzido para ncftpget ftp://ftp.xs4all.nl/pub/crypto/freeswan/binaries/RedHat-RPMs/2.4.20-9/freeswan-userland-2.04_2.4.20_9-0.i386.rpm Em uma aplicao verdadeira, voc dever verificar hashs MD5 e assinaturas PGP do arquivo a ser instalado. Para instalar, apenas use:

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 42 de 49

    rpm ivh freeswan*.rpm Para iniciar o FreeSWAN basta usar: service ipsec start E para verificar a instalao voc pode usar: ipsec verify Checking your system to see if IPsec got installed and started correctly Version check and ipsec on-path [OK] Checking for KLIPS support in kernel [OK] Checking for RSA private key (/etc/ipsec.secrets) [OK] Checking that pluto is running [OK] Lembre-se de liberar os pacotes para UDP porta 500, protocolos ESP e AH (50 e 51). Tambm recomenda-se remover eventuais NAT aos pacotes a serem tunelados. Um exemplo em iptables poderia ser: # IKE negotiations iptables -I INPUT -p udp --sport 500 --dport 500 -j ACCEPT iptables -I OUTPUT -p udp --sport 500 --dport 500 -j ACCEPT # ESP encryption and authentication iptables -I INPUT -p 50 -j ACCEPT iptables -I OUTPUT -p 50 -j ACCEPT

    5.3.2 - Um exemplo de uma conexo Site-to-Site

    Para uma conexo site-to-site, algumas informaes devem estar disponveis, tais como IP do gateway, range IP da subnet privada, o nome que o gateway possui. formado do FQDN precedido por um @, por exemplo @server.meudominio.com.br. Primeiramente para conferir o gateway FreeSWAN, veja sua chave pblica usando ipsec showhostkey left. A saida deve ser algo como: # RSA 2048 bits xy.example.com Fri Apr 26 15:01:41 2002 leftrsasigkey=0sAQOnwiBPt... Se uma chave ainda no existe use o comando j visto: ipsec newhostkey --output /etc/ipsec.secrets --hostname xy.example.com E para verificar a chave remota, use um ssh para o servidor remoto, e digite ipsec showhostkey right. a sada deve ser algo como: # RSA 2192 bits ab.example.com Thu May 16 15:26:20 2002

  • Trabalho IPSec Segurana de Redes Dezembro/2003

    Pgina 43 de 49

    rightrsasigkey=0sAQOqH55O... Agora precisamos editar o arquivo /etc/ipsec.conf, e inserir a informao o