Segurança : Dispositivos de segurança adaptáveis Cisco ASA 5500 Series

PIX/ASA 8.0: Utilizar a Autenticação LDAP para Atribuir uma Política de Grupo Durante o Login

17 Julho 2008 - Tradução Manual
Outras Versões: Versão em PDFpdf | Tradução por Computador (29 Julho 2013) | Inglês (2 Outubro 2007) | Feedback

Índice

Introdução
Pré-requisitos
Informações de Apoio
Configuração do ASA
      ASDM
      Interface de Linha de Comando
Configuração do Active Directory ou Outro Servidor LDAP
Verificação
      Login
      Depuração da Transação LDAP
Troubleshooting
      Os Nomes e os Valores de Atributos Diferenciam Maiúsculas de Minúsculas
Discussões relacionadas da comunidade de suporte da Cisco

Introdução

Freqüentemente, os administradores desejam fornecer aos usuários de VPNs diferentes permissões de acesso ou conteúdo do WebVPN. No ASA, esse objetivo é normalmente alcançado por meio da atribuição de políticas de grupo distintas a usuários diferentes. Quando a autenticação LDAP (Lightweight Directory Access Protocol) é utilizada, esse objetivo pode ser alcançado automaticamente com um mapa de atributos LDAP.

Para utilizar o LDAP a fim de atribuir uma política de grupo a um usuário, é necessário configurar um mapa que mapeie um atributo LDAP, como o atributo memberOf do Active Directory (AD), para o atributo IETF-Radius-Class que é compreendido pelo ASA. Uma vez estabelecido o mapeamento de atributos, você deverá mapear o valor de atributo configurado no servidor LDAP para o nome de uma política de grupo no ASA.

Nota: O atributo memberOf corresponde ao grupo ao qual o usuário pertence no Active Directory. Um usuário poderá ser membro de mais de um grupo no Active Directory. Isso fará com que vários atributos memberOf sejam enviados pelo servidor, porém o ASA só poderá fazer a correspondência entre um atributo e uma política de grupo.

Nota: Este documento descreve como atribuir políticas distintas a usuários diferentes e ainda permitir o acesso de todos os usuários à VPN. Consulte ASA/PIX: Exemplo de Configuração do Mapeamento de Clientes VPN para Políticas de Grupo VPN Através do LDAP para ver um exemplo de mapeamento de atributos LDAP que nega o acesso a alguns usuários.

Pré-requisitos

Este documento requer que uma autenticação LDAP operacional já esteja configurada no ASA. Consulte Configurar a Autenticação LDAP para Usuários do WebVPN para saber como definir uma configuração de autenticação LDAP básica no ASA.

Informações de Apoio

Neste exemplo, o atributo AD/LDAP memberOf é mapeado para o atributo ASA CVPN3000-Radius-IETF-Class. O atributo de classe é utilizado para atribuir políticas de grupo no ASA. Este é o processo geral seguido pelo ASA ao autenticar os usuários com o LDAP:

  1. O usuário inicia uma conexão com o ASA.

  2. O ASA é configurado para autenticar esse usuário no servidor LDAP/Microsoft AD.

  3. O ASA se vincula ao servidor LDAP com as credenciais nele próprio configuradas (admin, nesse caso) e pesquisa o nome de usuário fornecido.

  4. Se o nome de usuário for encontrado, o ASA tentará se vincular ao servidor LDAP com as credenciais fornecidas pelo usuário durante o login.

  5. Se a segunda tentativa de vinculação for bem-sucedida, o ASA processará os atributos do usuário, que incluem memberOf.

  6. O atributo memberOf é mapeado para CVPN3000-Radius-IETF-Class pelo mapa de Atributos LDAP configurado.

    • O valor que indica a associação no grupo Employees é mapeado para ExamplePolicy1.

    • O valor que indica a associação no grupo Contractors é mapeado para ExamplePolicy2.

  7. O atributo CVPN3000-Radius-IETF-Class recém-designado é examinado e uma política de grupo é estabelecida.

    • O valor ExamplePolicy1 faz com que a política de grupo ExamplePolicy1 seja atribuída ao usuário.

    • O valor ExamplePolicy2 faz com que a política de grupo ExamplePolicy2 seja atribuída ao usuário.

Configuração do ASA

Nesta seção, você encontrará informações para configurar o ASA a fim de atribuir uma política de grupo aos usuários com base em seus atributos LDAP.

ASDM

Siga estes passos no ASDM (Adaptive Security Device Manager) para configurar o mapa LDAP no ASA.

  1. Navegue para Configuration > Remote Access VPN > AAA Setup > LDAP Attribute Map.

  2. Clique em Add.

  3. Atribua um nome ao mapa.

  4. Crie um mapeamento entre um atributo LDAP e o atributo IETF-Radius-Class no ASA. Neste exemplo, Customer Name é o atributo memberOf no Active Directory. Ele é mapeado para o Cisco Name de IETF-Radius-Class. Clique em Add.

    Nota: Os nomes e os valores de atributos diferenciam maiúsculas de minúsculas.

    Nota: Se você não souber a ortografia ou os nomes exatos dos atributos fornecidos pelo servidor LDAP, talvez seja útil examinar as depurações antes de criar o mapa. Consulte a seção Verificação para obter mais informações sobre como identificar atributos LDAP com depurações.

    asa_ldap_group_pol-1.gif

  5. Após adicionar o mapeamento de atributos, clique na guia Map Value e, em seguida, clique em Add para criar um mapeamento de valores. Adicione quantos mapeamentos de valores forem necessários e clique em OK quando terminar.

    • Customer Value — o valor de atributo do servidor LDAP

    • Cisco Value — o nome da política de grupo no ASA

    Neste exemplo, os valores CN=Employees,CN=Users,DC=ftwsecurity,DC=cisco,DC=com e CN=Contractors,CN=Users,DC=ftwsecurity,DC=cisco,DC=com de memberOf são mapeados, respectivamente, para ExamplePolicy1 e ExamplePolicy2.

    asa_ldap_group_pol-2.gif

    Concluir o Mapa de Atributos LDAP

    asa_ldap_group_pol-3.gif

  6. Após criar o mapa, é necessário atribuí-lo ao servidor AAA configurado para autenticação LDAP. Escolha AAA Server Groups no painel esquerdo.

  7. Escolha o servidor AAA configurado para LDAP e clique em Edit.

  8. Na parte inferior da janela exibida, localize a lista suspensa LDAP Attribute Map. Escolha a lista que você acabou de criar. Clique em OK quando terminar.

    asa_ldap_group_pol-3a.gif

Interface de Linha de Comando

Siga estes passos na CLI (interface de linha de comando) para configurar o mapa LDAP no ASA.

ciscoasa#configure terminal


!--- Cria o mapa de atributos do LDAP.

ciscoasa(config)#ldap attribute-map CISCOMAP
ciscoasa(config-ldap-attribute-map)#map-name memberOf IETF-Radius-Class
ciscoasa(config-ldap-attribute-map)#map-value memberOf CN=Employees,CN=Users,
   DC=ftwsecurity,DC=cisco,DC=com ExamplePolicy1
ciscoasa(config-ldap-attribute-map)#map-value memberOf CN=Contractors,CN=Users,
   DC=ftwsecurity,DC=cisco,DC=com ExamplePolicy2
ciscoasa(config-ldap-attribute-map)#exit


!--- Atribui o mapa ao servidor AAA LDAP.

ciscoasa(config)#aaa-server LDAP_SRV_GRP (inside) host 192.168.1.2
ciscoasa(config-aaa-server-host)#ldap-attribute-map CISCOMAP

A única configuração necessária no Active Directory ou em outro servidor LDAP diz respeito aos atributos do usuário. Neste exemplo, a usuária Kate Austin é membro do grupo Employees no AD:

asa_ldap_group_pol-4.gif

Ben Linus é membro do grupo Contractors:

asa_ldap_group_pol-5.gif

Verificação

Utilize esta seção para verificar a sua configuração.

Login

Para verificar o êxito de sua configuração, faça login como um usuário ao qual uma política de grupo foi supostamente atribuída com o mapa de atributos LDAP. Neste exemplo, um banner é configurado para cada política de grupo. A captura de tela mostra que a usuária kate faz login com êxito e tem o atributo ExamplePolicy1 aplicado, pois ela é membro do grupo Employees.

asa_ldap_group_pol-6.gif

Depuração da Transação LDAP

Para verificar se o mapeamento LDAP ocorre ou para obter mais informações sobre quais atributos o servidor LDAP envia, execute o comando debug ldap 255 na linha de comando do ASA e tente fazer a autenticação.

Nesta depuração, a política de grupo ExamplePolicy1 é atribuída à usuária kate porque ela é membro do grupo Employees. A depuração também mostra que kate é membro do grupo Castaways, mas esse atributo não é mapeado; portanto, ele é ignorado.

ciscoasa#debug ldap 255
debug ldap  enabled at level 255
ciscoasa#
[105] Session Start
[105] New request Session, context 0xd5481808, reqType = 1
[105] Fiber started
[105] Creating LDAP context with uri=ldap://192.168.1.2:389
[105] Connect to LDAP server: ldap://192.168.1.2:389, status = Successful
[105] defaultNamingContext: value = DC=ftwsecurity,DC=cisco,DC=com
[105] supportedLDAPVersion: value = 3
[105] supportedLDAPVersion: value = 2
[105] supportedSASLMechanisms: value = GSSAPI
[105] supportedSASLMechanisms: value = GSS-SPNEGO
[105] supportedSASLMechanisms: value = EXTERNAL
[105] supportedSASLMechanisms: value = DIGEST-MD5
[105] Binding as administrator
[105] Performing Simple authentication for admin to 192.168.1.2
[105] LDAP Search:
        Base DN = [dc=ftwsecurity, dc=cisco, dc=com]
        Filter  = [sAMAccountName=kate]
        Scope   = [SUBTREE]
[105] User DN = [CN=Kate Austen,CN=Users,DC=ftwsecurity,DC=cisco,DC=com]
[105] Talking to Active Directory server 192.168.1.2
[105] Reading password policy for kate, dn:CN=Kate Austen,CN=Users,
   DC=ftwsecurity,DC=cisco,DC=com
[105] Read bad password count 0
[105] Binding as user
[105] Performing Simple authentication for kate to 192.168.1.2
[105] Checking password policy for user kate
[105] Binding as administrator
[105] Performing Simple authentication for admin to 192.168.1.2
[105] Authentication successful for kate to 192.168.1.2
[105] Retrieving user attributes from server 192.168.1.2
[105] Retrieved Attributes:
[105]   objectClass: value = top
[105]   objectClass: value = person
[105]   objectClass: value = organizationalPerson
[105]   objectClass: value = user
[105]   cn: value = Kate Austen
[105]   sn: value = Austen
[105]   givenName: value = Kate
[105]   distinguishedName: value = CN=Kate Austen,CN=Users,DC=ftwsecurity,
   DC=cisco,DC=com
[105]   instanceType: value = 4
[105]   whenCreated: value = 20070815155224.0Z
[105]   whenChanged: value = 20070815195813.0Z
[105]   displayName: value = Kate Austen
[105]   uSNCreated: value = 16430
[105]   memberOf: value = CN=Castaways,CN=Users,DC=ftwsecurity,DC=cisco,DC=com
[105]           mapped to IETF-Radius-Class: value = CN=Castaways,CN=Users,
   DC=ftwsecurity,DC=cisco,DC=com
[105]   memberOf: value = CN=Employees,CN=Users,DC=ftwsecurity,DC=cisco,DC=com
[105]           mapped to IETF-Radius-Class: value = ExamplePolicy1
[105]   uSNChanged: value = 20500
[105]   name: value = Kate Austen
[105]   objectGUID: value = ..z...yC.q0.....
[105]   userAccountControl: value = 66048
[105]   badPwdCount: value = 0
[105]   codePage: value = 0
[105]   countryCode: value = 0
[105]   badPasswordTime: value = 128316837694687500
[105]   lastLogoff: value = 0
[105]   lastLogon: value = 128316837785000000
[105]   pwdLastSet: value = 128316667442656250
[105]   primaryGroupID: value = 513
[105]   objectSid: value = ............Q..p..*.p?E.Z...
[105]   accountExpires: value = 9223372036854775807
[105]   logonCount: value = 0
[105]   sAMAccountName: value = kate
[105]   sAMAccountType: value = 805306368
[105]   userPrincipalName: value = kate@ftwsecurity.cisco.com
[105]   objectCategory: value = CN=Person,CN=Schema,CN=Configuration,
   DC=ftwsecurity,DC=cisco,DC=com
[105]   dSCorePropagationData: value = 20070815195237.0Z
[105]   dSCorePropagationData: value = 20070815195237.0Z
[105]   dSCorePropagationData: value = 20070815195237.0Z
[105]   dSCorePropagationData: value = 16010108151056.0Z
[105] Fiber exit Tx=685 bytes Rx=2690 bytes, status=1
[105] Session End

Nesta depuração, a política de grupo ExamplePolicy2 é atribuída ao usuário ben porque ele é membro do grupo Contractors. A depuração também mostra que ben é membro do grupo TheOthers, mas esse atributo não é mapeado; portanto, ele é ignorado.

ciscoasa#debug ldap 255
debug ldap  enabled at level 255
ciscoasa#
[106] Session Start
[106] New request Session, context 0xd5481808, reqType = 1
[106] Fiber started
[106] Creating LDAP context with uri=ldap://192.168.1.2:389
[106] Connect to LDAP server: ldap://192.168.1.2:389, status = Successful
[106] defaultNamingContext: value = DC=ftwsecurity,DC=cisco,DC=com
[106] supportedLDAPVersion: value = 3
[106] supportedLDAPVersion: value = 2
[106] supportedSASLMechanisms: value = GSSAPI
[106] supportedSASLMechanisms: value = GSS-SPNEGO
[106] supportedSASLMechanisms: value = EXTERNAL
[106] supportedSASLMechanisms: value = DIGEST-MD5
[106] Binding as administrator
[106] Performing Simple authentication for admin to 192.168.1.2
[106] LDAP Search:
        Base DN = [dc=ftwsecurity, dc=cisco, dc=com]
        Filter  = [sAMAccountName=ben]
        Scope   = [SUBTREE]
[106] User DN = [CN=Ben Linus,CN=Users,DC=ftwsecurity,DC=cisco,DC=com]
[106] Talking to Active Directory server 192.168.1.2
[106] Reading password policy for ben, dn:CN=Ben Linus,CN=Users,DC=ftwsecurity,
   DC=cisco,DC=com
[106] Read bad password count 0
[106] Binding as user
[106] Performing Simple authentication for ben to 192.168.1.2
[106] Checking password policy for user ben
[106] Binding as administrator
[106] Performing Simple authentication for admin to 192.168.1.2
[106] Authentication successful for ben to 192.168.1.2
[106] Retrieving user attributes from server 192.168.1.2
[106] Retrieved Attributes:
[106]   objectClass: value = top
[106]   objectClass: value = person
[106]   objectClass: value = organizationalPerson
[106]   objectClass: value = user
[106]   cn: value = Ben Linus
[106]   sn: value = Linus
[106]   givenName: value = Ben
[106]   distinguishedName: value = CN=Ben Linus,CN=Users,DC=ftwsecurity,
   DC=cisco,DC=com
[106]   instanceType: value = 4
[106]   whenCreated: value = 20070815160840.0Z
[106]   whenChanged: value = 20070815195243.0Z
[106]   displayName: value = Ben Linus
[106]   uSNCreated: value = 16463
[106]   memberOf: value = CN=TheOthers,CN=Users,DC=ftwsecurity,DC=cisco,DC=com
[106]           mapped to IETF-Radius-Class: value = CN=TheOthers,CN=Users,DC=ftwsecurity,DC=cisco,DC=com
[106]  memberOf: value = CN=Contractors,CN=Users,DC=ftwsecurity,DC=cisco,DC=com
[106]           mapped to IETF-Radius-Class: value = ExamplePolicy2
[106]   uSNChanged: value = 20499
[106]   name: value = Ben Linus
[106]   objectGUID: value = ..j...5@.z.|...n
[106]   userAccountControl: value = 66048
[106]   badPwdCount: value = 0
[106]   codePage: value = 0
[106]   countryCode: value = 0
[106]   badPasswordTime: value = 0
[106]   lastLogoff: value = 0
[106]   lastLogon: value = 0
[106]   pwdLastSet: value = 128316677201718750
[106]   primaryGroupID: value = 513
[106]   objectSid: value = ............Q..p..*.p?E.^...
[106]   accountExpires: value = 9223372036854775807
[106]   logonCount: value = 0
[106]   sAMAccountName: value = ben
[106]   sAMAccountType: value = 805306368
[106]   userPrincipalName: value = ben@ftwsecurity.cisco.com
[106]   objectCategory: value = CN=Person,CN=Schema,CN=Configuration,
   DC=ftwsecurity,DC=cisco,DC=com
[106]   dSCorePropagationData: value = 20070815195243.0Z
[106]   dSCorePropagationData: value = 20070815195243.0Z
[106]   dSCorePropagationData: value = 20070815195243.0Z
[106]   dSCorePropagationData: value = 16010108151056.0Z
[106] Fiber exit Tx=680 bytes Rx=2642 bytes, status=1
[106] Session End

Troubleshooting

Utilize esta seção para fazer o troubleshooting de sua configuração.

Os Nomes e os Valores de Atributos Diferenciam Maiúsculas de Minúsculas

Os nomes e os valores de atributos diferenciam maiúsculas de minúsculas. Se o mapeamento não ocorrer de forma adequada, verifique se usou a ortografia e as letras maiúsculas e minúsculas corretamente no mapa de atributos LDAP para os nomes e os valores de atributos LDAP e Cisco.


Discussões relacionadas da comunidade de suporte da Cisco

A Comunidade de Suporte da Cisco é um fórum onde você pode perguntar e responder, oferecer sugestões e colaborar com colegas.


Document ID: 98634