Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Configurazione

Esempio di rete e flusso del traffico

Configurazioni

FTD/FMC

ISE

Verifica

Risoluzione dei problemi

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:

- cisco-av-pair = url-redirect-acl=fyusifovredirect - È il nome dell'elenco di controllo di accesso (ACL) definito localmente sull'FTD, che decide il traffico che viene reindirizzato.

- cisco-av-pair = url-redirect=https://ip:port/portal/gateway?sessionId=SessionIdValue&portal=27b1bc30-2e58-11e9-98fb-0050568775a3&action=cpp - URL a cui viene reindirizzato l'utente remoto.

- DACL = PERMIT_ALL_IPV4_TRAFFIC - ACL scaricabile; Questo attributo è facoltativo. In questo scenario, tutto il traffico è consentito in DACL)

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.

- Spilt Tunnel

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.

- Identity NAT

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: