IKE Fase 1: Resumo

Quando você está tentando fazer a uma conexão segura entre 2 hosts através da Internet, um caminho seguro deverá ser estabelecido, como por exemplo, por uma conexão VPN IPSec. Além dos mecanismos de autenticação e validação da informação a VPN IPSec necessita de um mecanismo eficiente de gestão de chaves.

O processo de gestão de chaves diz respeito à criação, eliminação e alteração das chaves. A implementação de uma solução VPN IPSec  utliza-se de um processo de criptografia que envolve uma periódica troca de chaves, embora o IPSec não integre um mecanismo de gestão de chaves, o IETF definiu como norma de gestão o protocolo híbrido ISAKMP/Oakley também denominado IKE, Internet Key Exchange para autenticar os dispositivos e  gerar as chaves criptografadas. O protocolo IKE utiliza o termo security association (SA), que é um acordo entre os equipamentos pares para troca de tráfego IPSec utilizando os requerimentos necessários para estabelecer as proteções aplicadas em uma conexão.

No estabelecimento de uma comunicação segura, passa-se pelas seguintes fases IKE:

Fase 1: Ocorre num meio inseguro. Tem o objetivo de estabelecer um canal seguro que irá proteger as trocas da Fase 2. É executada uma vez para várias fases 2;
Fase 2: Ocorre no canal seguro criado na fase 1. As suas negociações têm o objetivo de estabelecer as associações de segurança que irão proteger a comunicação.

Após estas duas fases, encontra-se estabelecido um canal seguro através do qual ocorre comunicação segura. Nesse post abordaremos apenas a Fase 1.

IKE Fase 1

A principal finalidade dessa primeira troca é permitir que os equipamentos finais consigam definir os parâmetros SA para estabelecer um canal seguro para futuramente estabelecer uma conexão IPSec. Tal canal é chamado IKE SA. Esse canal tem a função de criar criptografia e autenticação bidirecional para as outras trocas IKE e passagem de pacotes IPSec.

O IKE SA pode ser realizado de duas formas:

  • Modo Principal (Main Mode): negocia a criação da conexão através da troca de três pares de mensagem.
    • primeira troca de mensagens é relativa as formas de criptografia, autenticação (escolha dos algoritmos) e criação de chaves assimétricas.
    • segunda troca de mensagens utiliza o algoritmo Diffie-Hellman para trocas das chaves criadas, da assinatura digital ou da chave pública, de acordo com os parâmetros definidos.
    • terceiro par de mensagens verifica a identidade do outro lado. O valor de identidade é o endereço IP do par IPSec na forma criptografada. A principal  função do main mode é combinar IKE SA (security association)  entre os pares para fornecer uma conexão protegidas para posteriores trocas ISAKMP entre os peers IKE. O IKE SA especifica valores para a troca IKE: o método de autenticação usado, a criptografia, os algoritmos de hash, o grupo Diffie-Hellman (DH) utilizado, a vida útil do IKE SA em segundos ou quilobytes, e os valores de chaves secretas compartilhadas para os algoritmos de criptografia. O IKE SA em cada par é bi-direcional.
  • Modo Agressivo(Agressive Mode): é uma alternativa mais rápida ao modo principal, já que negocia a criação IKE SA através de três mensagens, ao invés de três pares de mensagens. A primeira mensagem de um dos extremos manda os parâmetros de segurança, juntamente com sua porção da chave criada por Diffie-Hellman e sua identidade. O outro extremo envia sua parte da chave, parâmetros de segurança e sua autenticação (geralmente por assinatura digital). Na última mensagem o primeiro extremo envia sua autenticação ao outro. Com essas três mensagens a conexão IKE SA está criada. Se ganha em velocidade, mas perde-se em segurança, por exemplo, as chaves podem ser interceptadas e forjadas.

No cenário abaixo, utilizando o Cisco IOS como exemplo, com o estabelecimento de uma conexão segura entre roteadores de uma empresa para uma VPN IPsec, em vez de negociarmos cada protocolo para criptografia, autenticação, etc , individualmente; podemos agrupar os protocolos em conjunto de politicas IKE (IKE policy).

O comando crypto isakmp policy define o IKE Fase 1, com os parâmetros utilizados durante a negociação. A sintaxe do comando crypto isakmp policy “priority” define a prioridade da policy. Caso os valores de criptografia, hash, DH e lifetime não sejam configurados, serão escolhidos os valores default (des, sha, rsa-sig, 1 e 86400 respectivamente).

Para configurar a pre-shared key (PSK) utilize a sintaxe:

 crypto isakmp key “tipo de cifragem da senha na configuração”  senha hostnameaddress endereço.

Nos próximos posts daremos continuidade no script para a Fase 2 e modos IPSec.

Referência

http://www.gta.ufrj.br/grad/08_1/vpn/ipsecelementos.html#_Toc200023677

http://civil.fe.up.pt/acruz/Mi99/asr/IPSec.htm

Implementing Cisco IOS Network Security , Cisco press – Catherine Paquet
Network Security Technologies and Solutions, Cisco press – Yusuf Bhaiji

Fortigate: SSL-VPN

A utilização de soluções de VPNs estende o acesso a redes privadas através da conectividade remota para o fornecimento de comunicação segura entre os dispositivos.

Uma VPN estabelece um túnel entre dois dispositivos, que estão separados por uma rede pública insegura, como a Internet por exemplo, entregando acesso seguro para a rede privada. A VPN pode também ser utilizada na comunicação entre uma matriz e suas filiais, entre empresas para fornecimento de serviços ou para o estabelecimento do teletrabalho.

Existem diversos mecanismos para estabelecimento de VPNs e os principais para conectividade para o acesso remoto utilizam o SSL ou IPsec.

O FortiOS suporta a utilização de VPNs IPsec e SSL, assim como outros métodos menos seguros.

Uma VPN deve utilizar métodos seguros para que somente usuários autorizados possam estabelecer a comunicação e acessar os recursos da rede. A comunicação deve ter como premissa a criptografia do tráfego ( que não poderá ser lido quando interceptado por usuários não autorizados).

Neste artigo  faremos um breve resumo sobre SSL-VPN no FortiOS.

Protocolo SSL

O protocolo SSL é uma aplicação para criptografia de camada 7, que fornece comunicação segura pela Internet através de um navegador web, e-mail e outros tipos de tráfego.

O principal objetivo é providenciar tanto a privacidade, quanto a integridade dos dados, oferecendo comunicação segura entre as aplicações.

Por padrão o SSL para o tráfego web utiliza a porta TCP 443.

SSL-VPN

A solução de VPN quando baseada em SSL, oferece conectividade a determinados recursos internos da empresa, através de acesso remoto por um computador conectado a Internet, através de um software cliente ou um navegador web com criptografia SSL nativa.

O FortiOS permite dois modos para o estabelecimento de SSL-VPN e a escolha dependerá  do uso das aplicações pela VPN, conhecimento técnico dos usuários e/ou permissões administrativas em seus computadores.

  • SSL-VPN Web Mode: Requer unicamente um navegador web, mas possui limitação no número de protocolos. É o modo mais fácil de configuração.
  • SSL-VPN Tunnel Mode: Oferece suporte a grande maioria dos protocolos, mas requer a instalação de um software cliente VPN, um virtual network adapter, que pode ser utilizado com o FortiClient ou o módulo FortiSSL-VPN client.

Web Mode

O modo Web  permite ao usuário conectar em um portal no Fortigate (que atua como um servidor de proxy reverso) e então comunicar-se com a rede ou aplicação.

O portal web permite a configuração de bookmarks que contém todos os recursos disponíveis para acesso ao usuário. A principal vantagem do modo web é que o usuário não necessitará instalar nenhum software adicional. A desvantagem é que toda interação acontecerá através do navegador para os protocolos mais populares como HTTP, FTP e compartilhamento Windows.

1 – Os usuários remotos estabelecem um túnel seguro ao Fortigate utilizando HTTPS.

2 – Uma vez conectado, os usuários fornecem as credenciais para autenticação.

3 – O Fortigate irá exibir um portal SSL-VPN que contém os serviços e recursos de rede para acesso ao usuário.

Para configurar a SSL-VPN no modo Web utilize o cookbook abaixo:

https://docs.fortinet.com/document/fortigate/6.2.0/cookbook/579694/ssl-vpn-web-mode-for-remote-user

Tunnel Mode

A opção Tunnel Mode requer a instalação de um cliente SSL-VPN (FortiClient) para conexão ao Firewall. O FortiClient adiciona um virtual network adapter identificado como fortissl para o usuário que recebe dinamicamente um endereço IP do Fortigate na conexão da VPN. O tráfego será enviado encapsulado em um túnel SSL/TLS.

O modo Tunnel permite a comunicação de qualquer aplicação (quando permitida nas políticas do firewall) através do túnel.

1 – Os usuários remotos solicitam um túnel seguro ao Fortigate utilizando FortiClient.

2 – Os usuários fornecem as credenciais para autenticação.

3 – O Fortigate estabelece um túnel e atribui um endereço IP ao software client com um virtual network adapter (fortissl), durante o tempo da conexão.

4 – Após o estabelecimento da conexão é possível acessar os recursos de rede através do túnel criptografado.

Para configurar a SSL-VPN no modo Web utilize o cookbook abaixo:

https://docs.fortinet.com/document/fortigate/6.2.0/cookbook/954097/ssl-vpn-tunnel-mode

O Forticlient  com a SSL-VPN estabelecida, fará a criptografia dos dados ao Fortigate que ao receber o tráfego removerá a criptografia e encaminhará a comunicação ao dispositivos de destino.

Tunnel mode também permite o split tunneling, que encaminhará todo o tráfego de Internet diretamente para a Internet (sem encaminhá-lo ao túnel). O tráfego para a rede privada continuará sendo enviado através da VPN.

Referências

FortiGate Security Study Guide for FortiOS 6.2

Network Security Technologies and Solutions, Cisco press – Yusuf Bhaiji

Cisco IOS: Pseudowires com L2TPv3

O protocolo L2TPv3 (Layer 2 Tunneling Protocol Version 3) é um padrão do IETF que pode ser usado como um protocolo alternativo ao MPLS para encapsulamento de vários protocolos de camada 2 em comunicações de redes IP e MPLS. o L2TPv3 oferece um serviço de pseudo-wire (PW) que simula o tráfego como se fosse um cabo ou fibra apagada entregue entre 2 pontos.

Os Pseudo-wires carregam o quadro Ethernet completo, incluindo o cabeçalho MAC. O quadro é inserido dentro do pacote L2TPv3 e transmitido para o seu roteador Par. O Roteador Par remove o cabeçalho do protocolo L2TPv3 e encaminha o quadro Ethernet intacto. Caso seja necessário o encaminhamento de TAGs 802.1q o mapeamento do VLAN ID deverá ser efetuado para cada VLAN.

Nesse post focaremos o uso do L2TPv3 sobre uma rede IP, para simular uma conexão de “Camada 2” entre dois sites distintos (o domínio de Broadcast será estendido).

Segue abaixo a configuração

Os seguintes passos abaixo deverão ser levados em conta na configuração ao iniciar a configuração do L2TPv3 em um Roteador com IOS Cisco.

  • Habilite o CEF
  • Use uma interface Loopback para uso da conexão do ponto-a-ponto para o pseudo-wire
  • Certifique-se que o roteamento entre os roteadores esteja ok.
  • Configure o peudowire class
  • Vincule o pseudowire à interface

Validação

R2#  show l2tun tunnel l2tp
L2TP Tunnel Information Total tunnels 1 sessions 1
LocID RemID Remote Name   State  Remote Address  Port  Sessions L2TP Class/
                                                                VPDN Group
54490 54540 R3            est    10.3.3.3         0     1        l2tp_default_cl

Como teste utilizamos a rede 192.168.45.0/24 nos sites R4 e R5
R4#ping 192.168.45.5
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.45.5, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 172/197/228 ms

Referências
http://www.shafagh.com/2009/10/ccie-sp-l2tpv3.html
http://tools.ietf.org/html/rfc3931
http://prol2tp.com/documentation.php?page=l2tpv3.html
http://www.networkworld.com/community/node/26272