第28章 Lightweight Directory Access Protocol (LDAP)
LDAP( Lightweight Directory Access Protocol )は、ネットワーク上で一元的に保存された情報にアクセスするために使用されるオープンプロトコルのセットです。これは、ディレクトリー共有の X.500 標準に基づいていますが、複雑でリソースを大量に消費します。このため、LDAP はX.500 Lite と呼ばれることもあります。 X.500 標準は、名前、アドレス、電話番号などの情報が含まれる階層およびカテゴリー化された情報が含まれるディレクトリーです。
X.500 と同様に、LDAP はディレクトリーを使用して階層的な方法で情報を整理します。これらのディレクトリーはさまざまな情報を保存し、Network Information Service (NIS)と同様に使用でき、LDAP 対応のネットワーク上の任意のマシンからアカウントにアクセスできるようにすることもできます。
多くの場合、LDAP は仮想電話ディレクトリーとして使用され、ユーザーは他のユーザーの連絡先情報に簡単にアクセスできます。ただし、LDAP は従来の phone ディレクトリーよりも柔軟性が高いため、世界全体で他の LDAP サーバーに対してクエリーを実行し、情報のアドホックのグローバルリポジトリーを提供することができるためです。ただし、現在、ユニバーサリ、政府部門、プライベート企業など、個々の組織内で LDAP を使用するのが一般的です。
LDAP はクライアント/サーバーシステムです。サーバーはさまざまなデータベースを使用してディレクトリーを保存できます。LDAP クライアントアプリケーションが LDAP サーバーに接続すると、ディレクトリーをクエリーするか、修正を試行できます。クエリーが発生した場合には、サーバーはクエリーにローカルで応答するか、応答のある LDAP サーバーにクエリーを参照できます。クライアントアプリケーションが LDAP ディレクトリー内の情報を変更しようとしている場合、サーバーは、ユーザーが変更を行い、情報を追加または更新するパーミッションを持っていることを確認します。
本章では、LDAPv2 プロトコルおよび LDAPv3 プロトコルのオープンソース実装である OpenLDAP 2.0 の設定および使用について説明します。
28.1. LDAP を使用する理由
LDAP を使用する主な利点は、組織全体の情報を中央リポジトリーに統合できることです。たとえば、組織内の各グループのユーザーリストを管理するのではなく、LDAP をネットワーク上のどこからでもアクセスできる中央ディレクトリーとして使用できます。また、LDAP は Transport Layer Security (TLS)をサポートしているため、機密データは prying eyes から保護できます。
重要
Resolution for POODLE SSLv3.0 vulnerability (CVE-2014-3566) for components that do not allow SSLv3 to be disabled via configuration settings(設定から SSLv3 を無効にできないコンポーネントで POODLE SSLv3.0 脆弱性 (CVE-2014-3566) を解決する方法) に説明されている脆弱性により、Red Hat はセキュリティー保護のために
SSLv3
に依存しないことを推奨しています。OpenLDAP は、SSLv3
を効果的に無効にできるようにする設定パラメーターを提供しないシステムコンポーネントの 1 つです。リスクを軽減するには、stunnel コマンドを使用してセキュアなトンネルを提供し、SSLv3
の使用から stunnel を無効にすることが推奨されます。
LDAP は、ディレクトリーを格納する多くのバックエンドデータベースもサポートします。これにより、管理者は、サーバーが解読する情報の種類に最も適したデータベースを柔軟にデプロイできます。LDAP には明確に定義されたクライアントアプリケーションプログラミングインターフェイス(API)があるため、LDAP 対応アプリケーションの数は多く、数量と品質が増加します。
28.1.1. OpenLDAP の機能
OpenLDAP には、多くの重要な機能が含まれています。
- LDAPv3 サポート: OpenLDAP は、その他の改善の中で Simple Authentication and Security Layer (SASL)および TLS (Transport Layer Security)をサポートします。LDAPv2 は LDAP をよりセキュアにするように設計されています。
- IPv6 サポート: OpenLDAP は、次世代インターネットプロトコルバージョン 6 をサポートします。
- LDAP Over IPC: OpenLDAP はプロセス間通信(IPC)を使用してシステム内で通信できます。これにより、ネットワーク上で通信する必要がなくなるため、セキュリティーが強化されます。
- 更新された C API: プログラマーが LDAP ディレクトリーサーバーに接続し、使用する方法を改良します。
- LDIFv1 サポート: LDAP Data Interchange Format (LDIF)バージョン 1 への完全準拠を提供します。
- Enhanced Stand-Alone LDAP サーバー: 更新されたアクセス制御システム、スレッドプール、より良いツールなどが含まれています。