Problema
L'obiettivo è consentire agli utenti VPN l'accesso completo alle risorse della rete interna dopo la corretta autenticazione VPN tramite RADIUS (su un server aggiunto al dominio Windows) su Cisco Secure Firewall FTD.
L'installazione della VPN è già operativa. Gli utenti possono scaricare e installare il client VPN e autenticarsi correttamente. Il problema riguarda la configurazione del controllo di accesso e delle regole NAT necessarie per consentire l'accesso alle risorse interne necessarie sulla VPN.
Ambiente
- Prodotto: Cisco Secure Firewall Firepower (FTD), versione 7.6.0 (ad esempio un accessorio CSF1220CX)
- Gestione: Firepower Management Center (FMC), FMC distribuito tramite cloud (cdFMC) o Firepower Device Manager (FDM)
- VPN: configurata con l'autenticazione RADIUS su un Server dei criteri di rete Windows
- Pool di indirizzi VPN: 192.168.250.1 - 192.168.250.200
- Esempio di subnet interna di destinazione: 192.168.95.0/24
- Versione del software: 9.2.1 (a cui si fa riferimento nel flusso di lavoro)
- Interfacce rilevanti: interfaccia "esterna" per ingresso VPN
- Accesso RDP e Active Directory richiesto tramite connessione VPN
Risoluzione
In questa procedura viene descritta in dettaglio la configurazione necessaria per consentire agli utenti VPN di accedere alle risorse interne (ad esempio RDP e Active Directory) su Cisco FTD. Sono incluse la creazione di regole per i criteri di accesso, la configurazione delle esenzioni NAT e del protocollo NAT hairpin per il traffico VPN e l'utilizzo dei comandi di risoluzione dei problemi per convalidare la configurazione.
Passaggio 1: aggiungere una voce all'elenco degli accessi per consentire al pool di indirizzi VPN di accedere alle risorse interne.
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 - Mandatory
access-list CSM_FW_ACL_ remark rule-id 268438528: L7 RULE: Permit_VPN_Pool
Passaggio 2: Aggiungere una regola dell'elenco degli accessi per consentire alle risorse interne di inviare il traffico di ritorno al pool VPN:
access-list CSM_FW_ACL_ advanced permit ip any object VPN_Pool
Tali norme possono essere rese più rigorose per limitare le fonti e le destinazioni specifiche in base alle necessità.
Passaggio 3: configurare l'esenzione NAT o il protocollo NAT hairpin per il traffico VPN
Esistono due approcci comuni:
- Opzione A: Esenzione NAT per pool VPN su subnet interna
nat (outside,inside) source static VPN_Pool VPN_Pool destination static Net_192.168.95.1-24 Net_192.168.95.1-24 route-lookup
- Opzione B: NAT hairpin per pool VPN sulla stessa interfaccia (no-proxy-arp)
nat (any,any) source static VPN_Pool VPN_Pool no-proxy-arp
- Opzione C: NAT con hairpin dinamico per pool VPN su interfaccia esterna
nat (outside,outside) dynamic VPN_Pool interface
Il metodo corretto dipende dal fatto che le risorse interne si trovino sulla stessa interfaccia fisica (che richiede un NAT hairpin) o su interfacce diverse (esenzione NAT).
Passaggio 4: utilizzare il comando packet-tracer per simulare i flussi di traffico dal pool VPN alle risorse interne e verificare se il traffico è autorizzato dalla regola, dal protocollo NAT e dal routing previsti.
packet-tracer input outside icmp 192.168.250.1 8 0 192.168.95.1
packet-tracer input outside tcp 192.168.250.1 12345 192.168.95.1 80
packet-tracer input inside icmp 192.168.95.1 8 0 192.168.250.1
packet-tracer input inside tcp 192.168.250.1 54321 192.168.95.1 443
--
Phase 5
ID: 5
Type: ACCESS-LIST
Result: 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 - Mandatoryaccess-list CSM_FW_ACL_ remark rule-id 268438528: L7 RULE: Permit_VPN_Pool
Additional Information: This packet will be sent to snort for additional processing where a verdict will be reached Forward Flow based lookup yields rule: in 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
Elapsed Time: 0 ns
--
Phase 7
ID: 7
Type: NAT
Result: ALLOW
Config: nat (outside,outside) dynamic VPN_Pool interface
Additional Information: 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
Elapsed Time: 0 ns
Nota: l'output packet-tracer per la fase WebVPN potrebbe mostrare un "DROP" per il traffico VPN sull'interfaccia esterna. Questo è il comportamento previsto per il traffico in testo normale sull'interfaccia esterna e può ancora essere usato per convalidare NAT.
Note aggiuntive:
- È possibile che le acquisizioni di pacchetti nell'interfaccia utente di difesa dalle minacce visualizzino solo le richieste in arrivo. Se non vengono rilevate perdite, ma il traffico non raggiunge la risorsa interna, controllare le regole NAT e dell'elenco degli accessi.
- Quando SSH non è disponibile, tutte le operazioni di risoluzione dei problemi possono essere eseguite tramite le funzionalità dell'interfaccia utente di Threat Defense in cdFMC, ma l'utilizzo dei comandi è limitato.
- È possibile che siano necessarie alcune modifiche sui dispositivi adiacenti per la connettività end-to-end.
Causa
La causa principale è stata l'insufficienza dei criteri di accesso e della configurazione NAT per il traffico da VPN a interno e da interno a VPN del pool. La configurazione predefinita non consente la comunicazione bidirezionale completa dal pool VPN alle risorse interne e viceversa, né gestisce i requisiti NAT hairpin per il traffico in entrata e in uscita sulla stessa interfaccia.
Contenuto correlato