セキュリティ : Cisco ASA 5500-X シリーズ次世代型ファイアウォール

PIX/ASA 8.0:LDAP 認証を使用したログイン時のグループ ポリシーの割り当て

2012 年 11 月 28 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2007 年 10 月 2 日) | フィードバック

PIX/ASA 8.0:LDAP 認証を使用したログイン時のグループ ポリシーの割り当て

概要

通常、管理者は、VPN ユーザにさまざまなアクセス権限または WebVPN コンテンツを提供します。ASA では、これは、さまざまなグループ ポリシーをさまざまなユーザに割り当てることで実行します。また、Lightweight Directory Access Protocol(LDAP)認証が使用される場合、LDAP 属性マップで自動的に実行することもできます。

LDAP を使用してグループ ポリシーをユーザに割り当てる場合、Active Directory(AD)属性 memberOf などの LDAP 属性を ASA で認識される IETF-Radius-Class 属性にマッピングするマップを設定する必要があります。属性マッピングが確立されたら、LDAP サーバで設定された属性値を ASA のグループ ポリシーの名前にマッピングする必要があります。

注:memberOf 属性は、ユーザが Active Directory の一部であるグループに対応します。ユーザは、Active Directory の複数のグループのメンバになることができます。この場合、複数の memberOf 属性がサーバにより送信されますが、ASA は 1 グループ ポリシーに対して 1 属性だけをマッチングできます。

前提条件

このドキュメントの内容は、作業 LDAP 認証セットアップがすでに ASA に設定されていることを必要とします。ASA で基本 LDAP 認証設定をセットアップする方法については、『ASA 8.0:WebVPN ユーザのための LDAP 認証の設定』を参照してください。

使用するコンポーネント

このドキュメントの情報は、PIX/ASA 8.0 に基づくものです。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用されるデバイスはすべて、初期設定(デフォルト)の状態から作業を開始しています。ネットワークが稼働中の場合は、コマンドが及ぼす潜在的な影響を十分に理解しておく必要があります。

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

背景説明

この例では、AD/LDAP 属性 memberOf は、ASA 属性 CVPN3000-Radius-IETF-Class にマッピングされます。クラス属性は、ASA でのグループ ポリシーの割り当てに使用されます。これは、LDAP でユーザを認証するときに ASA が完了する通常のプロセスです。

  1. ユーザが ASA への接続を開始します。

  2. ASA は Microsoft AD/LDAP サーバを使用してユーザを認証するように設定されています。

  3. ASA は、ASA 上で設定されたクレデンシャル(この場合は admin)を使用して LDAP サーバにバインドし、指定されたユーザ名を検索します。

  4. そのユーザ名が見つかった場合、ASA はユーザがログイン時に指定したクレデンシャルを使用して LDAP サーバへのバインドを試みます。

  5. 2 回目のバインドに成功すると、ASA は memberOf などのユーザ属性を取得します。

  6. 設定済みの LDAP 属性マップによって、memberOf 属性が CVPN3000-Radius-IETF-Class にマッピングされます。

    • Employees グループのメンバシップを示す値が、ExamplePolicy1 にマッピングされます。

    • Contractors グループのメンバシップを示す値が、ExamplePolicy2 にマッピングされます。

  7. 新しく割り当てられた CVPN3000-Radius-IETF-Class 属性が検査され、グループ ポリシーが決定されます。

    • 値が ExamplePolicy1 の場合、ユーザには ExamplePolicy1 グループ ポリシーが割り当てられます。

    • 値が ExamplePolicy2 の場合、ユーザには ExamplePolicy2 グループ ポリシーが割り当てられます。

ASA の設定

このセクションでは、ASA を設定して、LDAP 属性に基づいてユーザにグループ ポリシーを割り当てる方法について説明します。

ASDM

ASA で LDAP マップを設定するには、Adaptive Security Device Manager(ASDM)で次の手順を実行します。

  1. [Navigate to Configuration] > [Remote Access VPN] > [AAA Setup] > [LDAP Attribute Map] の順に移動します。

  2. [Add] をクリックします。

  3. マップに名前を付けます。

  4. ASA での LDAP 属性と IETF-Radius-Class 属性間のマッピングを作成します。この例では、Customer Name は、Active Directory の memberOf 属性です。これは、IETF-Radius-ClassCisco Name にマッピングされます。[Add] をクリックします。

    注:属性名および値では大文字と小文字が区別されます。

    注:LDAP サーバにより提供される属性名またはスペルが正確にわからない場合、マップを作成する前にデバッグを検査することを推奨します。デバッグで LDAP 属性を識別する方法の詳細については、「Verify」セクションを参照してください。

    asa_ldap_group_pol-1.gif

  5. 属性マッピングを追加したら、[Map Value] タブをクリックし、[Add] をクリックして、値マッピングを作成します。必要なだけ値マッピングを追加して、終了したら [OK] をクリックします。

    • [Customer Value]:LDAP サーバからの属性値

    • [Cisco Value]:ASA のグループ ポリシーの名前

    この例では、CN=Employees,CN=Users,DC=ftwsecurity,DC=cisco,DC=com memberOf 値は ExamplePolicy1 にマッピングされ、CN=Contractors,CN=Users,DC=ftwsecurity,DC=cisco,DC=com memberOf 値は ExamplePolicy2 にマッピングされます。

    asa_ldap_group_pol-2.gif

    完全な LDAP 属性マップ

    asa_ldap_group_pol-3.gif

  6. マップを作成したら、LDAP 認証に設定されている AAA サーバに割り当てる必要があります。左ペインから [AAA Server Groups] を選択します。

  7. LDAP に設定されている AAA サーバを選択して、[Edit] をクリックします。

  8. 表示されるウィンドウの下側の [LDAP Attribute Map] ドロップダウン リストを確認します。作成したリストを選択します。完了したら、[OK] をクリックします。

    asa_ldap_group_pol-3a.gif

コマンドライン インターフェイス

ASA で LDAP マップを設定するには、コマンドライン インターフェイス(CLI)で次の手順を実行します。

ciscoasa#configure terminal


!--- 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


!--- マップを LDAP AAA サーバに割り当てます。

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

NOACCESS グループ ポリシーの設定

NOACCESS グループ ポリシーを作成して、LDAP グループのメンバでないユーザの VPN 接続を拒否できます。次に、この設定の一部を例として示します。

group-policy NOACCESS internal
group-policy NOACCESS attributes
 vpn-simultaneous-logins 0
 vpn-tunnel-protocol IPSec webvpn

このグループ ポリシーをデフォルト グループ ポリシーとしてトンネル グループに適用する必要があります。たとえば、目的の LDAP グループに属するユーザなど、LDAP 属性マップからマッピングを取得するユーザは、目的のグループ ポリシーを取得できます。また、たとえば、目的の LDAP グループに属さないユーザなど、マッピングを取得しないユーザは、NOACCESS グループ ポリシーをトンネル グループから取得できます(これにより、これらのユーザのアクセスがブロックされます)。

注:PIX/ASA: LDAP 設定により VPN クライアントを VPN グループ ポリシーにマッピングする例』を参照して、一部のユーザへのアクセスを拒否するさまざまな LDAP 属性マッピングを作成する方法の詳細を確認してください。

Active Directory または他の LDAP サーバの設定

Active Directory またはその他の LDAP サーバで必要な設定だけが、ユーザの属性に関連します。この例では、ユーザ Kate Austin は、AD の Employees グループのメンバです。

asa_ldap_group_pol-4.gif

Ben Linus は、Contractors グループのメンバです。

asa_ldap_group_pol-5.gif

確認

このセクションでは、設定の確認について説明します。

ログイン

設定が正しいことを確認するには、LDAP 属性マップがグループ ポリシーに割り当てられているユーザとしてログインします。この例では、各グループ ポリシーについてのバナーが設定されています。このスクリーンショットは、ユーザ kate がログインに成功し、Employees グループのメンバであるため、ExamplePolicy1 が適用されることを示します。

asa_ldap_group_pol-6.gif

LDAP トランザクションのデバッグ

LDAP マッピングが発生するか確認するには、または LDAP サーバにより送信される属性の詳細を取得するには、ASA コマンド ラインで debug ldap 255 コマンドを実行して、認証します。

このデバッグでは、ユーザ kate は、Employees グループのメンバであるため、グループ ポリシー ExamplePolicy1 が割り当てられます。このデバッグでは、kateCastaways グループのメンバであるが、属性がマッピングされないため無視されます。

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

このデバッグでは、ユーザ benContractors グループのメンバであるため、ExamplePolicy2 グループ ポリシーが割り当てられます。このデバッグでは、benTheOthers グループのメンバであるが、属性がマッピングされないため無視されます。

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

トラブルシューティング

このセクションでは、設定のトラブルシューティングについて説明します。

属性名および値では大文字と小文字が区別される

属性名および値では大文字と小文字が区別されます。マッピングが正しく発生しない場合、Ciscoおよび LDAP 属性の名前と値の両方で、LDAP 属性マップのスペルと大文字小文字が正しいことを確認します。

ASA では LDAP サーバからユーザを認証できない

ASA では LDAP サーバからユーザを認証できません。次に、デバッグを示します。

 ldap 255 output:[1555805] Session Start[1555805] New request Session, 
context 0xcd66c028, reqType = 1[1555805] Fiber started[1555805] Creating LDAP 
context with uri=ldaps://172.30.74.70:636[1555805] Connect to LDAP server: 
ldaps://172.30.74.70:636, status = Successful[1555805] supportedLDAPVersion: 
value = 3[1555805] supportedLDAPVersion: value = 2[1555805] Binding as 
administrator[1555805] Performing Simple authentication for sysservices 
to 172.30.74.70[1555805] Simple authentication for sysservices returned code (49) 
Invalid credentials[1555805] Failed to bind as administrator returned 
code (-1) Can't contact LDAP server[1555805] Fiber exit Tx=222 bytes 
Rx=605 bytes, status=-2[1555805] Session End

デバッグでは、LDAP ログイン DN 形式が間違っているか、パスワードが間違っているので、これらを検証して問題を解決します。

関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 98634