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 属性のみをマップすることができます。