Inleiding
In dit document wordt beschreven hoe Firepower Threat Defense (FTD) versie 6.4.0 kan worden geconfigureerd om VPN-gebruikers te positioneren tegen Identity Services Engine (ISE).
Voorwaarden
Vereisten
Cisco raadt kennis van de volgende onderwerpen aan:
- AnyConnect Remote Access VPN
- Remote Access VPN-configuratie op de FTD
- Identiteitsservices Engine- en houdingsservices
Gebruikte componenten
De informatie in dit document is gebaseerd op de volgende softwareversies:
- Cisco Firepower Threat Defense (FTD) softwareversies 6.4.0
- Cisco Firepower Management Console (FMC) softwareversie 6.5.0
- Microsoft Windows 10 met Cisco AnyConnect Secure Mobility Client versie 4.7
- Cisco Identity Services Engine (ISE) versie 2.6 met Patch 3
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Configureren
Netwerkdiagram en verkeersstroom

1. De externe gebruiker gebruikt Cisco Anyconnect voor VPN-toegang tot de FTD.
2. Het FTD stuurt een RADIUS-toegangsverzoek voor die gebruiker naar de ISE.
3. Dat verzoek raakt het beleid met de naam FTD-VPN-Posture-Unknown op de ISE. De ISE verzendt een RADIUS Access-Accept met drie attributen:
4. Als DACL wordt verzonden, wordt RADIUS Access-Request/Access-Accept uitgewisseld om de inhoud van de DACL te downloaden
5. Wanneer het verkeer van de VPN-gebruiker overeenkomt met de lokaal gedefinieerde ACL, wordt het doorgestuurd naar het ISE Client Provisioning Portal. ISE-bepalingen AnyConnect Posture Module en Compliance Module.
6. Nadat de agent op het clientsysteem is geïnstalleerd, wordt automatisch gezocht naar ISE met probes. Wanneer ISE met succes wordt gedetecteerd, worden de houdingsvereisten gecontroleerd op het eindpunt. In dit voorbeeld controleert de agent op geïnstalleerde antimalwaresoftware. Vervolgens stuurt het een houdingsrapport naar de ISE.
7. Wanneer ISE het houdingsrapport van de agent ontvangt, wijzigt ISE de houdingsstatus voor deze sessie en activeert het RADIUS CoA-type Push met nieuwe attributen. Deze keer is de houding status bekend en een andere regel wordt geraakt.
- Als de gebruiker compliant is, wordt een DACL-naam verzonden die volledige toegang mogelijk maakt.
- Als de gebruiker niet voldoet, wordt een DACL-naam verzonden die beperkte toegang mogelijk maakt.
8. Het FTD verwijdert de omleiding. FTD verzendt Access-Request om DACL van de ISE te downloaden. De specifieke DACL is gekoppeld aan de VPN-sessie.
Configuraties
FTD/FMC
Stap 1. Netwerkobjectgroep maken voor ISE- en herstelservers (indien aanwezig). Ga naar Objecten > Objectbeheer > Netwerk.

Stap 2. Redirect ACL maken. Navigeer naar Objecten > Objectbeheer > Toegangslijst > Uitgebreid. Klik op Uitgebreide toegangslijst toevoegen en geef de naam van ACL omleiden op. Deze naam moet dezelfde zijn als in het ISE-autorisatieresultaat.

Stap 3. ACL-vermeldingen omleiden toevoegen. Klik op de knop Toevoegen. Blokkeer verkeer naar DNS, ISE en naar de herstelservers om ze uit te sluiten van omleiding. Laat de rest van het verkeer toe, dit leidt tot omleiding (ACL-vermeldingen kunnen indien nodig specifieker zijn).


Stap 4. ISE PSN-node/nodes toevoegen. Ga naar Objecten > Objectbeheer > RADIUS-servergroep. Klik op RADIUS-servergroep toevoegen, geef een naam op, schakel alle selectievakjes in en klik op het plus-pictogram.

Stap 5. Geef in het geopende venster het IP-adres van het ISE-PSN op, RADIUS-sleutel, selecteer Specifieke interface en selecteer interface van waaruit ISE bereikbaar is (deze interface wordt gebruikt als bron van RADIUS-verkeer) en selecteer Redirect ACL dat eerder is geconfigureerd.

Stap 6. Adresgroep maken voor VPN-gebruikers. Ga naar Objecten > Objectbeheer > Adresgroepen > IPv4-groepen. Klik op IPv4-groepen toevoegen en vul de gegevens in.

Stap 7. AnyConnect-pakket maken. Ga naar Objecten > Objectbeheer > VPN > AnyConnect-bestand. Klik op AnyConnect-bestand toevoegen, geef de naam van het pakket op, download het pakket van Cisco Software Download en selecteer AnyConnect Client Image File Type.

Stap 8. Navigeer naar Certificaatobjecten > Objectbeheer > PKI > Cert-inschrijving. Klik op Cert-inschrijving toevoegen, geef een naam op en kies Zelf ondertekend certificaat in inschrijvingstype. Klik op het tabblad Certificaatparameters en geef CN op.


Stap 9. Start de wizard Remote Access VPN. Navigeer naar Apparaten > VPN > Externe toegang en klik op Toevoegen.

Stap 10. Geef de naam op, controleer SSL als VPN-protocol, kies FTD dat wordt gebruikt als VPN-concentrator en klik op Volgende.

Stap 11. Geef de naam van het verbindingsprofiel op, selecteer Verificatie-/boekhoudservers, selecteer de adresgroep die eerder is geconfigureerd en klik op Volgende.
Opmerking: selecteer de autorisatieserver niet. Het triggert twee toegangsverzoeken voor één gebruiker (één keer met het gebruikerswachtwoord en de tweede keer met het wachtwoord cisco).

Stap 12. Selecteer AnyConnect-pakket dat eerder is geconfigureerd en klik op Volgende.

Stap 13. Selecteer de interface van waaruit VPN-verkeer wordt verwacht, selecteer Certificaatregistratie die eerder is geconfigureerd en klik op Volgende.

Stap 14. Controleer de overzichtspagina en klik op Voltooien.

Stap 15. Configuratie implementeren in FTD. Klik op Implementeren en selecteer FTD dat wordt gebruikt als VPN-concentrator.

ISE
Stap 1. Updates van houding uitvoeren. Ga naar Beheer > Systeem > Instellingen > Houding > Updates.

Stap 2. Upload de nalevingsmodule. Navigeer naar Beleid > Beleidselementen > Resultaten > Clientprovisioning > Bronnen. Klik op Toevoegen en selecteer Agentbronnen op de Cisco-site

Stap 3. Download AnyConnect van Cisco Software Download en upload het naar ISE. Navigeer naar Beleid > Beleidselementen > Resultaten > Clientprovisioning > Bronnen.
Klik op Toevoegen en selecteer Agentbronnen op lokale schijf. Kies Cisco-pakketten onder Categorie, selecteer AnyConnect-pakket op de lokale schijf en klik op Indienen.

Stap 4. Een AnyConnect-houdingsprofiel maken. Navigeer naar Beleid > Beleidselementen > Resultaten > Clientprovisioning > Bronnen.
Klik op Toevoegen en selecteer AnyConnect-houdingsprofiel. Vul de naam en het Posture Protocol in.
Onder *Servernaamregels zet * en zet een dummy IP-adres onder Discovery-host.


Stap 5. Navigeer naar Beleid > Beleidselementen > Resultaten > Clientprovisioning > Bronnen en maak AnyConnect-configuratie. Klik op Toevoegen en selecteer AnyConnect-configuratie. Selecteer AnyConnect-pakket, geef de configuratienaam op, selecteer Compliance Module, controleer Diagnostic and Reporting Tool (Hulpprogramma voor diagnose en rapportage), selecteer Posture Profile (Postureprofiel) en klik op Save (Opslaan).

Stap 6. Navigeer naar Beleid > Clientprovisioning en maak Clientprovisioningbeleid. Klik op Bewerken en selecteer Regel hierboven invoegen, geef een naam op, selecteer Besturingssysteem en kies AnyConnect-configuratie die in de vorige stap is gemaakt.

Stap 7. Houdingsconditie maken onder Beleid > Beleidselementen > Voorwaarden > Houding > Anti-Malware-conditie. In dit voorbeeld wordt voorgedefinieerde "ANY_am_win_inst" gebruikt.
.

Stap 8. Navigeer naar Beleid > Beleidselementen > Resultaten > Houding > Herstelacties en maak Houdingherstel. In dit voorbeeld wordt het overgeslagen. De herstelactie kan een tekstbericht zijn.
Stap 9. Navigeer naar Beleid > Beleidselementen > Resultaten > Houding > Vereisten en maak Houdingseisen. Vooraf gedefinieerde vereiste Any_AM_Installation_Win wordt gebruikt.

Stap 10. Maak Posture Policies onder Policies > Posture. Het standaardbeleid voor de houding van een AntiMalware Check voor Windows OS wordt gebruikt.

Stap 11. Navigeer naar Beleid > Beleidselementen > Resultaten > Autorisatie > Downloadbare ACLS en maak DACL's voor verschillende houdingsstatussen.
In dit voorbeeld:
- Posture Unknown DACL - maakt verkeer naar DNS-, PSN-, HTTP- en HTTPS-verkeer mogelijk.
- Posture NonCompliant DACL - ontzegt toegang tot privésubnetten en staat alleen internetverkeer toe.
- Permit All DACL - staat al het verkeer toe voor de status 'Posture Compliant'.



Stap 12. Maak drie autorisatieprofielen voor statussen met onbekende houding, niet-conforme houding en conforme houding. Navigeer hiervoor naar Beleid > Beleidselementen > Resultaten > Autorisatie > Autorisatieprofielen. Selecteer in het Posture Unknown-profiel de optie Posture Unknown DACL, controleer Web Redirection, selecteer Client Provisioning, geef de ACL-naam Redirect op (die is geconfigureerd op FTD) en selecteer het portaal.



Selecteer in het profiel Houding niet-conform de optie DACL om de toegang tot het netwerk te beperken.


Selecteer in het profiel Houdingsconform de optie DACL om volledige toegang tot het netwerk mogelijk te maken.


Stap 13. Machtigingsbeleid maken onder Beleid > Beleidsreeksen > Standaard > Machtigingsbeleid. Als conditie Posture Status en VNP TunnelGroup Name wordt gebruikt.

Verifiëren
Gebruik deze sectie om te controleren of uw configuratie goed werkt.
Op ISE is de eerste verificatiestap RADIUS Live Log. Navigeer naar Bewerkingen > RADIUS Live Log. Hier is gebruiker Alice verbonden en wordt het verwachte autorisatiebeleid geselecteerd.

Autorisatiebeleid FTD-VPN-Posture-Unknown is gekoppeld en als gevolg daarvan wordt FTD-VPN-Profile naar FTD verzonden.

Houding status in behandeling.

In de sectie Resultaat wordt weergegeven welke attributen naar FTD worden verzonden.

Op FTD, om de VPN-verbinding te verifiëren, SSH naar de doos, voert u systeemondersteuning diagnostische-cli uit en toont u vervolgens VPN-sessiedetails voor elke verbinding. Controleer vanaf deze uitvoer of de attributen die door ISE zijn verzonden, voor deze VPN-sessie zijn toegepast.
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#
Het beleid voor clientprovisioning kan worden geverifieerd. Navigeer naar Bewerkingen > Rapporten > Eindpunten en gebruikers > Clientprovisioning.

Posture Report verzonden vanuit AnyConnect kan worden gecontroleerd. Navigeer naar Bewerkingen > Rapporten > Eindpunten en gebruikers > Houding beoordelen op eindpunt.

Klik op Details voor meer informatie over het houdingsrapport.



Nadat het rapport op ISE is ontvangen, wordt de houdingsstatus bijgewerkt. In dit voorbeeld is de houdingsstatus compliant en wordt CoA Push geactiveerd met een nieuwe set attributen.



Controleer op FTD dat nieuwe Redirect ACL en Redirect URL zijn verwijderd voor VPN-sessie en dat PermitAll DACL is toegepast.
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#
Problemen oplossen
Deze sectie bevat informatie die u kunt gebruiken om problemen met de configuratie te troubleshooten.
Raadpleeg deze koppeling voor een gedetailleerde houdingsstroom en om problemen met AnyConnect en ISE op te lossen: ISE Posture Style Comparison voor Pre en Post 2.2.
Een van de meest voorkomende problemen, wanneer er een spit tunnel is geconfigureerd. In dit voorbeeld wordt standaard Groepsbeleid gebruikt, waarmee alle verkeer wordt getunneld. In het geval dat alleen specifiek verkeer wordt getunneld, moeten AnyConnect-sondes (enroll.cisco.com en discovery host) door de tunnel gaan naast het verkeer naar ISE en andere interne bronnen.
Om het tunnelbeleid op FMC te controleren, controleert u eerst welk groepsbeleid wordt gebruikt voor VPN-verbindingen. Navigeer naar Apparaten > VPN Remote Access.

Navigeer vervolgens naar Objecten > Objectbeheer > VPN > Groepsbeleid en klik op Groepsbeleid geconfigureerd voor VPN.

Een ander veel voorkomend probleem is dat het retourverkeer van VPN-gebruikers wordt vertaald met het gebruik van onjuiste NAT-invoer. Om dit probleem op te lossen, moet Identity NAT in een passende volgorde worden gemaakt.
Controleer eerst de NAT-regels voor dit apparaat. Navigeer naar Apparaten > NAT en klik vervolgens op Regel toevoegen om een nieuwe regel te maken.

Selecteer in het geopende venster onder het tabblad Interfaceobjecten de optie Beveiligingszones. In dit voorbeeld wordt NAT-invoer gemaakt van ZONE-BINNEN naar ZONE-BUITEN.

Selecteer onder het tabblad Vertaling de optie Originele en vertaalde pakketdetails. Aangezien het Identity NAT is, blijven bron en bestemming ongewijzigd:

Schakel onder het tabblad Geavanceerd selectievakjes in zoals in deze afbeelding wordt weergegeven:
