El conjunto de documentos para este producto aspira al uso de un lenguaje no discriminatorio. A los fines de esta documentación, "no discriminatorio" se refiere al lenguaje que no implica discriminación por motivos de edad, discapacidad, género, identidad de raza, identidad étnica, orientación sexual, nivel socioeconómico e interseccionalidad. Puede haber excepciones en la documentación debido al lenguaje que se encuentra ya en las interfaces de usuario del software del producto, el lenguaje utilizado en función de la documentación de la RFP o el lenguaje utilizado por un producto de terceros al que se hace referencia. Obtenga más información sobre cómo Cisco utiliza el lenguaje inclusivo.
Cisco ha traducido este documento combinando la traducción automática y los recursos humanos a fin de ofrecer a nuestros usuarios en todo el mundo contenido en su propio idioma. Tenga en cuenta que incluso la mejor traducción automática podría no ser tan precisa como la proporcionada por un traductor profesional. Cisco Systems, Inc. no asume ninguna responsabilidad por la precisión de estas traducciones y recomienda remitirse siempre al documento original escrito en inglés (insertar vínculo URL).
Este documento describe cómo utilizar el módulo de remediación en un dispositivo Cisco FireSight para detectar ataques y remediar automáticamente al atacante con el uso de Cisco Identity Service Engine (ISE) como servidor de políticas. En el ejemplo que se proporciona en este documento se describe el método que se utiliza para la remediación de un usuario VPN remoto que se autentica a través de ISE, pero también se puede utilizar para un usuario con cable o inalámbrico 802.1x/MAB/WebAuth.
Nota: Cisco no admite oficialmente el módulo de corrección al que se hace referencia en este documento. Se comparte en un portal de la comunidad y puede ser utilizado por cualquier persona. En las versiones 5.4 y posteriores, también hay disponible un módulo de remediación más reciente basado en el protocolo pxGrid. Este módulo no es compatible con la versión 6.0, pero se prevé que sea compatible con versiones futuras.
Cisco recomienda que tenga conocimiento sobre estos temas:
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). If your network is live, make sure that you understand the potential impact of any command.
Utilice la información que se proporciona en esta sección para configurar su sistema.
Nota: Use el Command Lookup Tool (únicamente clientes registrados) para obtener más información sobre los comandos que se utilizan en esta sección.
El ejemplo que se describe en este documento utiliza esta configuración de red:
Este es el flujo para esta configuración de red:
Como se ha mencionado anteriormente, este escenario funciona para cualquier tipo de sesión autenticada (VPN, 802.1x/MAB/Webauth con cable, 802.1x/MAB/Webauth inalámbrico), siempre y cuando se utilice ISE para la autenticación y el dispositivo de acceso a la red admita RADIUS CoA (todos los dispositivos Cisco modernos).
Consejo: Para sacar al usuario de la cuarentena, puede utilizar la GUI de ISE. Es posible que las versiones futuras del módulo de corrección también lo admitan.
Nota: Se utiliza un dispositivo VM para el ejemplo que se describe en este documento. Solo la configuración inicial se realiza a través de la CLI. Todas las políticas se configuran desde Cisco Defense Center. Para obtener más detalles, consulte la sección Información Relacionada de este documento.
La máquina virtual tiene tres interfaces, una para la gestión y dos para la inspección en línea (interna/externa).
Todo el tráfico de los usuarios de VPN se transfiere a través de FirePower.
Después de instalar las licencias correctas y agregar el dispositivo FirePower, navegue hasta Políticas > Control de acceso y cree la política de acceso que se utiliza para descartar el tráfico HTTP a 172.16.32.1:
Se acepta el resto del tráfico.
La versión actual del módulo de ISE que se comparte en el portal de la comunidad es ISE 1.2 Remediation Beta 1.3.19:
Navegue hasta Políticas > Acciones > Remediaciones > Módulos e instale el archivo:
A continuación, debe crearse la instancia correcta. Navegue hasta Políticas > Acciones > Remediaciones > Instancias y proporcione la dirección IP del nodo de administración de políticas (PAN), junto con las credenciales administrativas de ISE que se necesitan para la API REST (se recomienda un usuario independiente con el rol ERS Admin):
La dirección IP de origen (atacante) también se debe utilizar para la remediación:
Ahora debe configurar una regla de correlación específica. Esta regla se activa al inicio de la conexión que coincide con la regla de control de acceso previamente configurada (DropTCP80). Para configurar la regla, navegue hasta Políticas > Correlación > Administración de reglas:
Esta regla se utiliza en la política de correlación. Navegue hasta Políticas > Correlación > Administración de políticas para crear una nueva política y luego agregue la regla configurada. Haga clic en Remediar a la derecha y agregue dos acciones: remediación para sourceIP (configurada anteriormente) y syslog:
Asegúrese de activar la política de correlación:
Se configura un ASA que actúa como un gateway VPN para utilizar ISE para la autenticación. También es necesario habilitar la contabilización y la 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
Navegue hasta Administration > Network Devices y agregue el ASA que actúa como un cliente RADIUS.
Navegue hasta Administration > System > Settings > Adaptive Network Control para habilitar la API y la funcionalidad de cuarentena:
Nota: en las versiones 1.3 y anteriores, esta función se denomina Servicio de protección de terminales.
Para crear una lista de control de acceso descargable (DACL) que se utilice para los hosts en cuarentena, navegue hasta Política > Resultados > Autorización > ACL descargable.
Vaya a Policy > Results > Authorization > Authorization Profile y cree un perfil de autorización con la nueva DACL:
Debe crear dos reglas de autorización. La primera regla (ASA-VPN) proporciona acceso completo para todas las sesiones VPN que se terminan en el ASA. La regla ASA-VPN_quarantine se aplica a la sesión VPN reautenticada cuando el host ya está en cuarentena (se proporciona acceso limitado a la red).
Para crear estas reglas, navegue hasta Policy > Authorization:
Utilice la información que se proporciona en esta sección para verificar que su configuración funcione correctamente.
ASA crea la sesión sin ninguna DACL (acceso completo a la red):
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>
Una vez que el usuario intenta acceder a http://172.16.32.1, se aplica la política de acceso, el tráfico correspondiente se bloquea en línea y el mensaje de registro del sistema se envía desde la dirección IP de administración de 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
Se aplica la política de correlación de administración de FireSight (centro de defensa), que se notifica mediante el mensaje de registro del sistema que se envía desde el centro de defensa:
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)
En esta etapa, Defense Center utiliza la llamada API REST (cuarentena) a ISE, que es una sesión HTTPS y se puede descifrar en Wireshark (con el complemento Secure Sockets Layer (SSL) y la clave privada del certificado administrativo PAN):
En GET, se pasa la solicitud de la dirección IP del atacante (172.16.50.50) y el ISE pone en cuarentena ese host.
Navegue hasta Análisis > Correlación > Estado para confirmar la remediación exitosa:
En esta etapa, ISE port-management.log notifica que se debe enviar la CoA:
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
El tiempo de ejecución (port-server.log) envía el mensaje de finalización de CoA al NAD, que finaliza la sesión (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
El archivo ise.psc envía una notificación similar a la siguiente:
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
Cuando navega hasta Operaciones > Autenticación, debería mostrar Autorización dinámica exitosa.
El usuario final envía una notificación para indicar que la sesión está desconectada (para 802.1x/MAB/invitado por cable/inalámbrico, este proceso es transparente):
Los detalles de los registros de Cisco AnyConnect muestran:
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
Debido a que la VPN siempre activa está configurada, la nueva sesión se genera inmediatamente. Esta vez, se aplica la regla ASA-VPN_quarantine de ISE, que proporciona el acceso limitado a la red:
Nota: La DACL se descarga en una solicitud RADIUS independiente.
Una sesión con acceso limitado se puede verificar en el ASA con el comando CLI show vpn-sessiondb detail anyconnect:
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
Esta sección proporciona información que puede utilizar para resolver problemas de su configuración.
El script de corrección de ISE reside en esta ubicación:
root@Defence:/var/sf/remediations/ISE_1.3.19# ls
_lib_ ise-instance ise-test.pl ise.pl module.template
Se trata de un sencillo script perl que utiliza el subsistema de registro estándar de SourceFire (SF). Una vez ejecutada la corrección, puede confirmar los resultados mediante /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
Es importante que habilite el servicio Adaptive Network Control en ISE. Para ver los registros detallados en un proceso en tiempo de ejecución (port-management.log y port-server.log), debe habilitar el nivel DEBUG para Runtime-AAA. Navegue hasta Administration > System > Logging > Debug Log Configuration para habilitar los debugs.
También puede navegar hasta Operaciones > Informes > Terminales y Usuarios > Auditoría de Control de Red Adaptable para ver la información de cada intento y resultado de una solicitud de cuarentena:
Consulte Cisco bug ID CSCuu41058 (inconsistencia de ISE 1.4 Endpoint Quarantine y falla de VPN) para obtener información sobre un bug de ISE que está relacionado con fallas de sesión VPN (802.1x/MAB funciona bien).
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
12-Nov-2015 |
Versión inicial |