軽量ディレクトリアクセスプロトコル(LDAP)は、Microsoft Active Directory などのディレクトリサービスを読み取り・検索するためのクライアント・サーバー型プロトコルです。このプロトコルは、ユーザー名、グループの所属状況、その他の属性に関するクエリを伝送し、ネットワーク機器が独自のユーザーデータベースを維持することなく、ユーザーの認証や、役割やグループに基づくポリシーの適用を可能にします。
主なポイント
- LDAPは、Active Directoryなどのディレクトリサーバーに対して、ユーザーやグループに関するクエリを実行します。
- バインド操作では、検索を実行する前にクライアントの認証が行われます。
- 識別名(DN)は、ディレクトリツリー内の個々のエントリを指定します。
- Versa 各デバイスは、LDAPサーバープロファイルを使用してユーザーの認証を行い、ロールを取得します。
- LDAPS および StartTLS は LDAP セッションを暗号化するため、認証情報は平文で送信されることはありません。
このページの内容: その重要性仕組み種類LDAP およびVersaよくある質問
LDAPはなぜ重要なのでしょうか?
ほぼすべての企業ネットワークには、すでにディレクトリ(最も一般的なのはActive Directory)が導入されており、そこには全従業員のユーザー名、パスワードのハッシュ値、およびグループの所属情報が格納されています。LDAPが重要なのは、ネットワークやセキュリティ機器が、ユーザーリストを別途重複して管理する代わりに、このディレクトリを再利用できるからです。LDAPに対応したファイアウォールやゲートウェイは、ユーザーがノートPCへのログインに使用するのと同じアカウントに対して認証を行い、そのアカウントがすでに所属しているグループに基づいてポリシーを適用することができます。
これは、セキュリティ面だけでなく運用面でも重要な意味を持ちます。LDAPがなければ、管理者はすべてのデバイスで個別にユーザーの権限を付与・解除しなければなりません。一方、LDAPを利用すれば、Active Directoryのグループにユーザーを追加するだけで、ポリシー内でそのグループが参照されているすべての場所でのアクセス権を付与または取り消すことができます。 LDAPはオープンでベンダー中立な標準であるため、異なるベンダーの機器でも同じ方法で同じディレクトリにクエリを実行できます。そのため、SAMLやRADIUSといった新しいプロトコルが認証プロセスの他の部分を担うようになった現在でも、LDAPはネットワークインフラとエンタープライズID間のデフォルトの統合ポイントであり続けているのです。
LDAPとは何ですか?
LDAPでは、ディレクトリデータは「ディレクトリ情報ツリー(DIT)」と呼ばれるエントリのツリー構造として整理されます。各エントリは、識別名(DN)――共通名(CN)、組織単位(OU)、ドメインコンポーネント(DC)などの構成要素から成るパス――によって指定され、ユーザーのメールアドレスやグループのメンバーリストなど、オブジェクトクラスによって定義された属性を持ちます。
クライアントは、ごく少数の操作を通じてディレクトリとやり取りを行います。 Bind サービスアカウントのDNとパスワード(Bind DNおよびBindパスワード)を使用してクライアントを認証します。バインドが成功して初めて、クライアントはそれ以降の操作を実行できます。 検索 「ベースDN」と呼ばれる開始点を基準として、フィルタに一致するエントリを取得します。たとえば、以下の条件に一致するすべてのユーザーなどです。 memberOf 属性は、指定されたグループを一覧表示します。LDAPは通常、TCPポート389上で動作しますが、最初からTLSでカプセル化されている場合はポート636上で動作します。
LDAPの種類
3種類のバインド方式があり、それぞれ異なるレベルのセキュリティでLDAPクライアントの認証を行います。匿名バインドは認証情報を送信せず、本番環境のディレクトリでは無効化されています。シンプルバインド(ほとんどのネットワークデバイスが使用するモード)は、DNとパスワードを平文で送信するため、暗号化されたセッション上で実行する必要があります。SASLバインドは、Kerberosなどのメカニズムに認証を委任し、パスワードを一切送信することなく身元を証明します。
転送時のセキュリティは、その上に重ねられた別の選択肢です。プレーンなLDAPでは、シンプルバインドの認証情報を含め、すべてのデータが暗号化されずに送信されます。LDAPSは、専用のポート上で、最初のパケットからセッション全体をSSL/TLSで保護します。StartTLSは、標準のLDAPポート上でプレーンな接続として開始し、セッションの途中でTLSにアップグレードするため、2つ目のリスニングポートを必要としません。 現場で使用されているディレクトリのほとんどはMicrosoft Active Directoryですが、OpenLDAPや389 Directory Serverなどの標準準拠の代替製品も同様のプロトコルを実装しており、その代わりとしてLDAPターゲットとして機能することができます。
LDAPもプロトコルのバージョンアップを通じて進化してきました。1990年代初頭に定義されたLDAPv2は、すでに時代遅れとなっており、現代のディレクトリではサポートされていません。RFC 4510~4519で標準化されたLDAPv3が現在のバージョンであり、SASLバインド、リファラル、拡張操作が追加されています。現在、Versaを含むすべての本番環境での統合において、このバージョンが対象となっています。
LDAP &Versa
Versa デバイスは、LDAPサーバープロファイルを通じてActive Directoryに対してユーザー認証を行います。このプロファイルには、ドメイン名、ベースDN、バインドDN、パスワード、バインドおよび検索のタイムアウト、SSLモード(LDAPSまたはCA証明書を使用したStart TLS)が定義されています。DirectorノードがLDAPサーバーに直接接続できない場合、VOSデバイスをアプライアンスプロキシとして設定し、Directorノードに代わってユーザーおよびグループの一覧を取得させることができます。
個別のユーザー/グループマッピングプロファイルにより、デバイスはそのディレクトリのスキーマ(グループおよびユーザーオブジェクトクラス、グループメンバーシップ属性、ユーザー名形式、更新間隔(デフォルトは60秒))をどのように解釈すべきかを認識します。Directorは、その結果として生成されたリストをキャッシュし、およそ60分ごとに更新を行うため、ポリシー検索の際にLDAPサーバーに直接アクセスする必要がなくなります。NGFW固有の設定フローは、ファイアウォールポリシーについてもこれと同様の仕組みを採用しています。一方、組織レベルの設定により、管理者はカスタムフィルターを使用してLDAPへのアクセス範囲を限定し、SASE クライアント、マルチテナントゲートウェイ、またはリモートアクセスVPNにアクセスできるActive Directoryユーザーやグループを制限することができます。 LDAPプロファイルは、SAML、Kerberos、RADIUS、証明書、ローカルデータベースと並んで、ユーザーおよびグループベースのNGFW、SD-WAN、CoS、UTMポリシーにおいて認証プロファイルが参照できるいくつかの方法の1つです。
よくある質問
LDAPとActive Directoryの違いは何ですか?
LDAP は、ディレクトリに対するクエリや認証に使用されるオープンプロトコルです。Active Directory はマイクロソフトのディレクトリサービスであり、LDAP を通じてデータを提供するいくつかの製品のうちの 1 つです。デバイスは Active Directory サーバーに対して「LDAP 経由で認証」を行いますが、プロトコルと製品は別々の層として存在します。
LDAPはどのポートを使用しますか?
通常のLDAPとStartTLSは、どちらもデフォルトでTCPポート389を使用します。StartTLSは、セッションの途中、初期ハンドシェイクの後に、その平文接続を暗号化接続へとアップグレードします。一方、LDAPSは、接続の途中でアップグレードするのではなく、最初のパケットからセッション全体をSSL/TLSで保護するため、別の専用ポートである636を使用します。
LDAPにおける「識別名」とは何ですか?
「識別名(DN)」とは、ディレクトリツリー内のエントリへの一意のパスを指し、共通名、組織単位、ドメインコンポーネントなどの構成要素をルートに向かって外側から読み込んで構成されます。例えば、 cn=jsmith,ou=Users,dc=versa,dc=com Users コンテナ内の特定のユーザーエントリを指定します。
LDAPとRADIUSはどのように異なるのですか?
LDAPは、構造化されたユーザーおよびグループデータを読み取り、検索するために構築されたディレクトリ照会プロトコルです。RADIUSは、ネットワークへのアクセスを許可または拒否し、その決定をログに記録するために構築された認証、認可、およびアカウンティングプロトコルです。多くの導入事例では、LDAPディレクトリの検索を基盤として、アクセス決定にRADIUSを使用するという両方を併用しています。
LDAPのトラフィックは暗号化されていますか?
デフォルトではそうではありません。ポート389上の通常のLDAPでは、シンプルバインドの認証情報や検索結果が暗号化されずに送信されるため、ネットワーク経路上にいる誰にでも読み取られてしまいます。本番環境での導入では、代わりにLDAPSまたはStartTLSを有効にする必要があります。これらはいずれもセッションをSSL/TLSで保護するため、認証情報やディレクトリデータが転送中に保護された状態を維持できます。
LDAPに関する詳細
さらに詳しく知りたい場合は、私たちが信頼している情報源を以下にご紹介します。
| RFC 4511: LDAP – プロトコル | RFC 4510: LDAP 技術仕様ロードマップ |
|---|---|
| bind、search、およびメッセージプロトコルデータ単位(MPDU)など、LDAP操作を定義するIETFの標準化トラック文書。 | LDAPv3の仕様一式(モデル、構文、セキュリティメカニズム)を統合したロードマップ文書。 |
関連用語
LDAPについて調べているなら、次はこれらもぜひチェックしてみてください。
| リモート認証ダイヤルインユーザーサービス | 認証プロファイル | 802.1X |
|---|---|---|
| 外部サーバーに対して認証情報を照合する代替の認証プロトコル。多くの場合、LDAPディレクトリの検索と組み合わせて使用される。 | ユーザーの認証およびポリシーの適用を行うために、LDAP、SAML、RADIUS、またはKerberosのいずれかの方式を参照するVersa 構成オブジェクト。 | LDAPを利用した認証と同様に、身元確認を経てからネットワークへのアクセスを許可する、ポートベースのアクセス制御規格。 |