Configurar uma VPN IPSec pode não ser uma tarefa fácil. São muitos protocolos e termos envolvidos, e diversas linhas de configuração. Para facilitar um pouco essa tarefa vamos publicar alguns post (simplificando o máximo possível)sobre o assunto, sendo este primeiro post a parte teórica da coisa.
O IPSec é um framework padrão do IETF, definido pela RFC 4301, que proporciona confidencialidade, integridade e autenticação dos dados. Com o IPSec podemos criar um túnel entre dois pontos, por onde os “dados sensíveis” são enviado protegidos. Os “dados sensíveis” são definidos por quem está configurando a VPN, e normalmente são selecionados através de uma access-list.
Nos roteadores e firewalss Cisco são utilizados os seguintes protocolos, para o funcionamento do IPSec:
ESP (Encapsulation Security Payload): É um protocolo IP, tipo 50 (não é UDP nem TCP), que prove integridade, autenticação e confidencialidade dos dados. É usado para criptografar o payload dos pacotes IPs. É o principal protocolos usado pelo IPSec atualmente, e pode ser configurado no modo Túnel ou Transporte. No Túnel o pacote inteiro é encapsulado e protegido, sendo um novo cabeçalho IP adicionado ao pacote. Já no modo Transporte, são criptografados apenas os “dados”, não sendo alterado o cabeçalho original.
AH (Authentication Header): Semelhante ao ESP, porém não faz criptografia, e por isso em breve não será mais suportado pelos equipamentos Cisco. É o protocolo IP tipo 51 (não é UDP nem TCP), prove integridade, autenticação e replay detection. Ele é como uma assinatura digital e garante que o pacote não foi alterado. Assim como o ESP, o AH também pode ser configurado como Túnel ou Transporte. O funcionamento é igual ao do ESP.
Quando configurado o IPSec (com ESP ou AH) o tamanho do pacote aumenta, variando de acordo com as opções selecionadas. No máximo são adicionado 58 bytes (quando usando ESP com autenticação) por pacote.
IKE (Internet Key Exchange): Protocolo hibrido que fornece para o IPSec a autenticação dos Peers, negociação do IKE e IPSec security associations, e estabelecimento de chaves que são usadas pelos protocolos de criptografias. Aparece nas configurações como ISAKMP.
DES, 3DES e AES: Algoritmos que fazem a criptografia dos dados. O DES utiliza chaves de 56 bits, o 3DES usa 168 bits e o AES pode trabalhar com chaves de 128, 192 e 256 bits, sendo o mais forte (também é o que consome mais processamento :)).
DH (Diffie-Hellman): Protocolo de criptografia com utilização de chaves públicas que foi criado em 1976 por Whitfield Diffie e Martin Hellman. O DH permite que os peers da VPN criem uma chave compartilhada (shared key) segura, mesmo sem que os peers se conheçam ou saibam da chave do ponto remoto. É usado no início do processo IKE, para estabelecer as chaves a serem utilizadas.
MD5 e SHA-1: Algoritmos usados para autenticar os pacotes. Para isso o SHA-1 utiliza um algoritmo que produz um “digest” de 160 bits, sendo mais seguro que o MD5, que cria um “digest” de 128 bits.
Até a próxima.