Problema
O objetivo é permitir o acesso total dos usuários de VPN aos recursos de rede internos após a autenticação bem-sucedida de VPN usando RADIUS (em um servidor associado a um domínio do Windows) no FTD do Cisco Secure Firewall.
A configuração da VPN já está operacional; você pode baixar e instalar o cliente VPN e autenticar com êxito. O problema está focado na configuração do controle de acesso necessário e das regras de NAT para permitir o acesso de recurso interno necessário pela VPN.
Ambiente
- Produto: Cisco Secure Firewall Firepower (FTD), versão 7.6.0 (aplicável a todos os FTDs)
- Gerenciamento: Firepower Management Center (FMC), FMC fornecido na nuvem (cdFMC) ou Firepower Device Manager (FDM)
- Versão do software: 7.6.0
Resolução
Estas etapas detalham a configuração necessária para permitir que os usuários da VPN acessem recursos internos (como RDP e Ative Diretory) no Cisco FTD. Isso inclui a criação de regras de política de acesso, a configuração de isenções de NAT e o hairpin NAT para tráfego VPN e o uso de comandos de solução de problemas para validar a configuração.
1: Adicione uma entrada de lista de acesso para permitir que o pool de endereços VPN acesse recursos internos.
access-list CSM_FW_ACL_ advanced permit ip object VPN_Pool any rule-id 268438528
access-list CSM_FW_ACL_ remark rule-id 268438528: ACCESS POLICY: Default Access Control Policy - Obrigatório
access-list CSM_FW_ACL_ remark rule-id 268438528: L7 RULE: Permit_VPN_Pool
2: Adicione uma regra de lista de acesso para permitir que recursos internos enviem tráfego de retorno para o pool VPN:
access-list CSM_FW_ACL_ advanced permit ip any object VPN_Pool
Essas regras podem ser mais rígidas posteriormente para restringir origens e destinos específicos, conforme necessário.
3: Configurar a isenção de NAT ou o NAT de hairpin para tráfego de VPN
Há duas abordagens comuns:
- Opção A: Isenção de NAT para pool de VPN para sub-rede interna
nat (externo,interno) origem estática VPN_Pool VPN_Pool destino estático Net_192.168.95.1-24 Net_192.168.95.1-24 consulta de rota
- Opção B: Hairpin NAT para Pool VPN na Mesma Interface (no-proxy-arp)
nat (any,any) source static VPN_Pool VPN_Pool no-proxy-arp
- Opção C: NAT Hairpin Dinâmico para Pool VPN na Interface Externa
nat (outside,outside) dynamic VPN_Pool interface
O método correto depende se os recursos internos estão na mesma interface física (exigindo hairpin NAT) ou em interfaces diferentes (isenção de NAT).
4: Use o comando packet-tracer para simular fluxos de tráfego do pool VPN para recursos internos e validar se o tráfego é permitido pela regra desejada, NAT e rota.
entrada do packet-tracer fora do icmp 192.168.250.1 8 0 192.168.95.1
entrada do packet-tracer fora do tcp 192.168.250.1 12345 192.168.95.1 80
entrada de packet-tracer dentro do icmp 192.168.95.1 8 0 192.168.250.1
entrada de packet-tracer dentro do tcp 192.168.250.1 54321 192.168.95.1 443
—
Fase 5
ID: 5
Tipo: ACCESS-LIST
Resultado: ALLOW
Config: access-group CSM_FW_ACL_ globalaccess-list CSM_FW_ACL_ advanced permit ip object VPN_Pool any rule-id 268438528 access-list CSM_FW_ACL_ remark rule-id 268438528: ACCESS POLICY: Default Access Control Policy - Mandatory access-list CSM_FW_ACL_ remark rule-id 268438528: L7 RULE: Permit_VPN_Pool
Informações Adicionais: Este pacote será enviado para snort para processamento adicional em que um veredito será alcançado Forward Flow com base em pesquisa produz regra: em id=0x40009d6ae190, priority=12, domain=permit, deny=false hits=1300, user_data=0x0000000000000000, cs_id=0x0, use_real_addr, flags=0x0, protocol=0 src ip/id=240.0.0.0, mask=255.255.255.255, port=0, tag=any, ifc=any dst ip/id=240.5.0.2, mask=255.255.255.255, port=0, tag=any, ifc=any, dscp=0x0, input_ifc=any, output_ifc=any
Tempo decorrido: 0 ns
—
Fase 7
ID: 7
Tipo: NAT
Resultado: ALLOW
Configuração: interface VPN_Pool dinâmica nat (externa, externa)
Informações adicionais: Static translate 192.168.250.1/12345 to 192.168.250.1/12345 Forward Flow based lookup yields rule: in id=0x40009d6ad0a0, priority=6, domain=nat, deny=false hits=274, user_data=0x000040009963a2d0, cs_id=0x0, flags=0x0, protocol=0 src ip/id=192.168.250.1, mask=255.255.255.255, port=0, tag=any dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any dscp=0x0, input_ifc=any, output_ifc=any
Tempo decorrido: 0 ns
Observação: a saída do packet-tracer para a fase WebVPN pode mostrar um descarte para o tráfego VPN na interface externa. Esse é o comportamento esperado para o tráfego de texto simples na interface externa e ainda pode ser usado para validar o NAT.
Observações Adicionais:
- É possível que as capturas de pacotes na interface do usuário do Threat Defense mostrem apenas solicitações de entrada. Se nenhuma queda for observada, mas o tráfego não atingir o recurso interno, verifique as regras de NAT e de lista de acesso.
- Quando o SSH não está disponível, toda a solução de problemas pode ser executada através dos recursos da interface de usuário do Threat Defense no cdFMC, mas o uso do comando é limitado.
- É possível que algumas modificações sejam necessárias em dispositivos adjacentes para conectividade fim-a-fim. Certifique-se de que elas sejam validadas conforme necessário.
Causa
A causa raiz foi a política de acesso insuficiente e a configuração de NAT para o tráfego do pool de VPN para interno e interno para VPN. A configuração padrão não permitia a comunicação bidirecional completa do pool VPN para recursos internos e vice-versa, nem tratava dos requisitos de NAT hairpin para entrada e saída de tráfego na mesma interface.
Conteúdo relacionado