LDAP について
Lightweight Directory Access Protocol(LDAP)は、Cisco NX-OS デバイスにアクセスしようとするユーザの検証を集中的に行います。LDAP サービスは、通常 UNIX または Windows NT ワークステーション上で稼働する LDAP デーモンのデータベースで管理されます。Cisco NX-OS デバイスに設定した LDAP 機能を使用可能にするには、LDAP サーバにアクセスして設定しておく必要があります。
LDAP では、認証と認可のファシリティが別々に提供されます。LDAP では、1 台のアクセス コントロール サーバ(LDAP デーモン)で各サービス認証と認可を個別に提供できます。各サービスを固有のデータベースに結合し、デーモンの機能に応じてそのサーバまたはネットワークで使用できる他のサービスを使用できます。
LDAP クライアント/サーバ プロトコルでは、トランスポート要件を満たすために、TCP(ポート 389)を使用します。Cisco NX-OS デバイスは、LDAP プロトコルを使用して集中型の認証を行います。
LDAP 認証および許可
クライアントは、簡易バインド(ユーザ名とパスワード)を使用して LDAP サーバとの TCP 接続および認証セッションを確立します。許可プロセスの一環として、LDAP サーバはそのデータベースを検索し、ユーザ プロファイルやその他の情報を取得します。
バインドしてから検索する(認証を行ってから許可する)か、または検索してからバインドするように、バインド操作を設定できます。デフォルトでは、検索してからバインドする方式が使用されます。
検索してからバインドする方式の利点は、baseDN の前にユーザ名(cn 属性)を追加することで認定者名(DN)を形成するのではなく、検索結果で受け取った DN をバインディング時にユーザ DN として使用できることです。この方式は、ユーザ DN がユーザ名と baseDN の組み合わせとは異なる場合に特に役立ちます。ユーザ バインドのために、bindDN が baseDN + append-with-baseDN として構成されます。ここで、append-with-baseDN は cn=$userid のデフォルト値です。
(注) |
バインド方式の代わりに、比較方式を使用して LDAP 認証を確立することもできます。比較方式では、サーバでユーザ入力の属性値を比較します。たとえば、ユーザ パスワード属性を比較して認証を行うことができます。デフォルトのパスワード属性タイプは userPassword です。 |
ユーザ ログインにおける LDAP の動作
- Cisco NX-OS デバイスは接続が確立されると、ユーザ名とパスワードを取得するために LDAP デーモンに接続します。
- Cisco NX-OS デバイスは、最終的に LDAP デーモンから次のいずれかの応答を得ます。
- ACCEPT:ユーザの認証に成功したので、サービスを開始します。Cisco NX-OS デバイスがユーザ許可を必要とする場合は、許可処理が始まります。
- REJECT:ユーザ認証は失敗します。LDAP デーモンは、ユーザに対してそれ以上のアクセスを拒否するか、ログイン操作を再試行するように要求します。
- ERROR:デーモンによる認証サービスの途中でエラーが発生したか、またはデーモンと Cisco NX-OS デバイスの間のネットワーク接続でエラーが発生しました。Cisco NX-OS デバイスは ERROR 応答を受信した場合、別の方法でユーザの認証を試行します。
認証が終了し、Cisco NX-OS デバイスで許可がイネーブルになっていれば、続いてユーザの許可フェーズに入ります。LDAP 許可に進むには、まず LDAP 認証を正常に終了する必要があります。
- LDAP 許可が必要な場合、Cisco NX-OS デバイスは再び LDAP デーモンに接続し、デーモンから ACCEPT または REJECT 応答が返されます。ACCEPT 応答には、ユーザに対する EXEC または NETWORK セッションの送信に使用される属性が含まれます。また
ACCEPT 応答により、ユーザがアクセス可能なサービスが決まります。この場合のサービスは次のとおりです。
- Telnet、rlogin、ポイントツーポイント プロトコル(PPP)、シリアル ライン インターネット プロトコル(SLIP)、EXEC サービス
- 接続パラメータ(ホストまたはクライアントの IP アドレス(IPv4 または IPv6)、アクセス リスト、ユーザ タイムアウト)
(注) |
LDAP では、デーモンがユーザを認証するために十分な情報を得られるまで、デーモンとユーザとの自由な対話を許可します。通常、デーモンはユーザ名とパスワードの組み合わせを入力するよう求めますが、他の項目を求めることもできます。 |
(注) |
LDAP では、認証の前に許可を行うことができます。 |
LDAP サーバのモニタリング
応答を返さない LDAP サーバがあると、AAA 要求の処理に遅延が発生することがあります。AAA 要求の処理時間を短縮するために、LDAP サーバを定期的にモニタして LDAP サーバが応答している(アライブ)かどうかを調べることができます。Cisco NX-OS デバイスは、応答の遅い LDAP サーバをデッド(dead)としてマークし、デッド LDAP サーバには AAA 要求を送信しません。Cisco NX-OS デバイスはデッド LDAP サーバを定期的にモニタし、応答があればアライブ状態に戻します。このモニタリング プロセスでは、実際の AAA 要求が送信される前に、LDAP サーバが稼働状態であることを確認します。LDAP サーバがデッドまたはアライブの状態に変わると、簡易ネットワーク管理プロトコル(SNMP)トラップが生成され、Cisco NX-OS デバイスは、パフォーマンスに影響が出る前に、障害が発生していることをエラー メッセージで表示します。次の図に、LDAP サーバ モニタリングのサーバの状態を示します。
(注) |
稼働中のサーバと停止中のサーバのモニタリング間隔はそれぞれ別で、ユーザが設定できます。LDAP サーバ モニタリングを実行するには、テスト認証要求を LDAP サーバに送信します。 |
LDAP のベンダー固有属性
Internet Engineering Task Force(IETF; インターネット技術特別調査委員会)ドラフト標準には、ネットワーク アクセス サーバと LDAP サーバ間での Vendor-Specific Attribute(VSA; ベンダー固有属性)の通信方法が規定されています。IETF は属性 26 を使用します。ベンダーは VSA を使用して、一般的な用途には適さない独自の拡張属性をサポートできます。
LDAP 用の Cisco VSA 形式
シスコの LDAP 実装では、IETF 仕様で推奨される形式を使用したベンダー固有オプションを 1 つサポートしています。シスコのベンダー ID は 9、サポートされるオプションのベンダー タイプは 1(名前付き cisco-av-pair)です。値は次の形式のストリングです。
protocol : attribute separator value *
protocol は、特定の許可タイプを表すシスコの属性です。separator は、必須属性の場合は =(等号)、オプションの属性の場合は *(アスタリスク)です。Cisco NX-OS デバイス上の認証に LDAP サーバを使用した場合、LDAP では LDAP サーバに対して、認証結果とともに権限付与情報などのユーザ属性を返すように指示します。この許可情報は、VSA で指定されます。Cisco NX-OS ソフトウェアでは、次の VSA プロトコル オプションをサポートしています。
- shell:ユーザ プロファイル情報を提供する access-accept パケットで使用されるプロトコル。
Cisco NX-OS ソフトウェアは、次の属性をサポートしています。
- roles:ユーザが属するすべてのロールの一覧です。値フィールドは、スペースで区切られたロール名を一覧表示したストリングです。
LDAP のバーチャライゼーション サポート
Cisco NX-OS デバイスは、仮想ルーティング/転送(VRF)インスタンスを使用して LDAP サーバにアクセスします。VRF の詳細情報については、『Cisco Nexus 9000 Series NX-OS Unicast Routing Configuration Guide』を参照してください。