Entendendo os túneis IPSec (L2L)

na minha função atual, lido os túneis L2L (LAN a LAN) com bastante frequência. Eles são a maneira “barata” de conectar dois locais em comparação com circuitos de acesso dedicados. O único requisito é ter o hardware correto e um IP estático’ sempre ligado ‘ em cada local. Eu frequentemente brinco que configurar um túnel L2L em um ASA é fácil e leva apenas 20 linhas de configuração na CLI. Dito isso como qualquer outra coisa no mundo da rede, se você não entender como a tecnologia funciona, você vai ficar preso um dia. Digitar 20 linhas de configuração em um console e realmente entender o que está acontecendo são duas coisas totalmente diferentes. Neste post, falarei sobre o básico do IPSec, como os túneis se formam e algumas etapas de solução de problemas que você pode seguir quando tiver problemas.

terminologia
IPSec (Internet Protocol Security) – do que estamos falando

IKE (Internet Key Exchange) – pense no IKE como o conjunto de ferramentas necessário para estabelecer e manter uma conexão segura entre dois endpoints. Basicamente, o IKE permite que a conexão forme e mantenha SAs (associações de segurança) que são a parte chave de um túnel IPSec

ISAKMP (Internet Security Association and Key Management Protocol) – ISAKMP é o padrão que define como trabalhar com SAs. Em outras palavras, o ISAKMP lida com como o SAs é criado, mantido, modificado e demolido. Você notou a sobreposição? Ike e ISAKMP soam muito semelhantes, não é? Isso é porque eles são. Na verdade, a Cisco ainda observa isso em sua documentação.

“a Internet Security Association and Key Management Protocol, também chamada de Ike, é o protocolo de negociação que permite que dois hosts concordem em como construir uma associação de segurança IPsec. Cada negociação ISAKMP é dividida em duas seções chamadas Phase1 e Fase 2.”

Peer Address-dependendo do contexto, é o endereço público em uma extremidade do túnel ou na outra extremidade do túnel.

DH (Diffie-Hellman) – DH permite que duas partes compartilhem uma chave secreta em um canal inseguro. DH é usado durante a fase Ike 1 para trocar chaves e estabelecer uma chave secreta segura.

Conjuntos de políticas ISAKMP – um conjunto de políticas especificando o algoritmo de criptografia IKE, o algoritmo de autenticação IKE, o tipo de autenticação IKE, a versão DH e a vida útil do túnel Ike. O conjunto de políticas ISAKMP é usado durante as negociações da Fase 1 do IKE. Para tornar isso ainda mais confuso, os conjuntos de políticas ISAKMP também são chamados de conjuntos de transformações ISAKMP, conjuntos de transformações IKE ou simplesmente conjuntos de transformações antigos

Conjuntos de transformações IPSec – um conjunto de transformações consiste em configurações relevantes para a criação do túnel IPSec. O conjunto de transformação real é usado durante a Fase 2 do IKE e geralmente consiste apenas no tipo de criptografia e autenticação do IKE. Novamente, a parte confusa é que muitas vezes algumas pessoas apenas chamam esses conjuntos de transformação.SAs (associações de segurança) – basicamente é o conjunto de parâmetros IPSec que ambos os lados do túnel concordam. Vou fazer uma distinção crítica aqui para aqueles de nós em Cisco land. Haverá um ISAKMP SA e um IPsec SA. Existem vários túneis criados enquanto o túnel IPSec está sendo criado. Lembre-se de que o ISAKMP SA é considerado o resultado da Fase 1 do IKE e o IPsec SA é considerado o resultado da Fase 2 do IKE. Além disso, um SA é apenas uma conexão unidirecional. Como a maioria do tráfego entre endpoints requer comunicação bidirecional, cada ASA criará seu próprio SA para falar com o outro par.

nonce-um número, geralmente usado para uma chave segura, que é usado apenas uma vez. Se for usado uma segunda vez, geralmente é um sinal de uma tentativa de conexão fraudulenta.

Resumo da terminologia-a terminologia VPN é realmente, realmente, realmente confusa. Apenas tente lembrar que ISAKMP e IKE às vezes são usados de forma intercambiável. Além disso, transform-sets são um termo geral para um grupo de Configurações. Tento usar a frase apenas quando me refiro ao que digito após ‘transform-set’ na CLI, que é usada para especificar o tipo de autenticação e criptografia para a Fase 2 do IKE.

o processo
agora que conhecemos alguns dos termos-chave, podemos começar a falar sobre como o túnel IPSec se forma. Na minha opinião, existem 4 fases na vida de um túnel IPSec. Eu vou colocar abaixo e, em seguida, vamos falar sobre eles

Fase 1 – Interessante tráfego gera a criação do túnel
Fase 2 – IKE Fase 1
Fase 3 – IKE Fase 2
Fase 4 – Túnel de Terminação

Algumas pessoas jogar uma fase entre a minha fase 3 e 4 e lista como ‘túnel IPSec criado”, que no meu ponto de vista não é, na verdade, uma fase. Listar o produto das fases 1 a 3 não parece justificar sua própria fase em minha mente. De qualquer forma, vamos entrar em detalhes em cada um.

Fase 1 – tráfego interessante gera a criação do túnel
o que muitas pessoas não sabem sobre o IPSec é que é o que eu chamo de serviço ‘on demand’. Ou seja, uma vez que você cria um túnel não está funcionando o tempo todo. O que chamamos de “tráfego interessante”, desencadeia a criação de um túnel. Criar o túnel não leva muito tempo, mas pode, na maioria dos casos, ser notado ao usar o ping para testar. Na maioria dos casos, quando tento fazer ping de uma máquina cliente no túnel, a primeira solicitação ICMP falhará porque o túnel está sendo carregado. Os ICMPs subsequentes passam corretamente. Tráfego interessante é definido no ASA com um ACL. Em seguida, o ACL é especificado dentro do tunnels crypto map com um comando ‘match address’. Um exemplo de ACL pode parecer isso…

lista de acesso L2LCryptoMap estendido permitir ip <sub-rede Local> <Local máscara> <sub-rede de Destino> <máscara de Destino>

Você dizer a ASA, para coincidir com o tráfego proveniente de sua sub-rede para a sub-rede do outro lado do túnel. Isso levanta a questão das sub-redes privadas duplicadas. Se a sua sub-rede Na interface interna de ambos ASAs for a mesma, você terá problemas. Pense assim, quando um cliente de um lado tenta acessar um recurso na outra sub-rede, ele não vai a lugar nenhum. Por padrão, o cliente irá ARP para uma resposta porque acha que o cliente remoto que você está tentando acessar está em sua sub-rede local. Como ele não tenta sair da sub-rede, o cliente nunca entrará em contato com o gateway padrão (a interface interna do ASA) e você nunca formará um túnel. Mesmo se você fizesse, o tráfego ainda não fluiria. Existem algumas coisas “complicadas” que podemos fazer para corrigir esse problema, mas elas não se enquadram no Reino desta entrada do blog. A melhor situação é ter redes privadas exclusivas em cada local.

Fase 2 – Ike Fase 1
uma vez que o ASA recebe uma solicitação de uma sub-rede remota, que corresponde a um mapa de criptografia, começa a Fase 1 do IKE. O objetivo da Fase 1 do IKE é configurar a conexão para a Fase 2 do Ike. Basicamente, a Fase 1 do IKE estabelece o trabalho de base para que a conexão real ocorra. Na verdade, ele cria sua própria SA, que às vezes é chamada de management SA. Este gerenciamento SA é usado pela Fase 2 do IKE para criar os túneis de dados reais. Do ponto de vista técnico, existem três etapas para a Fase 1 do IKE. O primeiro passo é chamado de negociação política. A negociação de políticas se resume a encontrar conjuntos de transformação correspondentes em cada ponto final. Antes que o ISAKMP sa forme, cada endpoint precisa concordar com um conjunto de políticas Ike correspondente. Os itens a seguir precisam corresponder dentro da política definida em cada lado do túnel.

-o algoritmo de criptografia IKE
-o algoritmo de autenticação Ike
-a definição da chave IKE
-a versão Diffie Hellman
-a vida útil do IKE

lembre-se, os conjuntos de políticas do IKE estão associados à conclusão da Fase 1 do IKE. Um endpoint pode ter qualquer número de conjuntos de políticas que são avaliados em uma ordem. Por exemplo, você pode ter a política definida 10, 20 e 30. Os endpoints percorrerão os conjuntos de políticas em ordem, começando com o Menor primeiro até encontrar uma correspondência. Portanto, faz sentido definir conjuntos de políticas mais fortes primeiro. Se eles forem definidos após conjuntos de políticas mais fracos, você pode acabar encontrando uma correspondência mais fraca primeiro.

agora, antes de irmos muito mais longe na Fase 1 do IKE, é pertinente explicar que existem dois tipos diferentes de Fase 1 do IKE. O usado com mais frequência é chamado de ‘modo principal’ e consiste em 6 mensagens sendo trocadas entre pares. O outro tipo é chamado de modo “agressivo” e condensa as mensagens enviadas entre pares em 3 mensagens. O modo principal é mais lento na configuração, mas mais seguro. O modo agressivo é mais rápido na configuração, mas menos seguro. Não me Cite sobre isso, mas acredito que o modo principal é usado por padrão. Não vou mergulhar em detalhes aqui, ambos realizam a mesma coisa e os detalhes que listei acima devem indicar as grandes diferenças.

nosso primeiro passo para a Fase 1 do IKE foi a negociação de políticas-os pares precisam concordar com um conjunto de políticas correspondente. Eles fazem isso enviando conjuntos de políticas entre si para comparação e encontrando o conjunto de políticas de correspondência mais baixo. Depois de concluído, podemos passar para a próxima etapa, que é a troca de chaves DH. Durante esse processo, os pares trocam chaves públicas usadas para estabelecer o segredo compartilhado. Depois que esse processo é feito, a Fase 1 SA (ISAKMP SA) é formada e passamos para a última etapa que é a autenticação de pares.

durante a autenticação por pares, o método de autenticação definido é usado para garantir que dispositivos desonestos não estejam formando conexões seguras em sua rede. Na maioria das vezes isso é feito com chaves pré-compartilhadas. Esta etapa é bastante simples, os pares verificam para se certificar de que as chaves correspondem. Se não, a autenticação falha. Se eles corresponderem, passamos para a Fase 2 do IKE.

Fase 3 – IKE Fase 2
gosto de pensar na Fase 2 do IKE como a Construção Real do túnel de dados. O trabalho até este ponto tem sido principalmente para garantir que tenhamos um canal de comunicação seguro para que possamos construir o IPsec SAs real. Em comparação com a Fase 1 do IKE, a Fase 2 do Ike tem apenas um tipo de modo que é chamado de ‘modo rápido’. O modo rápido usa o ISAKMP sa existente criado na Fase 1 do IKE e cria o SAs IPsec e gerencia as principais trocas. O primeiro passo do modo rápido é negociar os conjuntos de transformação IPSec (não o mesmo que os conjuntos de políticas ISAKMP!!). Os itens a seguir precisam corresponder em ambas as extremidades para que o IPsec SAs se forme.

-O Protocolo IPSec O tipo de Criptografia IPsec O tipo de Autenticação IPSec
-O IPSec modo
-O IPSec SA vida

Agora vamos dar um breve momento para comparar a transformação de conjuntos de IKE fase 1 e fase 2. O seguinte é uma configuração típica fora de um ASA.

ISAKMP Conjunto de diretivas
criptografia política isakmp 10
autenticação pré-compartilhada
criptografia 3des
hash sha
grupo 2
tempo de vida 86400

IPSec transform
crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac

Ver algo de estranho? No conjunto de políticas ISAKMP, você pode ver claramente as 5 partes necessárias do conjunto de transformações que precisam ser acordadas. Na transformação IPSec não é tão claro. Isso ocorre porque a transformação realmente define apenas 3 das 5 peças necessárias. O exemplo acima define o protocolo IPSec (ESP), o tipo de autenticação IPSec (Sha) e o tipo de criptografia IPSec (3DES). O modo IPSec e a vida útil do IPsec SA não precisam ser definidos. Quando eles não são, o ASA simplesmente assume os seguintes valores de 28.800 para a vida útil do SA e o modo ‘túnel’ para todos os conjuntos de transformação. Eu geralmente não altero esses valores, a menos que o outro lado os altere.

então, uma vez que os conjuntos de transformação foram negociados e combinados, podemos criar o IPsec SAs. Como dito acima, um SA é uma conexão unidirecional. Portanto, para que o tráfego flua em cada sentido, dois IPsec SAs precisam se formar. O ASA faz este trabalho para você naturalmente assim que não há muito detalhe a compartilhar aqui. O modo rápido usa nonces para gerar novo material de chave que evita ataques de repetição. O terceiro passo é o processo de renegociação periódica da conexão. O SAs precisa ser regenerado antes da expiração da vida útil do túnel. O modo rápido monitora isso e gera um novo SAs antes que os antigos expirem.

Fase 4 – terminação do túnel
neste ponto, temos um túnel VPN totalmente funcional! O tráfego deve estar passando em ambas as direções. A única coisa que resta a fazer é derrubar o túnel se não houver tráfego interessante. O SAs só é regenerado se o tráfego interessante continuar a fluir. Se o tráfego interessante parar de vir na SA, poderá expirar depois que sua vida útil for atingida. Se o SA tiver permissão para expirar, todos os dados relativos ao SAS serão eliminados do SA. Da próxima vez que o tráfego interessante for gerado, todo o processo começará do zero.

solução de problemas
o problema mais comum na conectividade IPSec não é encontrar correspondências de conjunto de transformação para as fases 1 e 2 do IKE. Se você tiver problemas, a primeira coisa que você deve sempre fazer é verificar as configurações de ambos os lados para garantir que elas correspondam a 100%. A próxima coisa que você pode fazer é dar uma olhada no SAs no ASA e determinar se eles são criados e se eles são, que status eles têm.

Para ver o IKE Fase 1 SA emitir este comando
ASA# mostrar criptografia isakmp sa

Para ver o IKE Fase 2 SA emitir este comando
ASA# mostrar crypto ipsec sa

Se você não tem uma fase de 1 SA, em seguida, você não vai chegar muito longe. O estado da SA diz – lhe um par de coisas. Ele informa se o SA foi criado ou não com o modo principal ou agressivo, de que lado trouxe o túnel para cima, e também informa o status das negociações. Uma olhada em uma fase típica 1 SA é mostrada abaixo.

ASA # show crypto isakmp sa
Active SA: 1
Rekey SA: 0 (Um túnel relatório 1 Activas e 1 de Recodificação, SA durante a recodificação)
> Total SA IKE: 1

1 par IKE: <Peer Endereço IP>
Tipo : L2L Função : respondente
Recodificação : nenhum Estado : MM_ACTIVE

Como você pode ver a saída acima, temos um IKE fase 1 SA. O tipo é ‘ L2L ‘(o que indica que é um túnel IPSec de site para site), a função é ‘respondedor’ (o que significa que o par trouxe o túnel) e o estado é MM_Active (o que significa que está usando o modo principal (MM) e a fase Ike 1 está funcionando (ativa)). MM_ACTIVE é o que queremos ver em uma fase 1 Ike SA. Isso significa que tudo está pronto para a Fase 2 do IKE ocorrer. Então, o que você deve fazer se não tiver o estado ativo? Ou nenhum SA em tudo?

existem vários outros estados que podem indicar o que está acontecendo com o ISAKMP SA.

Nota: esses códigos de status são apenas para a versão ASA mais recente, o código IPsec mais antigo usava mensagens de status diferentes.
as duas primeiras letras informam se a conexão foi feita com o modo principal (MM) ou o modo agressivo (AM). Como pode ser o modo principal ou agressivo, vou listar simplesmente como ‘XX’ abaixo. Concedido, você só verá alguns deles com o modo principal ou agressivo. As definições que listo para cada estado são o que descobri ser o problema na maioria dos casos.

XX_Active Ligado
XX_KEY_EXCH – erro de Autenticação, verifique o método de autenticação
XX_INIT_EXCH – erro de Autenticação, verifique o método de autenticação
XX_NO_STATE – não é Possível corresponder IKE Fase 1 políticas, verificar em cada lado
XX_WAIT_MSG2 – Aguardando resposta do peer

Além disso, se você não tiver um SA em tudo, comece por verificar o óbvio. Comece na camada 1 e trabalhe para garantir que ambas as unidades tenham conectividade e que os endereços de pares estejam corretos.

99% das vezes um problema é com o Ike Fase 1 SA. Se você está recebendo um estado ativo na Fase 1, provavelmente está em boa forma. Se você ainda está tendo problemas, Dê uma olhada no seu Ike Fase 2 SA. Não vou mostrar um exemplo de um, pois são apenas estatísticas. O mesmo conceito se aplica, porém, se você não tiver um IPsec SA, não terá um túnel VPN.

depuração
se você ainda estiver tendo problemas, como qualquer outra coisa no ASA, tente depurar. Dois comandos que você está procurando seriam…

ASA# depuração de criptografia isakmp
ASA# debug crypto ipsec
ASA# monitor de terminal

certifique-se de que você ative o terminal monitor, se você não estiver no console de porta

A Correção Grande
eu não posso dizer quantas vezes eu passei horas tentando conseguir um túnel para carregar com absolutamente nenhum sucesso. No final, dois comandos sempre corrigiram meus problemas. Quando tudo mais falhar, limpe todos os seus ISAKMP e IPSec SAs. Isso, é claro, vai explodir todas as conexões IPSec para a caixa. Algo sobre apenas soprar todas as outras conexões e começar do zero parece consertá-lo. Fazer….

ASA# limpar crypto ipsec sa
ASA# limpar criptografia isakmp sa

Conclusão
eu espero que você tenha visto, através deste artigo, que ter uma compreensão básica de como o IPSec funciona faz um mundo de diferença. Saber onde procurar erros e como interpretá-los é a chave para solucionar problemas de túneis IPSec L2L.

Leave a Reply