O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve como usar o módulo de correção em um dispositivo Cisco FireSight para detectar ataques e corrigir automaticamente o invasor com o uso do Cisco Identity Service Engine (ISE) como um servidor de política. O exemplo fornecido neste documento descreve o método usado para remediação de um usuário de VPN remoto que se autentica através do ISE, mas também pode ser usado para um usuário 802.1x/MAB/WebAuth com ou sem fio.
Observação: o módulo de remediação mencionado neste documento não é oficialmente suportado pela Cisco. Ele é compartilhado em um portal da comunidade e pode ser usado por qualquer pessoa. Nas versões 5.4 e posteriores, também há um módulo de remediação mais recente disponível que é baseado no protocolo pxGrid. Este módulo não é suportado na versão 6.0, mas está planejado para ser suportado em versões futuras.
A Cisco recomenda que você tenha conhecimento destes tópicos:
As informações neste documento são baseadas nestas versões de software e hardware:
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a sua rede estiver ativa, certifique-se de que entende o impacto potencial de qualquer comando.
Use as informações fornecidas nesta seção para configurar seu sistema.
Nota:Use a Command Lookup Tool (somente clientes registrados) para obter mais informações sobre os comandos usados nesta seção.
O exemplo descrito neste documento usa esta configuração de rede:
Este é o fluxo para esta configuração de rede:
Como mencionado anteriormente, esse cenário funciona para qualquer tipo de sessão autenticada (VPN, 802.1x/MAB/Webauth com fio, 802.1x/MAB/Webauth sem fio), desde que o ISE seja usado para autenticação e o dispositivo de acesso à rede ofereça suporte ao RADIUS CoA (todos os dispositivos modernos da Cisco).
Dica: para remover o usuário da quarentena, você pode usar a GUI do ISE. Versões futuras do módulo de remediação também podem suportá-lo.
Observação: um dispositivo VM é usado para o exemplo descrito neste documento. Somente a configuração inicial é executada via CLI. Todas as políticas são configuradas no Cisco Defense Center. Para obter mais detalhes, consulte a seção Informações Relacionadas deste documento.
A VM tem três interfaces, uma para gerenciamento e duas para inspeção em linha (interna/externa).
Todo o tráfego dos usuários da VPN é movido via FirePower.
Depois de instalar as licenças corretas e adicionar o dispositivo FirePower, navegue para Policies > Access Control e crie a Access Policy que é usada para descartar o tráfego HTTP para 172.16.32.1:
Todo o tráfego restante é aceito.
A versão atual do módulo do ISE que é compartilhada no portal da comunidade é o ISE 1.2 Remediation Beta 1.3.19:
Navegue até Policies > Actions > Remediations > Modules e instale o arquivo:
A instância correta deve ser criada. Navegue para Policies > Actions > Remediations > Instances e forneça o endereço IP do Policy Administration Node (PAN), juntamente com as credenciais administrativas do ISE necessárias para a API REST (um usuário separado com a função ERS Admin é recomendado):
O endereço IP de origem (invasor) também deve ser usado para correção:
Agora você deve configurar uma regra de correlação específica. Esta regra é disparada no início da conexão que corresponde à regra de controle de acesso configurada anteriormente (DropTCP80). Para configurar a regra, navegue até Policies > Correlation > Rule Management:
Esta regra é usada na Política de correlação. Navegue para Policies > Correlation > Policy Management para criar uma nova política e adicione a regra configurada. Clique em Remediate à direita e adicione duas ações: remediation for sourceIP (configurado anteriormente) e syslog:
Certifique-se de habilitar a política de correlação:
Um ASA que atua como um gateway VPN é configurado para usar o ISE para autenticação. Também é necessário habilitar a contabilidade e o 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 até Administration > Network Devices e adicione o ASA que atua como um cliente RADIUS.
Navegue para Administration > System > Settings > Adaptive Network Control para habilitar a API de quarentena e a funcionalidade:
Observação: nas versões 1.3 e anteriores, esse recurso é chamado Endpoint Protection Service.
Para criar uma lista de controle de acesso para download (DACL) que é usada para os hosts em quarentena, navegue para Política > Resultados > Autorização > ACL para download.
Navegue até Policy > Results > Authorization > Authorization Profile e crie um perfil de autorização com o novo DACL:
Você deve criar duas regras de autorização. A primeira regra (ASA-VPN) fornece acesso total para todas as sessões de VPN terminadas no ASA. A regra ASA-VPN_quarantine é atingida para a sessão VPN reautenticada quando o host já está em quarentena (o acesso limitado à rede é fornecido).
Para criar essas regras, navegue para Política > Autorização:
Use as informações fornecidas nesta seção para verificar se a configuração funciona corretamente.
O ASA cria a sessão sem nenhuma DACL (acesso total à rede):
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>
Quando o usuário tentar acessar http://172.16.32.1, a política de acesso será atingida, o tráfego correspondente será bloqueado em linha e a mensagem do syslog será enviada do endereço IP de gerenciamento do 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
A política de correlação do FireSight management (Defense Center) é atingida, o que é relatado pela mensagem do syslog enviada pelo 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)
Neste estágio, o Defense Center usa a chamada REST API (quarentena) para o ISE, que é uma sessão HTTPS e pode ser descriptografada no Wireshark (com o plug-in Secure Sockets Layer (SSL) e a chave privada do certificado administrativo PAN):
Na solicitação GET, o endereço IP do invasor é passado (172.16.50.50) e esse host é colocado em quarentena pelo ISE.
Navegue para Análise > Correlação > Status para confirmar a correção bem-sucedida:
Nesse estágio, o ISE prt-management.log notifica que o CoA deve ser enviado:
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
O tempo de execução (prt-server.log) envia a mensagem CoA terminate para o NAD, que encerra a sessão (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
O ise.psc envia uma notificação semelhante a esta:
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
Quando você navega para Operações > Autenticação, ele deve mostrar Autorização dinâmica bem-sucedida.
O usuário final envia uma notificação para indicar que a sessão está desconectada (para 802.1x/MAB/guest wired/wireless, esse processo é transparente):
Os detalhes dos registros do Cisco AnyConnect mostram:
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
Como a VPN sempre ativa está configurada, a nova sessão é criada imediatamente. Desta vez, a regra ASA-VPN_quarantine do ISE é atingida, o que fornece o acesso limitado à rede:
Observação: a DACL é baixada em uma solicitação RADIUS separada.
Uma sessão com acesso limitado pode ser verificada no ASA com o 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 seção fornece informações que você pode usar para solucionar problemas da sua configuração.
O script de correção do ISE reside neste local:
root@Defence:/var/sf/remediations/ISE_1.3.19# ls
_lib_ ise-instance ise-test.pl ise.pl module.template
Esse é um script perl simples que usa o subsistema de registro padrão do SourceFire (SF). Depois que a correção for executada, você poderá confirmar os resultados por meio do comando /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
É importante que você ative o serviço Adaptive Network Control no ISE. Para exibir os logs detalhados em um processo de tempo de execução (prt-management.log e prt-server.log), você deve habilitar o nível de DEBUG para Runtime-AAA. Navegue para Administration > System > Logging > Debug Log Configuration para habilitar as depurações.
Você também pode navegar para Operações > Relatórios > Ponto de Extremidade e Usuários > Auditoria Adaptive Network Control para exibir as informações de cada tentativa e resultado de uma solicitação de quarentena:
Consulte o bug da Cisco ID CSCuu41058 (Inconsistência de quarentena de endpoint do ISE 1.4 e falha de VPN) para obter informações sobre um bug do ISE relacionado a falhas de sessão de VPN (802.1x/MAB funciona bem).
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
12-Nov-2015 |
Versão inicial |