Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit comment utiliser le module de correction sur une appliance Cisco FireSight afin de détecter les attaques et de corriger automatiquement le pirate avec l'utilisation de Cisco Identity Service Engine (ISE) comme serveur de stratégies. L'exemple fourni dans ce document décrit la méthode utilisée pour la conversion d'un utilisateur VPN distant qui s'authentifie via l'ISE, mais il peut également être utilisé pour un utilisateur câblé ou sans fil 802.1x/MAB/WebAuth.
Remarque : le module de conversion référencé dans ce document n'est pas officiellement pris en charge par Cisco. Il est partagé sur un portail communautaire et peut être utilisé par n'importe qui. Dans les versions 5.4 et ultérieures, il existe également un module de conversion plus récent basé sur le protocole pxGrid. Ce module n'est pas pris en charge dans la version 6.0, mais devrait l'être dans les versions futures.
Cisco vous recommande de prendre connaissance des rubriques suivantes :
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Utilisez les informations fournies dans cette section afin de configurer votre système.
Remarque : Utilisez l’outil de recherche de commandes (clients enregistrés seulement) pour en savoir plus sur les commandes employées dans cette section.
L'exemple décrit dans ce document utilise cette configuration réseau :
Voici le flux de cette configuration réseau :
Comme mentionné précédemment, ce scénario fonctionne pour tout type de session authentifiée (VPN, 802.1x/MAB/Webauth filaire, 802.1x/MAB/Webauth sans fil) tant que l'ISE est utilisé pour l'authentification et que le périphérique d'accès au réseau prend en charge RADIUS CoA (tous les périphériques Cisco modernes).
Conseil : pour sortir l'utilisateur de la quarantaine, vous pouvez utiliser l'interface utilisateur graphique ISE. Les versions futures du module de conversion pourraient également le prendre en charge.
Remarque : un appareil de machine virtuelle est utilisé pour l'exemple décrit dans ce document. Seule la configuration initiale est effectuée via l'interface de ligne de commande. Toutes les stratégies sont configurées à partir de Cisco Defense Center. Pour plus de détails, référez-vous à la section Informations connexes de ce document.
La machine virtuelle dispose de trois interfaces, une pour la gestion et deux pour l'inspection en ligne (interne/externe).
Tout le trafic des utilisateurs VPN se déplace via FirePower.
Après avoir installé les licences correctes et ajouté le périphérique FirePower, accédez à Policies > Access Control et créez la politique d'accès qui est utilisée afin de déposer le trafic HTTP à 172.16.32.1 :
Tout autre trafic est accepté.
La version actuelle du module ISE qui est partagée sur le portail de la communauté est ISE 1.2 Correction Beta 1.3.19 :
Accédez à Policies > Actions > Remediations > Modules et installez le fichier :
L'instance correcte doit alors être créée. Accédez à Policies > Actions > Remediations > Instances et fournissez l'adresse IP du noeud Administration des politiques (PAN), ainsi que les informations d'identification d'administration ISE qui sont nécessaires pour l'API REST (un utilisateur séparé avec le rôle Administrateur ERS est recommandé) :
L'adresse IP source (attaquant) doit également être utilisée pour la correction :
Vous devez maintenant configurer une règle de corrélation spécifique. Cette règle est déclenchée au début de la connexion qui correspond à la règle de contrôle d'accès précédemment configurée (DropTCP80). Afin de configurer la règle, accédez à Politiques > Corrélation > Gestion des règles :
Cette règle est utilisée dans la politique de corrélation. Accédez à Policies > Correlation > Policy Management afin de créer une nouvelle stratégie, puis ajoutez la règle configurée. Cliquez sur Remediate sur la droite et ajoutez deux actions : remédiation for sourceIP (configuré précédemment) et syslog :
Assurez-vous d'activer la stratégie de corrélation :
Un ASA qui agit en tant que passerelle VPN est configuré afin d'utiliser l'ISE pour l'authentification. Il est également nécessaire d'activer la comptabilité et RADIUS CoA :
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
Accédez à Administration > Network Devices et ajoutez l'ASA qui agit en tant que client RADIUS.
Accédez à Administration > System > Settings > Adaptive Network Control afin d'activer l'API et la fonctionnalité de quarantaine :
Remarque : dans les versions 1.3 et antérieures, cette fonctionnalité est appelée Endpoint Protection Service.
Afin de créer une liste de contrôle d'accès téléchargeable (DACL) qui est utilisée pour les hôtes mis en quarantaine, accédez à Policy > Results > Authorization > Downloadable ACL.
Accédez à Policy > Results > Authorization > Authorization Profile et créez un profil d'autorisation avec la nouvelle DACL :
Vous devez créer deux règles d'autorisation. La première règle (ASA-VPN) fournit un accès complet à toutes les sessions VPN qui se terminent sur l'ASA. La règle ASA-VPN_quarantine est atteinte pour la session VPN réauthentifiée lorsque l'hôte est déjà en quarantaine (un accès réseau limité est fourni).
Afin de créer ces règles, naviguez à Policy > Authorization :
Utilisez les informations fournies dans cette section afin de vérifier que votre configuration fonctionne correctement.
L'ASA crée la session sans aucune DACL (accès réseau complet) :
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>
Lorsque l'utilisateur tente d'accéder à http://172.16.32.1, la stratégie d'accès est activée, le trafic correspondant est bloqué en ligne et le message syslog est envoyé à partir de l'adresse IP de gestion FirePower :
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
La stratégie de corrélation de gestion FireSight (Defense Center) est activée, ce qui est signalé par le message syslog envoyé par Defense Center :
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)
À ce stade, Defense Center utilise l'appel REST API (quarantaine) vers ISE, qui est une session HTTPS et peut être décrypté dans Wireshark (avec le plug-in SSL (Secure Sockets Layer) et la clé privée du certificat d'administration PAN) :
Dans GET, la requête pour l'adresse IP de l'attaquant est transmise (172.16.50.50) et cet hôte est mis en quarantaine par l'ISE.
Accédez à Analysis > Correlation > Status afin de confirmer la résolution réussie :
À ce stade, le fichier ISE prt-management.log indique que la CoA doit être envoyée :
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
Le runtime (prrt-server.log) envoie le message CoA termination au NAD, qui met fin à la session (ASA) :
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
ise.psc envoie une notification semblable à celle-ci :
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
Lorsque vous accédez à Operations > Authentication, elle doit afficher Dynamic Authorization successful.
L'utilisateur final envoie une notification afin d'indiquer que la session est déconnectée (pour 802.1x/MAB/invité/filaire/sans fil, ce processus est transparent) :
Les journaux Cisco AnyConnect contiennent les informations suivantes :
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
Comme le VPN toujours actif est configuré, la nouvelle session est créée immédiatement. Cette fois, la règle de quarantaine ISE ASA-VPN_quarantine est atteinte, ce qui fournit l'accès réseau limité :
Remarque : la liste de contrôle d'accès est téléchargée dans une requête RADIUS distincte.
Une session avec un accès limité peut être vérifiée sur l'ASA avec la commande show vpn-sessiondb detail anyconnect CLI :
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
Cette section fournit des renseignements qui vous permettront de régler les problèmes de configuration.
Le script de conversion ISE se trouve à l'emplacement suivant :
root@Defence:/var/sf/remediations/ISE_1.3.19# ls
_lib_ ise-instance ise-test.pl ise.pl module.template
Il s'agit d'un script perl simple qui utilise le sous-système de journalisation SourceFire (SF) standard. Une fois la correction exécutée, vous pouvez confirmer les résultats via la commande /var/log/messages :
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
Il est important d'activer le service Adaptive Network Control sur l'ISE. Pour afficher les journaux détaillés dans un processus d'exécution (prrt-management.log et prrt-server.log), vous devez activer le niveau DEBUG pour Runtime-AAA. Accédez à Administration > System > Logging > Debug Log Configuration afin d'activer les débogages.
Vous pouvez également accéder à Operations > Reports > Endpoint and Users > Adaptive Network Control Audit afin d'afficher les informations pour chaque tentative et résultat d'une demande de quarantaine :
Référez-vous à l'ID de bogue Cisco CSCuu41058 (incohérence de la quarantaine du point de terminaison ISE 1.4 et échec VPN) pour des informations sur un bogue ISE qui est lié aux échecs de session VPN (802.1x/MAB fonctionne correctement).
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
12-Nov-2015 |
Première publication |