jump to navigation

[プロトコル] LDAPについて 7月 14, 2009

Posted by hyhy in 技術情報.
Tags:
trackback

LDAPについてよく理解できてないので、まとめ。

LDAP・・・Lightweight Directory Access Protocol
一言でいうなれば、ディレクトリサービス
TCP/IP上でづおさするインターネット標準のディレクトリアクセスプロトコルで、WebブラウザなどのLDAPクライアントから、直接ディレクトリサービスを検索・参照することができます。

■詳細
LDAPとは,電子的な電話帳(ディレクトリサーバ,あるいはLDAPサーバと呼ばれる)と通
信し,各種の情報を読み書きするためのプロトコルである。電話帳と言っても,名前,電話番号,住所のみを格納できるのではなく,運用目的にあわせて任意の情報を追加することができる。
LDAPサーバのフリーソフトとしてはOpenLDAPが有名。
商用のものとしてはeDirectory(Novell),Internet Directory(Oracle),Domino(Lotus),Exchange Server(Microsoft),Active Directory(Microsoft)

これらのLDAPサーバはクライアント側から見れば,ほとんど同じ振る舞いをする。しかし,レプリケーション(後述)や分散ディレクトリなど,LDAPサーバ間の通信においては,RFCで定義されていない部分も多く,互換性はないと考えた方がよい。そのため,複数のLDAPサーバを連携させながら運用する場合には,同じソフトを用いる方が安全である。

LDAPサーバでは,通常の電話帳と同じように,情報は頻繁には更新されないことを仮定しており,検索(コンピュータへのログイン時の認証など)は高速にできるように設計されている。しかしその反面,情報の更新や追加などの処理は遅い。そのため,頻繁に情報が更新される用途には不向きとされる。

■LDAPで何ができるのか?
1)認証と情報の読み込み
LDAPサーバのもっとも単純な利用方法は認証である。
ユーザを階層的に管理することができない,あるいはセキュリティ的に問題があるなど,大規模なグループに対してサービスを行おうと思うと,不十分である。

2)アクセス制御
ACI(Access Control Information,アクセス制御情報)6でアクセス制御が可能である。例えば,
ユーザごとにアクセスできる情報,許可するアクセスの種類やアクセスできる範囲を設定するなど,きめ細かいアクセス制御を設定できる。また,OpenLDAPではTCP Wrappersと組み合わせることによって,特定のホストからのアクセスのみを許可することができるが,特定のホストから特定のユーザのみがアクセス可能,という設定はできない。

3)レプリカ
1台のLDAPサーバだけでは,ユーザからのアクセスを処理しきれなくなり,認証や情報の読み出しに遅延が生じる可能性がある。そこで,同じ内容を保持するLDAPサーバを複数台設置することにより,負荷を分散させることができる。

4)セキュリティ
LDAPサーバはIDとパスワードのみではなく,いろいろな情報を格納することができる。
そのため,情報の漏洩には特別の配慮が必要である。情報漏洩の防止には,LDAPサーバ内部と,クライアントとの情報のやり取りの過程の2つを考える必要がある。
まず,LDAPサーバ内部のセキュリティ対策としては,パスワードをそのままの形では保存しない,ということが挙げられる。平文で保存することもできるが,一方向ハッシュ(SHAやSSHAなど)をかけた状態で保存すれば,たとえパスワードが漏洩しても元のパスワードを復元することは非常に困難であり,不正なアクセスを防止することに有効である。

参考

広告
%d人のブロガーが「いいね」をつけました。