Introduzione
Questo documento descrive come configurare Firepower Threat Defense (FTD) versione 6.4.0 per posturare gli utenti VPN contro Identity Services Engine (ISE).
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza dei seguenti argomenti:
- AnyConnect VPN ad accesso remoto
- Configurazione VPN di accesso remoto nell'FTD
- Servizi Identity Services Engine e servizi di postura
Componenti usati
Le informazioni fornite in questo documento si basano sulle seguenti versioni software:
- Software Cisco Firepower Threat Defense (FTD) versioni 6.4.0
- Software Cisco Firepower Management Console (FMC) versione 6.5.0
- Microsoft Windows 10 con Cisco AnyConnect Secure Mobility Client versione 4.7
- Cisco Identity Services Engine (ISE) versione 2.6 con patch 3
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Configurazione
Esempio di rete e flusso del traffico

1. L'utente remoto usa Cisco Anyconnect per l'accesso VPN al FTD.
2. L'FTD invia all'ISE una richiesta di accesso RADIUS per tale utente.
3. Tale richiesta è conforme alla policy denominata FTD-VPN-Posture-Unknown sull'ISE. L'ISE invia un messaggio di accesso RADIUS-Accept con tre attributi:
4. Se viene inviato un DACL, viene scambiato un accesso RADIUS con richiesta/accettazione dell'accesso per scaricare il contenuto del DACL
5. Quando il traffico proveniente dall'utente VPN corrisponde all'ACL definito localmente, viene reindirizzato al portale di provisioning del client ISE. ISE fornisce AnyConnect Posture Module e Compliance Module.
6. Una volta installato sul computer client, l'agente cerca automaticamente l'ISE con le sonde. Quando ISE viene rilevato correttamente, i requisiti di postura vengono controllati sull'endpoint. In questo esempio, l'agente verifica la presenza di software antimalware installato. Infine, invia un report sulla postura all'ISE.
7. Quando ISE riceve il report sulla postura dall'agente, cambia lo stato della postura per questa sessione e attiva il Push del tipo CoA RADIUS con i nuovi attributi. Questa volta, lo stato della postura è noto e viene trovata un'altra regola.
- Se l'utente è conforme, viene inviato un nome DACL che consente l'accesso completo.
- Se l'utente non è conforme, viene inviato un nome DACL che consente l'accesso limitato.
8. L'FTD rimuove il reindirizzamento. L'FTD invia una richiesta di accesso per scaricare il DACL dall'ISE. Il DACL specifico viene collegato alla sessione VPN.
Configurazioni
FTD/FMC
Passaggio 1. Creare un Network Object Group per ISE e gli eventuali server di monitoraggio e aggiornamento. Passare a Oggetti > Gestione oggetti > Rete.

Passaggio 2. Creare un ACL di reindirizzamento. Passare a Oggetti > Gestione oggetti > Elenco accessi > Estesi. Fare clic su Add Extended Access List (Aggiungi elenco accessi esteso) e fornire il nome dell'ACL di reindirizzamento. Questo nome deve coincidere esattamente con quello restituito dal risultato dell'autorizzazione ISE.

Passaggio 3. Aggiunta di voci ACL di reindirizzamento. Fare clic sul pulsante Aggiungi. Bloccare il traffico verso DNS, ISE e verso i server di monitoraggio e aggiornamento per escluderli dal reindirizzamento. Consentire il resto del traffico. Ciò attiva il reindirizzamento (le voci ACL potrebbero essere più specifiche se necessarie).


Passaggio 4. Aggiungere uno o più nodi PSN ISE. Passare a Oggetti > Gestione oggetti > Gruppo server RADIUS. Fare clic su Aggiungi gruppo di server RADIUS, quindi specificare il nome, abilitare e selezionare tutte le caselle di controllo, quindi fare clic sull'icona più.

Passaggio 5. Nella finestra aperta, fornire ISE PSN IP address, RADIUS Key, selezionare Specific Interface (Interfaccia specifica) e selezionare l'interfaccia da cui ISE è raggiungibile (l'interfaccia viene utilizzata come origine del traffico RADIUS), quindi selezionare Redirect ACL, precedentemente configurato.

Passaggio 6. Creare il pool di indirizzi per gli utenti VPN. Selezionare Oggetti > Gestione oggetti > Pool di indirizzi > Pool IPv4. Fare clic su Add IPv4 Pools (Aggiungi pool IPv4) e immettere i dettagli.

Passaggio 7. Creare il pacchetto AnyConnect. Selezionare Oggetti > Gestione oggetti > VPN > File AnyConnect. Fare clic su Add AnyConnect File (Aggiungi file AnyConnect), fornire il nome del pacchetto, scaricare il pacchetto da Cisco Software Download e selezionare Anyconnect Client Image File Type (Tipo di file immagine client Anyconnect).

Passaggio 8. Passare a Oggetti certificato > Gestione oggetti > Infrastruttura a chiave pubblica > Registrazione certificato. Fare clic su Aggiungi registrazione certificato, fornire il nome, scegliere Certificato autofirmato in Tipo di registrazione. Fare clic sulla scheda Parametri certificato e specificare CN.


Passaggio 9. Avviare la procedura guidata VPN di Accesso remoto. Selezionare Dispositivi > VPN > Accesso remoto e fare clic su Aggiungi.

Passaggio 10. Fornire il nome, controllare SSL come protocollo VPN, scegliere FTD che viene utilizzato come concentratore VPN e fare clic su Avanti.

Passaggio 11. Specificare il nome del profilo di connessione, selezionare Server di autenticazione/accounting, selezionare il pool di indirizzi configurato in precedenza e fare clic su Avanti.
Nota: Non selezionare il server di autorizzazione. e attiva due richieste di accesso per un singolo utente (una volta con la password dell'utente e la seconda volta con la password cisco).

Passaggio 12. Selezionare il pacchetto AnyConnect configurato in precedenza e fare clic su Avanti.

Passaggio 13. Selezionare l'interfaccia da cui è previsto il traffico VPN, selezionare Registrazione certificato configurata in precedenza e fare clic su Avanti.

Passaggio 14. Controllare la pagina di riepilogo e fare clic su Fine.

Passaggio 15. Distribuire la configurazione in FTD. Fare clic su Deploy (Distribuisci) e selezionare FTD (FTD) da utilizzare come concentratore VPN.

ISE
Passo 1: eseguire gli aggiornamenti delle posture. Passare ad Amministrazione > Sistema > Impostazioni > Postura > Aggiornamenti.

Passaggio 2. Caricare il modulo di conformità. Passare a Criteri > Elementi criteri > Risultati > Provisioning client > Risorse. Fare clic su Add (Aggiungi) e selezionare le risorse agente dal sito Cisco

Passaggio 3. Scarica AnyConnect da Cisco Software Download, quindi caricalo in ISE. Passare a Criteri > Elementi criteri > Risultati > Provisioning client > Risorse.
Fare clic su Add (Aggiungi) e selezionare Agent Resources From Local Disk. Selezionare Cisco Provided Packages in Category, selezionare AnyConnect package dal disco locale e fare clic su Submit.

Passaggio 4. Creare il profilo di postura di AnyConnect. Passare a Criteri > Elementi criteri > Risultati > Provisioning client > Risorse.
Fare clic su Add (Aggiungi) e selezionare AnyConnect Posture Profile. Inserire il nome e il protocollo di postura.
In *Le regole per i nomi dei server inseriscono * e inseriscono qualsiasi indirizzo IP fittizio in Discovery host.


Passaggio 5. Passare a Criteri > Elementi dei criteri > Risultati > Provisioning client > Risorse e creare la configurazione AnyConnect. Fare clic su Add (Aggiungi), quindi selezionare AnyConnect Configuration (Configurazione AnyConnect). Selezionare AnyConnect Package, fornire il nome della configurazione, selezionare Compliance Module, selezionare Diagnostic and Reporting Tool, selezionare Posture Profile e fare clic su Save.

Passaggio 6. Passare a Criterio > Provisioning client e creare Criterio di provisioning client. Fare clic su Edit, quindi selezionare Insert Rule Above, specificare il nome, selezionare OS, quindi selezionare AnyConnect Configuration (Configurazione di AnyConnect) creata nel passaggio precedente.

Passaggio 7. Creare la condizione di postura in Criteri > Elementi criterio > Condizioni > Postura > Condizione antimalware. Nell'esempio viene utilizzato il valore predefinito "ANY_am_win_inst".
.

Passaggio 8. Passare a Criterio > Elementi criteri > Risultati > Postura > Azioni di risoluzione e creare la correzione della postura. In questo esempio viene ignorato. L'azione di risoluzione può essere un SMS.
Passaggio 9. Passare a Criterio > Elementi criteri > Risultati > Postura > Fabbisogni e creare Fabbisogni postura. Si utilizza il requisito predefinito Any_AM_Installation_Win.

Passaggio 10. Creare i criteri di postura in Criteri > Postura. Viene utilizzato il criterio di postura predefinito per qualsiasi controllo antimalware per il sistema operativo Windows.

Passaggio 11. Passare a Policy > Policy Elements > Results > Authorization > Downlodable ACLS (Criteri di gruppo > Elementi criteri > Risultati > Autorizzazione > ACL scaricabili) e creare DACL per stati di postura diversi.
In questo esempio:
- DACL con postura sconosciuta: consente il traffico verso DNS, PSN e HTTP e HTTPS.
- DACL postura non conforme - nega l'accesso alle subnet private e consente solo il traffico Internet.
- Permit All DACL - consente tutto il traffico per lo stato di conformità alla postura.



Passaggio 12. Creare tre profili di autorizzazione per gli stati di postura sconosciuta, non conforme e conforme alla postura. A tale scopo, selezionare Criteri > Elementi criteri > Risultati > Autorizzazione > Profili di autorizzazione. Nel profilo Postura sconosciuta, selezionare DACL postura sconosciuta, selezionare Reindirizzamento Web, selezionare Provisioning client, fornire il nome ACL di reindirizzamento (configurato su FTD) e selezionare il portale.



Nel profilo Postura non conforme, selezionare DACL per limitare l'accesso alla rete.


Nel profilo Posture Compliant, selezionare DACL per consentire l'accesso completo alla rete.


Passaggio 13. Creare i criteri di autorizzazione in Criterio > Set di criteri > Predefinito > Criterio di autorizzazione. Poiché vengono utilizzati lo stato della postura della condizione e il nome del gruppo di tunnel VPN,

Verifica
Fare riferimento a questa sezione per verificare che la configurazione funzioni correttamente.
Ad ISE, il primo passaggio della verifica è RADIUS Live Log. Passare a Operazioni > Registro dinamico RADIUS. In questo caso, l'utente Alice è connesso ed è selezionato il criterio di autorizzazione previsto.

Il criterio di autorizzazione FTD-VPN-Posture-Unknown corrisponde e di conseguenza, FTD-VPN-Profile viene inviato a FTD.

Stato postura in sospeso.

La sezione Risultato mostra quali attributi vengono inviati a FTD.

Su FTD, per verificare la connessione VPN, eseguire il comando SSH sulla casella, eseguire il supporto di sistema diagnostic-cli e quindi visualizzare i dettagli vpn-sessiondb su anyconnect. Da questo output, verificare che gli attributi inviati da ISE siano applicati per questa sessione VPN.
fyusifov-ftd-64# show vpn-sessiondb detail anyconnect
Session Type: AnyConnect Detailed
Username : alice@training.example.com
Index : 12
Assigned IP : 172.16.1.10 Public IP : 10.229.16.169
Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel
License : AnyConnect Premium
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)AES-GCM-256 DTLS-Tunnel: (1)AES256
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA384 DTLS-Tunnel: (1)SHA1
Bytes Tx : 15326 Bytes Rx : 13362
Pkts Tx : 10 Pkts Rx : 49
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : DfltGrpPolicy Tunnel Group : EmployeeVPN
Login Time : 07:13:30 UTC Mon Feb 3 2020
Duration : 0h:06m:43s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : 000000000000c0005e37c81a
Security Grp : none Tunnel Zone : 0
AnyConnect-Parent Tunnels: 1
SSL-Tunnel Tunnels: 1
DTLS-Tunnel Tunnels: 1
AnyConnect-Parent:
Tunnel ID : 12.1
Public IP : 10.229.16.169
Encryption : none Hashing : none
TCP Src Port : 56491 TCP Dst Port : 443
Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 23 Minutes
Client OS : win
Client OS Ver: 10.0.18363
Client Type : AnyConnect
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.7.01076
Bytes Tx : 7663 Bytes Rx : 0
Pkts Tx : 5 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
SSL-Tunnel:
Tunnel ID : 12.2
Assigned IP : 172.16.1.10 Public IP : 10.229.16.169
Encryption : AES-GCM-256 Hashing : SHA384
Ciphersuite : ECDHE-RSA-AES256-GCM-SHA384
Encapsulation: TLSv1.2 TCP Src Port : 56495
TCP Dst Port : 443 Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 23 Minutes
Client OS : Windows
Client Type : SSL VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.7.01076
Bytes Tx : 7663 Bytes Rx : 592
Pkts Tx : 5 Pkts Rx : 7
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Filter Name : #ACSACL#-IP-PostureUnknown-5e37414d
DTLS-Tunnel:
Tunnel ID : 12.3
Assigned IP : 172.16.1.10 Public IP : 10.229.16.169
Encryption : AES256 Hashing : SHA1
Ciphersuite : DHE-RSA-AES256-SHA
Encapsulation: DTLSv1.0 UDP Src Port : 59396
UDP Dst Port : 443 Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 29 Minutes
Client OS : Windows
Client Type : DTLS VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.7.01076
Bytes Tx : 0 Bytes Rx : 12770
Pkts Tx : 0 Pkts Rx : 42
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Filter Name : #ACSACL#-IP-PostureUnknown-5e37414d
ISE Posture:
Redirect URL : https://fyusifov-26-3.example.com:8443/portal/gateway?sessionId=000000000000c0005e37c81a&portal=27b1bc...
Redirect ACL : fyusifovredirect
fyusifov-ftd-64#
È possibile verificare i criteri di provisioning client. Passare a Operazioni > Report > Endpoint e utenti > Provisioning client.

È possibile controllare il report sulla postura inviato da AnyConnect. Passare a Operazioni > Rapporti > Endpoint e utenti > Valutazione postura per endpoint.

Per visualizzare ulteriori dettagli sul report di postura, fare clic su Dettagli.



Dopo la ricezione del report ad ISE, lo stato della postura viene aggiornato. In questo esempio, lo stato della postura è conforme e il Push CoA viene attivato con una nuova serie di attributi.



Verificare a FTD che i nuovi ACL di reindirizzamento e URL di reindirizzamento vengano rimossi per la sessione VPN e che venga applicato PermitAll DACL.
fyusifov-ftd-64# show vpn-sessiondb detail anyconnect
Session Type: AnyConnect Detailed
Username : alice@training.example.com
Index : 14
Assigned IP : 172.16.1.10 Public IP : 10.55.218.19
Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel
License : AnyConnect Premium
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)AES-GCM-256 DTLS-Tunnel: (1)AES256
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA384 DTLS-Tunnel: (1)SHA1
Bytes Tx : 53990 Bytes Rx : 23808
Pkts Tx : 73 Pkts Rx : 120
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : DfltGrpPolicy Tunnel Group : EmployeeVPN
Login Time : 16:58:26 UTC Mon Feb 3 2020
Duration : 0h:02m:24s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : 000000000000e0005e385132
Security Grp : none Tunnel Zone : 0
AnyConnect-Parent Tunnels: 1
SSL-Tunnel Tunnels: 1
DTLS-Tunnel Tunnels: 1
AnyConnect-Parent:
Tunnel ID : 14.1
Public IP : 10.55.218.19
Encryption : none Hashing : none
TCP Src Port : 51965 TCP Dst Port : 443
Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 27 Minutes
Client OS : win
Client OS Ver: 10.0.18363
Client Type : AnyConnect
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.7.01076
Bytes Tx : 7663 Bytes Rx : 0
Pkts Tx : 5 Pkts Rx : 0
Pkts Tx Drop : 0 Pkts Rx Drop : 0
SSL-Tunnel:
Tunnel ID : 14.2
Assigned IP : 172.16.1.10 Public IP : 10.55.218.19
Encryption : AES-GCM-256 Hashing : SHA384
Ciphersuite : ECDHE-RSA-AES256-GCM-SHA384
Encapsulation: TLSv1.2 TCP Src Port : 51970
TCP Dst Port : 443 Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 27 Minutes
Client OS : Windows
Client Type : SSL VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.7.01076
Bytes Tx : 7715 Bytes Rx : 10157
Pkts Tx : 6 Pkts Rx : 33
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Filter Name : #ACSACL#-IP-PermitAll-5e384dc0
DTLS-Tunnel:
Tunnel ID : 14.3
Assigned IP : 172.16.1.10 Public IP : 10.55.218.19
Encryption : AES256 Hashing : SHA1
Ciphersuite : DHE-RSA-AES256-SHA
Encapsulation: DTLSv1.0 UDP Src Port : 51536
UDP Dst Port : 443 Auth Mode : userPassword
Idle Time Out: 30 Minutes Idle TO Left : 28 Minutes
Client OS : Windows
Client Type : DTLS VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.7.01076
Bytes Tx : 38612 Bytes Rx : 13651
Pkts Tx : 62 Pkts Rx : 87
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Filter Name : #ACSACL#-IP-PermitAll-5e384dc0
fyusifov-ftd-64#
Risoluzione dei problemi
Le informazioni contenute in questa sezione permettono di risolvere i problemi relativi alla configurazione.
Per un flusso di postura dettagliato e per risolvere i problemi relativi a AnyConnect e ISE, controllare questo collegamento: Confronto tra gli stili di postura ISE per le versioni precedenti e successive alla 2.2.
Uno dei problemi più comuni, quando è configurato un tunnel di spit. In questo esempio viene utilizzato il criterio di gruppo predefinito, che esegue il tunneling di tutto il traffico. Nel caso in cui venga tunneling solo del traffico specifico, le sonde AnyConnect (enroll.cisco.com e host di rilevamento) devono attraversare il tunnel, oltre al traffico diretto all'ISE e ad altre risorse interne.
Per controllare i criteri del tunnel in FMC, verificare innanzitutto quali criteri di gruppo vengono utilizzati per la connessione VPN. Selezionare Dispositivi > Accesso remoto VPN.

Passare quindi a Oggetti > Gestione oggetti > VPN > Criteri di gruppo e fare clic su Criteri di gruppo configurati per VPN.

Un altro problema comune è quando il traffico di ritorno degli utenti VPN viene tradotto con l'uso di una voce NAT errata. Per risolvere il problema, è necessario creare Identity NAT nell'ordine appropriato.
Controllare innanzitutto le regole NAT per il dispositivo. Passare a Dispositivi > NAT e fare clic su Aggiungi regola per creare una nuova regola.

Nella finestra aperta, selezionare Aree di protezione nella scheda Oggetti interfaccia. Nell'esempio, la voce NAT viene creata da ZONE-INSIDE a ZONE-OUTSIDE.

Nella scheda Traduzione, selezionare i dettagli del pacchetto originale e tradotto. Essendo Identity NAT, l'origine e la destinazione rimangono invariate:

Nella scheda Avanzate, selezionare le caselle di controllo come illustrato nell'immagine:
