Este documento descreve como integrar o Web Security Appliance (WSA) ao Identity Services Engine (ISE). O ISE versão 1.3 oferece suporte a uma nova API chamada pxGrid. Este protocolo moderno e flexível comporta autenticação, criptografia e privilégios (grupos), o que permite uma integração fácil com outras soluções de segurança.
O WSA versão 8.7 comporta o protocolo pxGrid e é capaz de recuperar informações de identidade do contexto do ISE. Como resultado, o WSA permite que você crie políticas com base na tag do grupo de segurança do TrustSec (SGT) recuperado pelo ISE.
A Cisco recomenda que você tenha experiência com a configuração do Cisco ISE e conhecimentos básicos 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.
As tags SGT do TrustSec são atribuídas pelo ISE, que age como um servidor de autenticação para todos os tipos de usuários que acessam a rede corporativa. Isso envolve usuários que acessam a rede com fio e sem fio e se autenticam por 802.1x ou portais de convidado do ISE. Além deles, os usuários VPN remotos que usam o ISE para autenticação.
Para o WSA, não importa como o usuário acessou a rede.
Este exemplo apresenta um usuário VPN remoto que encerra uma sessão da ASA-VPN. A esses usuários foi atribuída uma tag SGT específica. Todo o tráfego HTTP da Internet será interceptado pelo ASA-FW (firewall) e redirecionado para o WSA para inspeção. O WSA usa o perfil de identidade, o que permite classificar os usuários com base na tag SGT e criar políticas de acesso ou de descriptografia com base nisso.
O fluxo de execução detalhado é:
Este é um gateway VPN configurado para TrustSec. A configuração detalhada está fora do escopo deste documento. Veja estes exemplos:
O firewall ASA é responsável pelo redirecionamento do WCCP para o WSA. Este dispositivo não está ciente do TrustSec.
interface GigabitEthernet0/0
nameif outside
security-level 100
ip address 172.16.33.110 255.255.255.0
interface GigabitEthernet0/1
nameif inside
security-level 100
ip address 172.16.32.110 255.255.255.0
access-list wccp-routers extended permit ip host 172.16.32.204 any
access-list wccp-redirect extended deny tcp any host 172.16.32.204
access-list wccp-redirect extended permit tcp any any eq www
access-list wccp-redirect extended permit tcp any any eq https
wccp 90 redirect-list wccp-redirect group-list wccp-routers
wccp interface inside 90 redirect in
O ISE é um ponto fundamental na implantação do TrustSec. Ele atribui tags SGT a todos os usuários que acessam e se autenticam na rede. Etapas necessárias para a configuração básica estão listadas nesta seção.
Escolha Política > Resultados > Acesso ao Grupo de Segurança > Grupos de Segurança e crie o SGT:
Escolha Política > Autorização e crie uma regra para acesso de VPN remoto. Todas as conexões VPN estabelecidas com ASA-VPN terão acesso completo (PermitAccess) e a elas será atribuída a tag SGT 2 (TI).
Para adicionar ASA-VPN ao domínio TrustSec, é necessário gerar manualmente o arquivo de configuração automática de proxy (PAC). Esse arquivo será importado para o ASA.
Isso pode ser configurado em Administração > Dispositivos de Rede. Após a adição do ASA, role para baixo até as configurações do TrustSec e gere o arquivo PAC. Os detalhes estão descritos em um documento separado (referenciado).
Escolha Administração > Implantação para ativar a função pxGrid.
O protocolo pxGrid usa autenticação por certificados no cliente e no servidor. É muito importante configurar os certificados corretos no ISE e no WSA. Os dois certificados devem incluir o nome de domínio totalmente qualificado (FQDN) no assunto e extensões x509 para a autenticação do cliente e do servidor. Além disso certifique-se de que o registro de DNS A correto seja criado para o ISE e o WSA e seja compatível com o FQDN correspondente.
Se os dois certificados são assinados por autoridades de certificado (CA) diferentes, é importante incluir as CAs no armazenamento confiável.
Para configurar os certificados, escolha Administração > Certificados.
O ISE pode gerar uma solicitação de assinatura de certificado (CSR) para cada função. Para a função pxGrid, exporte e assine o CSR com uma CA externa.
Neste exemplo, o Microsoft CA foi usado com este modelo:
O resultado final pode ser semelhante a:
Não se esqueça de criar registros no DNS A para ise14.example.com e pxgrid.example.com que apontem para 172.16.31.202.
Por padrão, o ISE não registrará automaticamente os assinantes do pxGrid. Isso deve ser aprovado manualmente pelo administrador. Essa configuração deve ser alterada para a integração com o WSA.
Escolha Administração > Serviços do pxGrid e defina Ativar registro automático.
Neste exemplo, o WSA está configurado com apenas a interface de gerenciamento, o modo transparente e o redirecionamento do ASA:
O WSA precisa confiar na CA para assinar todos os certificados. Escolha Rede > Gerenciamento de Certificados para adicionar um certificado CA:
Também é necessário gerar um certificado que o WSA usará para se autenticar no pxGrid. Escolha Rede > Identity Services Engine > Certificado de Cliente do WSA para gerar o CSR, assiná-lo com o modelo de CA correto (ISE-pxgrid) e importá-lo de volta.
Além disso, em "Certificado de Admin do ISE" e "Certificado pxGrid do ISE", importe o certificado CA (para confiar no certificado pxGrid apresentado pelo ISE):
Escolha Rede > Identity Services Engine para testar a conexão com o ISE:
Escolha Web Security Manager > Perfis de identificação para adicionar um novo perfil ao ISE. Para "Identificação e Autenticação” use "Identificar usuários com ISE de forma transparente".
Escolha Web Security Manager > Políticas de Acesso para adicionar uma nova política. A assinatura usa o perfil do ISE:
Para usuários e grupos selecionados será adicionada a tag SGT 2 (TI):
A política nega acesso a todos os sites de esportes para os usuários que pertençam ao SGT TI:
Use esta seção para confirmar se a sua configuração funciona corretamente.
O usuário VPN inicia uma sessão VPN na ASA-VPN:
A ASA-VPN usa o ISE para autenticação. O ISE cria uma sessão e atribui a tag SGT 2 (TI):
Após a autenticação com êxito, a ASA-VPN cria uma sessão VPN com a tag SGT 2 (retornada no raio de aceitação de acesso em cisco-av-par):
asa-vpn# show vpn-sessiondb anyconnect
Session Type: AnyConnect
Username : cisco Index : 2
Assigned IP : 172.16.32.50 Public IP : 192.168.10.67
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 : 12979961 Bytes Rx : 1866781
Group Policy : POLICY Tunnel Group : SSLVPN
Login Time : 21:13:26 UTC Tue May 5 2015
Duration : 6h:08m:03s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : ac1020640000200055493276
Security Grp : 2:IT
Já que o link entre a ASA-VPN e o ASA-FW não está ativado no TrustSec, a ASA-VPN envia quadros sem marcas de formatação para aquele tráfego (não seria capaz de encapsular quadros Ethernet GRE com o campo CMD/TrustSec injetado).
Nessa fase, o WSA deve receber o mapeamento entre o endereço IP, o nome do usuário e o SGT (pelo protocolo pxGrid):
O usuário VPN inicia uma conexão com sport.pl, que é interceptada pelo ASA-FW:
asa-fw# show wccp
Global WCCP information:
Router information:
Router Identifier: 172.16.33.110
Protocol Version: 2.0
Service Identifier: 90
Number of Cache Engines: 1
Number of routers: 1
Total Packets Redirected: 562
Redirect access-list: wccp-redirect
Total Connections Denied Redirect: 0
Total Packets Unassigned: 0
Group access-list: wccp-routers
Total Messages Denied to Group: 0
Total Authentication failures: 0
Total Bypassed Packets Received: 0
asa-fw# show access-list wccp-redirect
access-list wccp-redirect; 3 elements; name hash: 0x9bab8633
access-list wccp-redirect line 1 extended deny tcp any host 172.16.32.204 (hitcnt=0)
0xfd875b28
access-list wccp-redirect line 2 extended permit tcp any any eq www (hitcnt=562)
0x028ab2b9
access-list wccp-redirect line 3 extended permit tcp any any eq https (hitcnt=0)
0xe202a11e
e tunelada em GRE para o WSA (observe que o router-id do WCCP é o endereço IP mais alto configurado):
asa-fw# show capture
capture CAP type raw-data interface inside [Capturing - 70065 bytes]
match gre any any
asa-fw# show capture CAP
525 packets captured
1: 03:21:45.035657 172.16.33.110 > 172.16.32.204: ip-proto-47, length 60
2: 03:21:45.038709 172.16.33.110 > 172.16.32.204: ip-proto-47, length 48
3: 03:21:45.039960 172.16.33.110 > 172.16.32.204: ip-proto-47, length 640
O WSA continua o handshake do TCP e processa a solicitação GET. Como resultado, a política chamada PolicyForIT é acionada e o tráfego é bloqueado:
Isso é confirmado pelo relatório do WSA:
Observe que o ISE exibe o nome do usuário.
Esta seção disponibiliza informações para a solução de problemas de configuração.
Quando o WSA não é inicializado corretamente (certificados), faça um teste de falha de conexão do ISE:
O pxgrid-cm.log do ISE relata:
[2015-05-06T16:26:51Z] [INFO ] [cm-1.jabber-172-16-31-202]
[TCPSocketStream::_doSSLHandshake] [] Failure performing SSL handshake: 1
O motivo da falha pode ser visto com o Wireshark:
Em uma sessão SSL usada para proteger a troca do protocolo extensível de Mensagem e Presença (XMPP, Extensible Messaging and Presence Protocol) (usado pelo pxGrid), o cliente informa a falha de SSL por causa de uma cadeia de certificados desconhecida apresentada pelo servidor.
Para o cenário correto, o pxgrid-controller.log do ISE registra:
2015-05-06 18:40:09,153 INFO [Thread-7][] cisco.pxgrid.controller.sasl.SaslWatcher
-:::::- Handling authentication for user name wsa.example.com-test_client
Além disso, a GUI do ISE apresenta o WSA como um assinante com os recursos corretos:
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
30-Jul-2015 |
Versão inicial |