In dem Dokumentationssatz für dieses Produkt wird die Verwendung inklusiver Sprache angestrebt. Für die Zwecke dieses Dokumentationssatzes wird Sprache als „inklusiv“ verstanden, wenn sie keine Diskriminierung aufgrund von Alter, körperlicher und/oder geistiger Behinderung, Geschlechtszugehörigkeit und -identität, ethnischer Identität, sexueller Orientierung, sozioökonomischem Status und Intersektionalität impliziert. Dennoch können in der Dokumentation stilistische Abweichungen von diesem Bemühen auftreten, wenn Text verwendet wird, der in Benutzeroberflächen der Produktsoftware fest codiert ist, auf RFP-Dokumentation basiert oder von einem genannten Drittanbieterprodukt verwendet wird. Hier erfahren Sie mehr darüber, wie Cisco inklusive Sprache verwendet.
Cisco hat dieses Dokument maschinell übersetzen und von einem menschlichen Übersetzer editieren und korrigieren lassen, um unseren Benutzern auf der ganzen Welt Support-Inhalte in ihrer eigenen Sprache zu bieten. Bitte beachten Sie, dass selbst die beste maschinelle Übersetzung nicht so genau ist wie eine von einem professionellen Übersetzer angefertigte. Cisco Systems, Inc. übernimmt keine Haftung für die Richtigkeit dieser Übersetzungen und empfiehlt, immer das englische Originaldokument (siehe bereitgestellter Link) heranzuziehen.
In diesem Dokument wird beschrieben, wie das Wiederherstellungsmodul auf einer Cisco FireSIGHT-Appliance verwendet wird, um Angriffe zu erkennen und den Angreifer mithilfe der Cisco Identity Service Engine (ISE) als Richtlinienserver automatisch zu beheben. Das in diesem Dokument gezeigte Beispiel beschreibt die Methode zur Behebung eines Remote-VPN-Benutzers, der sich über die ISE authentifiziert. Sie kann jedoch auch für einen kabelgebundenen oder Wireless-Benutzer mit 802.1x/MAB/WebAuth verwendet werden.
Hinweis: Das in diesem Dokument genannte Modul zur Problembehebung wird nicht offiziell von Cisco unterstützt. Es wird auf einem Community-Portal geteilt und kann von jedem genutzt werden. In Version 5.4 und höher ist auch ein neueres Korrekturmodul verfügbar, das auf dem pxGrid-Protokoll basiert. Dieses Modul wird in Version 6.0 nicht unterstützt, soll aber in zukünftigen Versionen unterstützt werden.
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netz Live ist, überprüfen Sie, ob Sie die mögliche Auswirkung jedes möglichen Befehls verstehen.
Verwenden Sie die Informationen in diesem Abschnitt, um Ihr System zu konfigurieren.
Hinweis: Verwenden Sie das Command Lookup Tool, also das Tool für die Suche nach Befehlen (nur registrierte Kunden), um weitere Informationen zu den in diesem Abschnitt verwendeten Befehlen zu erhalten.
Im Beispiel, das in diesem Dokument beschrieben wird, wird diese Netzwerkeinrichtung verwendet:
Die folgenden Abläufe werden für diese Netzwerkeinrichtung verwendet:
Wie bereits erwähnt, funktioniert dieses Szenario für jede Art von authentifizierter Sitzung (VPN, kabelgebundenes 802.1x/MAB/Webauth, Wireless-802.1x/MAB/Webauth), solange die ISE für die Authentifizierung verwendet wird und das Netzwerkzugriffsgerät die RADIUS-CoA (alle modernen Cisco Geräte) unterstützt.
Tipp: Um den Benutzer aus der Quarantäne zu entfernen, können Sie die ISE-GUI verwenden. Zukünftige Versionen des Sanierungsmoduls unterstützen dieses Modul möglicherweise ebenfalls.
Hinweis: Für das in diesem Dokument beschriebene Beispiel wird eine VM-Appliance verwendet. Nur die Erstkonfiguration wird über die CLI durchgeführt. Alle Richtlinien werden im Cisco Defense Center konfiguriert. Weitere Informationen finden Sie im Abschnitt Zugehörige Informationen dieses Dokuments.
Die VM verfügt über drei Schnittstellen, eine für das Management und zwei für die Inline-Inspektion (intern/extern).
Der gesamte Datenverkehr der VPN-Benutzer wird über FirePower weitergeleitet.
Nachdem Sie die richtigen Lizenzen installiert und das FirePower-Gerät hinzugefügt haben, navigieren Sie zu Policies > Access Control, und erstellen Sie die Zugriffsrichtlinie, die verwendet wird, um den HTTP-Datenverkehr auf 172.16.32.1 zu verwerfen:
Der restliche Datenverkehr wird akzeptiert.
Die aktuelle Version des ISE-Moduls, die über das Community-Portal freigegeben wird, ist ISE 1.2 Remediation Beta 1.3.19:
Navigieren Sie zu Policies > Actions > Remediations > Modules, und installieren Sie die Datei:
Dann sollte die richtige Instanz erstellt werden. Navigieren Sie zu Policies > Actions > Remediations > Instances, und geben Sie die IP-Adresse des Policy Administration Node (PAN) sowie die ISE-Administratoranmeldeinformationen an, die für die REST-API benötigt werden (ein separater Benutzer mit der ERS-Admin-Rolle wird empfohlen):
Die Quell-IP-Adresse (Angreifer) sollte ebenfalls für die Problembehebung verwendet werden:
Sie müssen nun eine bestimmte Korrelationsregel konfigurieren. Diese Regel wird zu Beginn der Verbindung ausgelöst, die mit der zuvor konfigurierten Zugriffskontrollregel (DropTCP80) übereinstimmt. Um die Regel zu konfigurieren, navigieren Sie zu Richtlinien > Korrelation > Regelverwaltung:
Diese Regel wird in der Korrelationsrichtlinie verwendet. Navigieren Sie zu Policies > Correlation > Policy Management, um eine neue Richtlinie zu erstellen, und fügen Sie dann die konfigurierte Regel hinzu. Klicken Sie rechts auf Beheben, und fügen Sie zwei Aktionen hinzu: Behebung für Quell-IP (zuvor konfiguriert) und Syslog:
Stellen Sie sicher, dass Sie die Korrelationsrichtlinie aktivieren:
Eine ASA, die als VPN-Gateway fungiert, wird konfiguriert, um die ISE für die Authentifizierung zu verwenden. Außerdem müssen die Kontoführung und der RADIUS-CoA aktiviert werden:
tunnel-group SSLVPN-FIRESIGHT general-attributes
address-pool POOL-VPN
authentication-server-group ISE
accounting-server-group ISE
default-group-policy POLICY
aaa-server ISE protocol radius
interim-accounting-update periodic 1
dynamic-authorization
aaa-server ISE (inside) host 172.16.31.202
key *****
webvpn
enable outside
enable inside
anyconnect-essentials
anyconnect image disk0:/anyconnect-win-4.0.00051-k9.pkg 1
anyconnect enable
tunnel-group-list enable
error-recovery disable
Navigieren Sie zu Administration > Network Devices, und fügen Sie die ASA hinzu, die als RADIUS-Client fungiert.
Navigieren Sie zu Administration > System > Settings > Adaptive Network Control, um die Quarantäne-API und -Funktionen zu aktivieren:
Hinweis: In Version 1.3 und früheren Versionen wird diese Funktion als Endpoint Protection Service bezeichnet.
Um eine herunterladbare Zugriffskontrollliste (DACL) für die isolierten Hosts zu erstellen, navigieren Sie zu Richtlinie > Ergebnisse > Autorisierung > herunterladbare ACL.
Navigieren Sie zu Richtlinie > Ergebnisse > Autorisierung > Autorisierungsprofil, und erstellen Sie ein Autorisierungsprofil mit der neuen DACL:
Sie müssen zwei Autorisierungsregeln erstellen. Die erste Regel (ASA-VPN) bietet vollständigen Zugriff für alle VPN-Sitzungen, die auf der ASA terminiert werden. Die Regel ASA-VPN_quarantine gilt für die erneut authentifizierte VPN-Sitzung, wenn sich der Host bereits in Quarantäne befindet (eingeschränkter Netzwerkzugriff ist möglich).
Um diese Regeln zu erstellen, navigieren Sie zu Richtlinie > Autorisierung:
Überprüfen Sie anhand der Informationen in diesem Abschnitt, ob Ihre Konfiguration ordnungsgemäß funktioniert.
Die ASA erstellt die Sitzung ohne DACL (vollständiger Netzwerkzugriff):
asav# show vpn-sessiondb details anyconnect
Session Type: AnyConnect
Username : cisco Index : 37
Assigned IP : 172.16.50.50 Public IP : 192.168.10.21
Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel
License : AnyConnect Essentials
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)RC4 DTLS-Tunnel: (1)AES128
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA1 DTLS-Tunnel: (1)SHA1
Bytes Tx : 18706 Bytes Rx : 14619
Group Policy : POLICY Tunnel Group : SSLVPN-FIRESIGHT
Login Time : 03:03:17 UTC Wed May 20 2015
Duration : 0h:01m:12s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : ac10206400025000555bf975
Security Grp : none
......
DTLS-Tunnel:
<some output omitted for clarity>
Sobald der Benutzer versucht, auf http://172.16.32.1 zuzugreifen, wird die Zugriffsrichtlinie ausgelöst, der entsprechende Datenverkehr wird inline blockiert, und die Syslog-Meldung wird von der FirePower-Management-IP-Adresse gesendet:
May 24 09:38:05 172.16.31.205 SFIMS: [Primary Detection Engine
(cbe45720-f0bf-11e4-a9f6-bc538df1390b)][AccessPolicy] Connection Type: Start, User:
Unknown, Client: Unknown, Application Protocol: Unknown, Web App: Unknown,
Access Control Rule Name: DropTCP80, Access Control Rule Action: Block,
Access Control Rule Reasons: Unknown, URL Category: Unknown, URL Reputation:
Risk unknown, URL: Unknown, Interface Ingress: eth1, Interface Egress: eth2,
Security Zone Ingress: Internal, Security Zone Egress: External, Security
Intelligence Matching IP: None, Security Intelligence Category: None, Client Version:
(null), Number of File Events: 0, Number of IPS Events: 0, TCP Flags: 0x0,
NetBIOS Domain: (null), Initiator Packets: 1, Responder Packets: 0, Initiator Bytes:
66, Responder Bytes: 0, Context: Unknown, SSL Rule Name: N/A, SSL Flow Status: N/A,
SSL Cipher Suite: N/A, SSL Certificate: 0000000000000000000000000000000000000000,
SSL Subject CN: N/A, SSL Subject Country: N/A, SSL Subject OU: N/A, SSL Subject Org:
N/A, SSL Issuer CN: N/A, SSL Issuer Country: N/A, SSL Issuer OU: N/A, SSL Issuer Org:
N/A, SSL Valid Start Date: N/A, SSL Valid End Date: N/A, SSL Version: N/A, SSL Server
Certificate Status: N/A, SSL Actual Action: N/A, SSL Expected Action: N/A, SSL Server
Name: (null), SSL URL Category: N/A, SSL Session ID:
0000000000000000000000000000000000000000000000000000000000000000, SSL Ticket Id:
0000000000000000000000000000000000000000, {TCP} 172.16.50.50:49415 -> 172.16.32.1:80
Die FireSIGHT Management (Defense Center)-Korrelationsrichtlinie wurde erreicht und wird durch die Syslog-Meldung gemeldet, die vom Defense Center gesendet wird:
May 24 09:37:10 172.16.31.206 SFIMS: Correlation Event:
CorrelateTCP80Block/CorrelationPolicy at Sun May 24 09:37:10 2015 UTCConnection Type:
FireSIGHT 172.16.50.50:49415 (unknown) -> 172.16.32.1:80 (unknown) (tcp)
Zu diesem Zeitpunkt verwendet das Defense Center den REST-API-Anruf (Quarantäne) für die ISE, eine HTTPS-Sitzung, die in Wireshark entschlüsselt werden kann (mit dem SSL-Plug-in (Secure Sockets Layer) und dem privaten Schlüssel des PAN-Verwaltungszertifikats):
In GET wird die IP-Adresse des Angreifers angefordert (172.16.50.50), und dieser Host wird von der ISE unter Quarantäne gestellt.
Navigieren Sie zu Analyse > Korrelation > Status, um die erfolgreiche Behebung zu bestätigen:
Zu diesem Zeitpunkt benachrichtigt die ISE port-management.log, dass die CoA gesendet werden muss:
DEBUG [RMI TCP Connection(142)-127.0.0.1][] cisco.cpm.prrt.impl.PrRTLoggerImpl
-::::- send() - request instanceof DisconnectRequest
clientInstanceIP = 172.16.31.202
clientInterfaceIP = 172.16.50.50
portOption = 0
serverIP = 172.16.31.100
port = 1700
timeout = 5
retries = 3
attributes = cisco-av-pair=audit-session-id=ac10206400021000555b9d36
Calling-Station-ID=192.168.10.21
Acct-Terminate-Cause=Admin Reset
Die Common Language Runtime (prrt-server.log) sendet die CoA-Abschlussmeldung an die NAD, die die Sitzung (ASA) beendet:
DEBUG,0x7fad17847700,cntx=0000010786,CPMSessionID=2e8cdb62-bc0a-4d3d-a63e-f42ef8774893,
CallingStationID=08:00:27:DA:EF:AD, RADIUS PACKET: Code=40 (
DisconnectRequest) Identifier=9 Length=124
[4] NAS-IP-Address - value: [172.16.31.100]
[31] Calling-Station-ID - value: [08:00:27:DA:EF:AD]
[49] Acct-Terminate-Cause - value: [Admin Reset]
[55] Event-Timestamp - value: [1432457729]
[80] Message-Authenticator - value:
[00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00]
[26] cisco-av-pair - value: [audit-session-id=ac10206400021000555b9d36],
RadiusClientHandler.cpp:47
Die Datei ise.psc sendet eine Benachrichtigung ähnlich der folgenden:
INFO [admin-http-pool51][] cisco.cpm.eps.prrt.PrrtManager -:::::- PrrtManager
disconnect session=Session CallingStationID=192.168.10.21 FramedIPAddress=172.16.50.50
AuditSessionID=ac10206400021000555b9d36 UserName=cisco PDPIPAddress=172.16.31.202
NASIPAddress=172.16.31.100 NASPortID=null option=PortDefault
Wenn Sie zu Operations > Authentication (Vorgänge > Authentifizierung) navigieren, sollte angezeigt werden, dass die dynamische Autorisierung erfolgreich war.
Der Endbenutzer sendet eine Benachrichtigung, um anzuzeigen, dass die Sitzung getrennt ist (bei 802.1x/MAB/Gast kabelgebunden/wireless ist dieser Prozess transparent):
Die Cisco AnyConnect-Protokolle enthalten folgende Details:
10:48:05 AM Establishing VPN...
10:48:05 AM Connected to 172.16.31.100.
10:48:20 AM Disconnect in progress, please wait...
10:51:20 AM The secure gateway has terminated the VPN connection.
The following message was received from the secure gateway: COA initiated
Da ein stets verfügbares VPN konfiguriert ist, wird die neue Sitzung sofort erstellt. Diesmal wird die ISE ASA-VPN_quarantine-Regel ausgeführt, die den eingeschränkten Netzwerkzugriff bereitstellt:
Hinweis: Die DACL wird in einer separaten RADIUS-Anforderung heruntergeladen.
Eine Sitzung mit eingeschränktem Zugriff kann auf der ASA mit dem CLI-Befehl show vpn-sessiondb detail anyconnect überprüft werden:
asav# show vpn-sessiondb detail anyconnect
Session Type: AnyConnect Detailed
Username : cisco Index : 39
Assigned IP : 172.16.50.50 Public IP : 192.168.10.21
Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel
License : AnyConnect Essentials
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)RC4 DTLS-Tunnel: (1)AES128
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA1 DTLS-Tunnel: (1)SHA1
Bytes Tx : 11436 Bytes Rx : 4084
Pkts Tx : 8 Pkts Rx : 36
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : POLICY Tunnel Group : SSLVPN-FIRESIGHT
Login Time : 03:43:36 UTC Wed May 20 2015
Duration : 0h:00m:10s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : ac10206400027000555c02e8
Security Grp : none
......
DTLS-Tunnel:
<some output ommited for clarity>
Filter Name : #ACSACL#-IP-DENY_ALL_QUARANTINE-5561da76
In diesem Abschnitt erhalten Sie Informationen zur Fehlerbehebung in Ihrer Konfiguration.
Das ISE-Behebungsskript befindet sich an folgender Stelle:
root@Defence:/var/sf/remediations/ISE_1.3.19# ls
_lib_ ise-instance ise-test.pl ise.pl module.template
Hierbei handelt es sich um ein einfaches Perl-Skript, das das standardmäßige SourceFire-Protokollierungs-Subsystem (SF) verwendet. Sobald die Wiederherstellung durchgeführt wurde, können Sie die Ergebnisse über /var/log/messages bestätigen:
May 24 19:30:13 Defence SF-IMS[2414]: ise.pl:SourceIP-Remediation [INFO] [2414]
quar_ip:172.16.50.50 (1->3 sid:1) Starting remediation
May 24 19:30:13 Defence SF-IMS[2414]: ise.pl:SourceIP-Remediation [INFO] [2414]
quar_ip:172.16.50.50 (1->3 sid:1) 172.16.31.202 - Success 200 OK - Quarantined
172.16.50.50 as admin
Es ist wichtig, dass Sie den Adaptive Network Control-Dienst auf der ISE aktivieren. Um die detaillierten Protokolle in einem Laufzeitprozess (prrt-management.log und prrt-server.log) anzuzeigen, müssen Sie die DEBUG-Ebene für Runtime-AAA aktivieren. Navigieren Sie zu Administration > System > Logging > Debug Log Configuration, um die Debugging-Funktionen zu aktivieren.
Sie können auch zu Operations > Reports > Endpoint and Users > Adaptive Network Control Audit navigieren, um die Informationen für jeden Versuch und jedes Ergebnis einer Quarantäne-Anfrage anzuzeigen:
Informationen über einen ISE-Fehler, der mit Fehlern von VPN-Sitzungen zusammenhängt (802.1x/MAB funktioniert einwandfrei), finden Sie unter der Cisco Bug-ID CSCuu41058 (ISE 1.4 Endpoint Quarantine-Inkonsistenz und VPN-Fehler).
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
12-Nov-2015 |
Erstveröffentlichung |