
第19号(2008年4月)
記事:Red Hat Directory Server 8.0
今号では、LDAP準拠のエンタープライズディレクトリサーバ、Red Hat Directory Server 8.0(以下、RHDSと記述します)をご紹介いたします。
● Red Hat Directory Serverを20秒で理解する
Red Hat Directory Serverは、Red HatがNetscape Directory Serverを買収、オープンソース化し、Fedora Directory Serverを経て、リリースされた、LDAP準拠のエンタープライズディレクトリサーバです。プラットフォームはRed Hatに限定されません。HP-UXやSun Solarisも選択可能です。RHDSのアドバンテージは4つです。
1つめは、複雑なプロファイル情報の管理を簡素化する強力な管理ツールです。
2つめは、ユーザ数に依存しない価格構成です。
3つめは、マルチマスタ構成により高い拡張性と可用性を提供することです。
4つめは、Windows-syncによりActive Directoryとシームレスな接続が可能なことです。
RHDSの魅力を伝えるには、20秒では足りなかったようです。さぁ詳しい解説にうつりましょう。
● ディレクリサーバとは
RHDSはディレクトリサーバです。ディレクトリサーバはユーザプロフィール、アプリケーションの設定、グループデータ、管理ポリシーやアクセス制御情報等をネットワーク上に集約することで、データの冗長性を排除したユーザ認証基盤を提供します。
例として、社内システムで利用する複数台のサーバがあるとします。サーバそれぞれにユーザアカウントを作成してしまうと、ユーザ情報を変更する必要があった場合、全てのサーバでユーザ情報を編集する必要があります。これは非効率的で気が滅入る単純作業です。サーバの台数が増えるとユーザをきちんと管理するのは困難です。ディレクトリサーバを導入することで、各サーバに分散してしまったユーザ情報を集約し、効率良く管理することが出来ます。もう1 つ例を挙げましょう。先ほどの例は、社内システムにおけるユーザ情報の集約のケースでしたが、ディレクトリサーバに顧客情報を格納するケースです。
顧客情報と聞くとDBサーバに格納するイメージがあるかもしれません。ディレクトリサーバに格納すると何が幸せなのでしょうか?
1つ目は、認証処理をディレクトリサーバにて行うためDBサーバの負荷を軽減することが可能です。
2つ目は、LDAP(Lightweight Directory Access Protocol)によるアクセスです。LDAPはディレクトリサービスにアクセスするための標準化されたプロトコルで、OSやマシンアーキテクチャに依存せずに接続が可能です。そのため、特に色々なシステムでユーザ認証を利用したい場合に、システム構成に柔軟性を提供します。これは全体最適を考える際には重要なファクターです。
3つ目は、ユーザ管理についての開発を省けることです。
LDAPでは様々な管理ツールが提供されているため、基本的な機能は新たに開発せずとも、管理ツールを利用することができます。もちろん、RHDSも付属の管理ツールを使ってユーザを管理することが可能です。
社内システムで導入する場合と顧客管理に利用する場合の例を挙げましたが、ディレクトリサービスの本質はユーザ認証であり、他にも様々なシステムで利用されています。
● ユーザ認証と言えば、NISやOpenLDAPがありますが?
ユーザ認証と言えば、NIS(Network Information System)やOpenLDAPも有名です。RHDSとこれらの違いについて触れてみたいと思います。
複数台のサーバにおけるユーザ情報を集約するため、古くから利用されてきたディレクトリサービスとしてNISがあります。親しみのあるNISですが、現在のディレクトリサービスに求められる要件を考えると、若干機能が貧弱です。
具体的には、元々UNIX/Linuxシステムにおけるユーザ情報の集約を目的としているため、Samba等の他のシステムとの連携が容易ではありません。また、ユーザ情報に組織情報やアプリケーションの管理情報等を紐付けることもできません。LDAPと比較すると、管理情報が多くなった際の性能劣化も気になりますし、アクセス制御や暗号化といったセキュリティ面もLDAP の方が優れています。NISはレプリケーションも容易ではないため、集約したユーザ情報の可用性が問題になりやすいことも事実です。
次にOpenLDAPですが、Red Hat Enterprise Linuxにも標準で同梱されているため、実際に利用している方も多いことと思います。標準で同梱されている状況を踏まえて、本質的には同じものですが、ここではコミュニティ版OpenLDAPとRed Hat版OpenLDAPを区別して考えたいと思います。
まず、コミュニティ版OpenLDAPについてです。多少乱暴な表現になりますが、 OpenLDAPはLDAPの標準化プロセスにおける実質的なリファレンス実装です。そのようなバックグラウンドもあり、非常に速い開発スピードとリリースサイクルが特徴です。日々進化していることは非常に喜ばしいのですが、実際に利用しようとした際には幾つかの問題があることも事実です。まず、スピーディなリリースサイクルはキャッチアップすることに非常に労力が必要であり、運用負荷が増してしまいます。さらに、実質的なリファレンス実装として存在するために、バージョン間の互換性を犠牲にする場合が多々あります。
そして、何よりサポートの問題があります。これは回避できない大きな問題です。これらの問題を解決し、サブスクリプションとしてサポートを提供しているのがRed Hatであり、Red Hat版OpenLDAPもその1つです。
最新のRed Hat版OpenLDAPはコミュニティ版の2.3.27のコードをベースにしています。コミュニティ版がバグフィックスや機能拡張等でバージョンアップを繰り返していくのに対して、Red Hat版OpenLDAPはサポート期間である7年間、基本的にこの2.3.27のコードベースにバグフィックスを提供し、必要に応じて新しい機能をバックポートすることで機能拡張を試みつつ互換性を担保します。
そのため、安心して利用頂ける半面、互換性を失う機能拡張を実施することが難しい場合もあります。現にコミュニティ版OpenLDAPや RHDSでは実装されている機能でも、Red Hat版OpenLDAPではまだ実装されていないものが幾つかあります。これはOpenLDAPに限った話ではありません。他には例えばPHPがあります。良くお問い合わせを頂きますが、コミュニティ版PHPがバージョン4系のメンテナンスを終了しているのに対し、Red Hat版PHPはPHP4系を同梱するRed Hat Enterprise Linuxのライフサイクルに合わせてメンテナンスが提供されます。話が逸れてしまいました。話題をOpenLDAPに戻し、実装されている機能の差分にフォーカスします。
● Red Hat Directory ServerとOpenLDAPの機能差
それでは、RHDSとRed Hat版OpenLDAPとの機能を比較していきたいと思います。コミュニティ版OpenLDAPとRed Hat版の違いについては前述した通りです。コミュニティ版とRHDSの比較ではないことにご注意下さい。
まず、大きな違いとして管理ツールとWindows連携があります。RHDSは管理ツールが充実しており、実際、プログラムコードの半分以上のは管理ツールのために書かれたものです。このGUIの管理ツールは、管理クライアントとしてlinuxはもちろんのこと、Windowsを利用することも可能です。それに対して、OpenLDAPはGUIの管理ツールがありません。コマンドベースで管理する必要があります。コマンドベースで管理する必要があるということは、OpenLDAPのユーザ情報の管理者にLinuxサーバとLDAPに関する知識を要求するということを意味します。
ユーザ情報の管理をシステム管理者が兼任する場合はあまり問題にならないかもしれませんが、そうでない場合、若干敷居が高いかもしれません。また、RHDSはデータのバックアップ機能を実装していますが、OpenLDAPでは別途作り込む必要があります。ユーザのパスワードポリシも同様に、標準では提供されません。最後に Windows連携ですが、RHDSはWindows 2003 Active Directory、Windows 2000 Active Directoryと、パスワードを含むユーザ情報について双方向の連携が可能です。
セキュリティの観点から比較してみましょう。今日、個人情報の取扱いは非常に繊細な問題ですから、データは暗号化して保存しておくことを求められます。OpenLDAPもデータの暗号化は可能ですが、パスワードに限定されており、他の属性情報を暗号化することはできません。RHDSはパスワードを含む、全属性を暗号化して格納することができます。これは特に顧客情報を集約する際には重要になります。さらにRHDSはアカウントロックという機能を持ちます。今、悪意あるユーザが他のユーザアカウントにブルートフォースアタックを仕掛けたとします。
大量の認証要求と認証失敗を繰り返すわけですが、アカウントロックはポリシーに従って、一定回数以上認証失敗したユーザのアカウントを一時的に無効にすることで、悪意あるユーザの『なりすまし』を防ぎます。このアカウントロックは、自動/手動どちらでも設定可能です。他にも、曜日・時間指定によるアクセス制御ができない等細かい違いがあります。
幾つかの具体的な例を挙げましたが、一番の違いはやはり管理ツールにあります。ユーザ情報を集約し、運用効率を高めるためにOpenLDAPを導入したにも関わらず、むしろ運用が難解になってしまった、というのは珍しい話ではありません。特に可用性に直接関わるレプリケーションの設定やチューニングに関する実用的なツールがないのは問題になりやすい部分です。
● サポートされるプラットフォーム
冒頭にプラットフォームにRed Hat Enterprise Linux以外を選択することも可能だと記述しました。以下が、最新版であるRed Hat Directory Server 8.0のサポートされるプラットフォーム一覧になります。
- Red Hat Enterprise Linux 4 i386 (32-bit)
- Red Hat Enterprise Linux 4 x86_64 (64-bit)
- Red Hat Enterprise Linux 5 i386 (32-bit)
- Red Hat Enterprise Linux 5 x86_64 (64-bit)
- HP-UX 11i Itanium/IPF
- Sun Solaris 9 (SPARC v9, 64-bit)
● エンタープライズ環境にて絶大なコスト効果を発揮するRed Hat Directory Server
通常の商用ディレクトリサーバは一定ユーザ数を越えるとユーザ数に応じて価格が変化します。これに対して、RHDSの価格はユーザに依存せず、インストールされるシステムで決定されます。そのため大量にユーザが存在する場合、RHDSであれば圧倒的低コストでユーザ認証基盤を構築することが可能になります。保有ユーザ数ではなく、システムに求められる性能ベースでのIT投資を実現しているため、非常に効率の良い投資が可能です。もちろん低コストで構築可能であっても、100万を越える顧客エントリの管理実績も多数ありますので、内部統制やSOAにおける認証基盤を検討されていれば、
お気軽に
sales-jp@redhat.comまでお問い合わせ下さい。
レッドハット株式会社/ニュースレター編集部