In diesem Dokument wird beschrieben, wie Sie das Sanierungsmodul auf einer Cisco FireSight-Appliance verwenden, um Angriffe zu erkennen und den Angreifer mithilfe der Cisco Identity Service Engine (ISE) als Richtlinienserver automatisch zu beseitigen. Im vorliegenden Beispiel wird die Methode beschrieben, die zur Behebung von Remote-VPN-Benutzern verwendet wird, die sich über die ISE authentifizieren. Sie kann jedoch auch für 802.1x/MAB/WebAuth-Benutzer (kabelgebunden oder drahtlos) verwendet werden.
Cisco empfiehlt, über Kenntnisse in folgenden Bereichen zu verfügen:
Die Informationen in diesem Dokument basieren auf den folgenden Software- und Hardwareversionen:
Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.
Verwenden Sie die Informationen in diesem Abschnitt, um Ihr System zu konfigurieren.
Das in diesem Dokument beschriebene Beispiel verwendet die folgende Netzwerkeinrichtung:
Der folgende Ablauf für diese Netzwerkeinrichtung:
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 das RADIUS CoA (alle modernen Cisco Geräte) unterstützt.
Das virtuelle System verfügt über drei Schnittstellen: eine für die Verwaltung und zwei für die Inline-Prüfung (intern/extern).
Der gesamte Datenverkehr der VPN-Benutzer wird über FirePower übertragen.
Nachdem Sie die richtigen Lizenzen installiert und das FirePower-Gerät hinzugefügt haben, navigieren Sie zu Policies > Access Control (Richtlinien > Zugriffskontrolle), und erstellen Sie die Zugriffsrichtlinie, die verwendet wird, um den HTTP-Datenverkehr auf 172.16.32.1 zu verwerfen:
Alle anderen Zugriffe werden akzeptiert.
Die aktuelle Version des ISE-Moduls, das auf dem Community-Portal gemeinsam genutzt wird, ist ISE 1.2 Remediation Beta 1.3.19:
Navigieren Sie zu Richtlinien > Aktionen > Korrekturen > Module, 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 für die REST-API erforderlichen ISE-Administratoranmeldeinformationen an (ein separater Benutzer mit der ERS Admin-Rolle wird empfohlen):
Die Quell-IP-Adresse (Angreifer) sollte auch zur Behebung verwendet werden:
Sie müssen jetzt 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 Richtlinien > Korrelation > Richtlinienverwaltung, 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: Problembehebung für SourceIP (früher 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 Accounting und 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 -Funktionalität zu aktivieren:
Um eine herunterladbare Zugriffskontrollliste (DACL) für die isolierten Hosts zu erstellen, navigieren Sie zu Richtlinien > Ergebnisse > Autorisierung > Herunterladbare ACL.
Navigieren Sie zu Richtlinien > 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 auf der ASA terminierten VPN-Sitzungen. Die Regel ASA-VPN_Quarantine wird für die erneut authentifizierte VPN-Sitzung aufgerufen, wenn der Host bereits unter Quarantäne steht (der Netzwerkzugriff ist beschränkt).
Navigieren Sie zum Erstellen dieser Regeln zu Richtlinien > Autorisierung:
Verwenden Sie die Informationen in diesem Abschnitt, um zu überprüfen, 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 aufgerufen, der entsprechende Datenverkehr wird inline blockiert, und die Syslog-Meldung wird von der IP-Adresse der FirePower-Verwaltung 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) Correlation-Richtlinie ist betroffen. Diese 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)
In dieser Phase verwendet Defense Center den REST API-Aufruf (Quarantäne) für die ISE, eine HTTPS-Sitzung, die in Wireshark (mit dem SSL-Plug-in (Secure Sockets Layer) und dem privaten Schlüssel des PAN-Administrationszertifikats) entschlüsselt werden kann:
In GET-Anforderung für die IP-Adresse des Angreifers wird übergeben (172.16.50.50), und dieser Host wird von der ISE unter Quarantäne gestellt.
Navigieren Sie zu Analyse > Korrelation > Status, um die erfolgreiche Problembehebung zu bestätigen:
In dieser Phase benachrichtigt die ISE prrt-management.log, dass der CoA gesendet werden soll:
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 (prt-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 ise.psc sendet eine ähnliche Benachrichtigung:
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 die dynamische Autorisierung erfolgreich angezeigt werden.
Der Endbenutzer sendet eine Benachrichtigung, um anzuzeigen, dass die Sitzung getrennt ist (bei 802.1x/MAB/kabelgebundenem/Wireless-Gastzugriff ist dieser Prozess transparent):
Details aus den Cisco AnyConnect-Protokollen werden angezeigt:
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 stets verfügbares VPN konfiguriert ist, wird die neue Sitzung sofort erstellt. Diesmal wird die ISE ASA-VPN_Quarantine-Regel getroffen, die den eingeschränkten Netzwerkzugriff bereitstellt:
Eine Sitzung mit eingeschränktem Zugriff kann auf der ASA mit dem Befehl show vpn-sessiondb detail anyconnect CLI verifiziert 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
Dieser Abschnitt enthält Informationen, die Sie zur Fehlerbehebung in Ihrer Konfiguration verwenden können.
Das ISE-Sanierungsskript befindet sich an diesem Ort:
root@Defence:/var/sf/remediations/ISE_1.3.19# ls
_lib_ ise-instance ise-test.pl ise.pl module.template
Dies ist ein einfaches Perl-Skript, das das Standard-SF-Protokollierungs-Subsystem verwendet. Sobald die Sanierung durchgeführt wurde, können Sie die Ergebnisse über die /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 Service auf der ISE aktivieren. Um die detaillierten Protokolle in einem Laufzeitprozess (prt-management.log und port-server.log) anzuzeigen, müssen Sie die DEBUG-Ebene für Runtime-AAA aktivieren. Navigieren Sie zu Administration > System > Logging > Debug Log Configuration, um das Debuggen zu aktivieren.
Sie können auch zu Operations > Reports > Endpoint and Users > Adaptive Network Control Audit (Betrieb > Berichte > Endpunkt und Benutzer > Adaptive Network Control Audit) navigieren, um die Informationen für jeden Versuch und das Ergebnis einer Quarantäneanforderung anzuzeigen:
Unter Cisco Bug ID CSCuu41058 (ISE 1.4 Endpoint Quarantine-Inkonsistenz und VPN-Ausfall) finden Sie Informationen zu einem ISE-Fehler, der mit VPN-Sitzungsfehlern zusammenhängt (802.1x/MAB funktioniert einwandfrei).
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
17-Nov-2015 |
Erstveröffentlichung |