LDAP および ASA について
Cisco ASA はほとんどの LDAPv3 ディレクトリ サーバーと互換性があり、それには次のものが含まれます。
-
Sun Microsystems JAVA System Directory Server(現在は Oracle Directory Server Enterprise Edition の一部、旧名 Sun ONE Directory Server)
-
Microsoft Active Directory
-
Novell
-
OpenLDAP
デフォルトでは、ASA によって Microsoft Active Directory、Sun LDAP、Novell、OpenLDAP、または汎用 LDAPv3 ディレクトリ サーバーに接続しているかどうかが自動検出されます。ただし、LDAP サーバー タイプの自動検出による決定が失敗した場合は、手動で設定できます。
LDAP での認証方法
認証中、ASA は、ユーザーの LDAP サーバーへのクライアント プロキシとして機能し、プレーン テキストまたは Simple Authentication and Security Layer(SASL)プロトコルのいずれかを使って LDAP サーバーに対する認証を行います。デフォルトで、ASA は、通常はユーザー名とパスワードである認証パラメータを LDAP サーバーにプレーン テキストで渡します。
ASA では、次の SASL メカニズムをサポートしています。次に、強度の低い順番に示します。
-
Digest-MD5:ASA は、ユーザ名とパスワードから計算した MD5 値を使用して LDAP サーバに応答します。
-
Kerberos:ASA は、GSSAPI Kerberos メカニズムを使用して、ユーザー名とレルムを送信することで LDAP サーバーに応答します。
ASA と LDAP サーバーは、これらの SASL メカニズムの任意の組み合わせをサポートします。複数のメカニズムを設定した場合、ASA ではサーバーに設定されている SASL メカニズムのリストが取得され、認証メカニズムは ASA とサーバーの両方に設定されているメカニズムのなかで最も強力なものに設定されます。たとえば、LDAP サーバーと ASA の両方がこれら両方のメカニズムをサポートしている場合、ASA は、強力な方の Kerberos メカニズムを選択します。
ユーザー LDAP 認証が成功すると、LDAP サーバーは認証されたユーザーの属性を返します。VPN 認証の場合、通常これらの属性には、VPN セッションに適用される認可データが含まれます。この場合、LDAP の使用により、認証と許可を 1 ステップで実行できます。
(注) |
LDAP プロトコルの詳細については、RFC 1777、2251、および 2849 を参照してください。 |
LDAP 階層
LDAP コンフィギュレーションは、組織の論理階層が反映されたものにする必要があります。たとえば、Example Corporation という企業の従業員 Employee1 を例に考えてみます。Employee1 は Engineering グループに従事しています。この企業の LDAP 階層は 1 つ以上のレベルを持つことができます。たとえば、シングルレベル階層をセットアップします。この中で、Employee1 は Example Corporation のメンバーであると見なされます。あるいは、マルチレベル階層をセットアップします。この中で、Employee1 は Engineering 部門のメンバーであると見なされ、この部門は People という名称の組織ユニットのメンバーであり、この組織ユニットは Example Corporation のメンバーです。マルチレベル階層の例については、次の図を参照してください。
マルチレベル階層の方が詳細ですが、検索結果が速く返されるのはシングルレベル階層の方です。
LDAP 階層の検索
ASA は、LDAP 階層内での検索を調整できます。ASA に次の 3 種類のフィールドを設定すると、LDAP 階層での検索開始場所とその範囲、および検索する情報のタイプを定義できます。これらのフィールドは、ユーザーの権限が含まれている部分だけを検索するように階層の検索を限定します。
-
LDAP Base DN では、サーバーが ASA から認可要求を受信したときに LDAP 階層内のどの場所からユーザー情報の検索を開始するかを定義します。
-
Search Scope では、LDAP 階層の検索範囲を定義します。この指定では、LDAP Base DN よりもかなり下位のレベルまで検索します。サーバーによる検索を直下の 1 レベルだけにするか、サブツリー全体を検索するかを選択できます。シングルレベルの検索の方が高速ですが、サブツリー検索の方が広範囲に検索できます。
-
Naming Attribute では、LDAP サーバーのエントリを一意に識別する RDN を定義します。一般的な名前属性には、cn(一般名)、sAMAccountName、および userPrincipalName を含めることができます。
次の図に、Example Corporation の LDAP 階層の例を示します。この階層が指定されると、複数の方法で検索を定義できます。次の表に、2 つの検索コンフィギュレーションの例を示します。
最初のコンフィギュレーションの例では、Employee1 が IPSec トンネルを確立するときに LDAP 認可が必要であるため、ASA から LDAP サーバーに検索要求が送信され、この中で Employee1 を Engineering グループの中で検索することが指定されます。この検索は短時間でできます。
2 番目のコンフィギュレーションの例では、ASA から送信される検索要求の中で、Employee1 を Example Corporation 全体の中で検索することが指定されています。この検索には時間がかかります。
番号 |
LDAP Base DN |
検索範囲 |
名前属性 |
結果 |
---|---|---|---|---|
1 |
group= Engineering,ou=People,dc=ExampleCorporation, dc=com |
1 レベル |
cn=Employee1 |
検索が高速 |
2 |
dc=ExampleCorporation,dc=com |
サブツリー |
cn=Employee1 |
検索に時間がかかる |
LDAP サーバーへのバインド
ASA は、ログイン DN とログイン パスワードを使用して、LDAP サーバーとの信頼(バインド)を築きます。Microsoft Active Directory の読み取り専用操作(認証、許可、グループ検索など)を行うとき、ASA では特権の低いログイン DN でバインドできます。たとえば、Login DN には、AD の「Member Of」の指定が Domain Users の一部であるユーザを指定することができます。VPN のパスワード管理操作では、Login DN にはより高い特権が必要となり、AD の Account Operators グループの一部を指定する必要があります。
次に、Login DN の例を示します。
cn=Binduser1,ou=Admins,ou=Users,dc=company_A,dc=com
ASA は次の認証方式をサポートしています。
-
暗号化されていないパスワードを使用したポート 389 での簡易 LDAP 認証
-
ポート 636 でのセキュアな LDAP(LDAP-S)
-
Simple Authentication and Security Layer(SASL)MD5
-
SASL Kerberos
ASA は匿名認証をサポートしていません。
(注) |
LDAP クライアントとしての ASA は、匿名のバインドや要求の送信をサポートしていません。 |
LDAP 属性マップ
ASA では、次の目的での認証のために LDAP ディレクトリを使用できます。
-
VPN リモート アクセス ユーザー
-
ファイアウォール ネットワークのアクセス/カットスルー プロキシ セッション
-
ACL、ブックマーク リスト、DNS または WINS 設定、セッション タイマーなどのポリシーの権限(または許可属性と呼ばれる)の設定
-
ローカル グループ ポリシーのキー属性の設定
ASA は、LDAP 属性マップを使用して、ネイティブ LDAP ユーザー属性を Cisco ASA 属性に変換します。それらの属性マップを LDAP サーバーにバインドしたり、削除したりすることができます。また、属性マップを表示または消去することもできます。
LDAP 属性マップは複数値属性をサポートしません。たとえば、あるユーザーが複数の AD グループのメンバで、LDAP 属性マップが複数のグループと一致する場合、選択される値は一致するエントリのアルファベット順に基づくものです。
属性マッピング機能を適切に使用するには、LDAP 属性の名前と値およびユーザー定義の属性の名前と値を理解する必要があります。
頻繁にマッピングされる LDAP 属性の名前と、一般にマッピングされるユーザー定義の属性のタイプは次のとおりです。
-
IETF-Radius-Class(ASA バージョン 8.2 以降における Group_Policy):ディレクトリ部門またはユーザー グループ(たとえば、Microsoft Active Directory memberOf)属性値に基づいてグループ ポリシーを設定します。ASDM バージョン 6.2/ASA バージョン 8.2 以降では、IETF-Radius-Class 属性の代わりに group-policy 属性が使用されます。
-
IETF-Radius-Filter-Id:VPN クライアント、IPSec、SSL に対するアクセス コントロール リスト(ACL)に適用されます。
-
IETF-Radius-Framed-IP-Address:VPN リモート アクセス クライアント、IPSec、および SSL にスタティック IP アドレスを割り当てます。
-
Banner1:VPN リモート アクセス ユーザーのログイン時にテキスト バナーを表示します。
-
Tunneling-Protocols:アクセス タイプに基づいて、VPN リモート アクセス セッションを許可または拒否します。
(注)
1 つの LDAP 属性マップに、1 つ以上の属性を含めることができます。特定の LADP サーバーからは、1 つの LDAP 属性のみをマップすることができます。