OpenLDAP 2.4 for Linux/Solaris/AIX

OpenLDAP

ディレクトリサービスにより、Linux/Unix/Windows/Mac の各種サービス(共有、メール、Web サービスなど) の認証統合を可能にします。

特徴

詳細バージョン: OpenLDAP 2.4.25

  • 最新の OpenLDAP 2.4 系を採用し、商用 Linux 同梱の OpenLDAP よりも数々の不具合が修正されています。
    • OpenLDAP 2.3 系は 2008年07月でメンテナンスが終了していますので、それ以降に発生した以下のような問題すべてが放置されています。
      • CVE-2009-3767
        OpenLDAP が SSL 証明書を検証する際に、CN に NULL 文字が含まれていた場合、検証すべき文字列を NULL 文字までで区切ってしまう問題です。これにより、NULL 文字を CN に含めた形の証明書を CA から取得できた攻撃者は本来のサイトとは異なるにもかかわらず、正規のサイトとして誤認させることが可能です。
      • CVE-2008-2952
        OpenLDAP の liblber/io.c には、ASN.1 BER データグラムの処理に不備があり、サービス運用妨害 (DoS) の脆弱性があります。
      • CVE-2008-0658, CVE-2007-6698
        OpenLDAPのslapdデーモンが、NOOPコントロールを含むmodifyとmodrdnリクエストをBerkeley DB (BDB)ストレージバックエンドに格納されていたオブジェクトへ送ってしまう問題を修正しています。権限を持ち認証を通過した攻撃者がこれらのLDAPオブジェクトにmodifyもしくはmodrdnリクエストを送るとslapdが異常終了するため、サービス拒否攻撃が可能となる問題です。
  • バックエンドデータベース:Berkeley DB (BDB) 4.8.30 を採用し、高性能・高品質
    • 高負荷でデータが破壊する、ハングアップする、リカバリできないなどの多くの不具合を修正しています。
  • 商用 Linux 同梱の OpenLDAP には同時接続数として 1024 または 4096 という制限がありますが、弊社製品は 16384 接続まで拡大してあり、大規模システムでの運用に適しています。
  • パスワードポリシーの強化
    • 通常の LDAP(ldapadd, ldapmodifyなどのコマンドや API)操作で userPassword 属性の追加・変更した場合は、指定された属性値がそのまま設定されます。
      平文パスワードであれば平文パスワードのまま、ハッシュ化されたパスワードであればハッシュ化されたパスワードのままです。
      OSSTech が提供する OpenLDAP ではパスワードポリシーオーバーレイモジュールを使うことで、平文パスワードの場合に自動的にハッシュ化してから格納させることが可能になります。
  • マルチ・マスター・レプリケーション対応(品質検証済み)
  • 高速で安定したシングル・マスター(syncrepl)レプリケーション対応(品質検証済み)
  • memberOf オーバーレイへの対応
    グループ情報に member 属性で所属するユーザー情報が加えられた時に、ユーザー情報の memberOf 属性に所属するグループ情報を自動追加できるため、アクセス制御などを高速化できます。
  • 10万~50万ユーザでの安定動作を検証済み
  • LDAP ベンチマーク(SLAMD)により、1秒間に LDAP データ検索 3万4千、LDAP データ追加性能 570件以上を達成

図1. OSSTech 製 OpenLDAP とオリジナル OpenLDAP/商用 LDAP 製品との LDAP 検索性能比較

図1.OSSTech 製 OpenLDAP とオリジナル OpenLDAP/商用 LDAP 製品との LDAP 検索性能比較

図2. OSSTech 製 OpenLDAP とオリジナル OpenLDAP/商用 LDAP 製品との LDAP データ追加性能比較

図2.OSSTech 製 OpenLDAP とオリジナル OpenLDAP/商用 LDAP 製品との LDAP データ追加性能比較

※ 性能測定環境

  • サーバー: Dell PowerEdge R710
  • CPU: Intel Xeon E5530 2.40GHz × 2個 (Quad Core、Hyper Threading 有効)
  • Memory: DDR3 32GB
  • HDD: SAS RAID5 構成
  • OS:Red Hat Enterprise Linux 5.4 (x86_64)

製品詳細

仕様詳細

OpenLDAP はディレクトリサービス、特に X.500 ベースのディレクトリサービスにアクセスするための軽量プロトコル LDAP をサポートした製品で、電話帳などを始めとするディレクトリサービス、マルチプラットフォームの認証統合を実現します。

LDAP は TCP/IP あるいは他の接続指向の転送サービスの上で動作し、LDAPv2 と LDAPv3 の両方をサポートしています。

OpenLDAP は LDAPv3 の持つ以下の機能をもっています。

  • SASL による厳密認証とデータセキュリティサービス
  • TLS (SSL) による証明書認証とデータセキュリティサービス
  • Unicode による国際化対応
  • 紹介(referral)と継続(continuation)
  • よく使われる一般的なLDAPスキーマを標準装備
  • ユーザーによる自由なスキーマ拡張が可能
  • 拡張性(コントロールや拡張操作など)

また、OpenLDAPは以下の特徴を持ちます。

  • IPv4 / IPv6 / Unix IPC をサポート。
  • Simple Authentication and Security Layer: SASL を利用して厳密認証とデータセキュリティ(完全性と機密性)サービスをサポート。
  • SASL の実装は、DIGEST-MD5, EXTERNAL, GSSAPI などの機構をサポートする Cyrus SASL ソフトウェアを利用しています。
  • Transport Layer Security: TLS (あるいは SSL)を利用して証明書ベースの認証とデータセキュリティ(完全性と機密性)サービスをサポートします。
  • アクセス制御:高度で強力なアクセス制御機能を提供します。この機能によりデータベース内の情報へのアクセスを制御できます。LDAP の認可情報、IP アドレス、ドメイン名などといった基準を基にしてエントリへのアクセスを制御でき、静的 と 動的 の両方のアクセス制御情報をサポートします。
  • 国際化
    • Unicode と言語タグをサポートします。
  • 複数のデータベース実体:同時に複数のデータベースを扱うように設定できます。つまり、LDAP ツリーの論理的に異なる部分についての要求に単一応答できます。この LDAP ツリーの各部には、同じバックエンドデータベースを使ってもよいですし、違うデータベースバックエンドを使ってもかまいません。
  • 汎用モジュール API: さらなるカスタム化が必要な場合を想定して、容易に独自のモジュールを書けるようになっています。 OpenLDAP はフロントエンドとモジュールの二つの部分から成っています。フロントエンドは LDAP クライアントとのプロトコル通信を処理します。モジュールはデータベース操作のような特定の作業を処理します。これら二つの部分の間では、よくできた C API を使ってやりとりされるので、多くの手段で拡張する独自のカスタムモジュールを開発できます。また、プログラム可能なデータベース も提供されています。これを使えば、人気のあるプログラミング言語 (Perl, shell) を使って外部のデータソースを OpenLDAP で扱えるようにできます。
  • スレッド: 高速化のためにスレッドに対応しています。マルチスレッド化された単一のプロセスが、スレッドのプールを用いてクライアントのすべての要求を処理します。これにより、多くのシステムのオーバヘッドを減らし、高速化を実現します。
  • 代理キャッシュ: slapd は キャッシュ LDAP 代理サービスとなるように設定できます。
  • 設定: slapd は高度に設定が可能です。設定は単一の設定ファイルをとおして行い、変更したいとこだけを変更できるようになっています。設定ディレクティブには妥当なデフォルト値を持っているので、設定作業が実に容易になっています。

オープンソース・ソリューション・テクノロジ株式会社独自の修正内容、改良項目

Red Hat Enterprise Linux に標準で同梱されている OpenLDAP に対し、以下の問題が修正されています。

  • 同時接続数拡大
    • OpenLDAP は既定で同時接続数として 1024 または 4096 という制限がありますが、弊社製品は 16384 接続まで拡大してあり、大規模システムでの運用に適しています。
  • BDB 破壊の防止
    • BerkeleyDB (BDB)のバージョンを最新の 4.8.30 にし、高負荷でデータが破壊する、ハングアップする、リカバリできないなどの多くの不具合を修正しています。
  • 数多くの不具合を修正
    • 非同期のスレーブ複製構成を取っている場合、大量の更新を行うとマスターサーバー側でメモリーリークが発生し、マスターサーバーが異常終了する問題を修正しています。(メモリーリークの修正)
  • memberOf オーバーレイへの対応
    グループ情報に member 属性で所属するユーザ情報が加えられた時に、ユーザー情報の memberOf 属性に所属するグループ情報を自動追加できるため、アクセス制御などを高速化できます。
  • LDAPNIS ゲートウェイ機能 (別途オプション)
    • LDAP DIT に登録されたユーザーやグループ情報を NIS サーバーに提供することができます。
    • NIS サーバーを LDAP に移行する際、LDAP に移行できない NIS クライアントに対応することができます。
  • パスワードポリシー機能の強化
OpenLDAP 2.4 Samba 3.x
パスワードポリシー機能 OSSTECH版 標準OpenLDAP *1 OSSTECH版 標準Samba *2
パスワードのハッシュ化 ○ *5
パスワードの有効期限の指定
パスワードの変更禁止期間の指定
パスワード最小文字数の指定
パスワードの期限切れの事前警告期間の指定 ○ *3 ○ *3 ○ *4 ○ *4
認証失敗時のアカウントロック
アカウントロックされる認証失敗回数の指定
アカウントロックが解除される期間指定
認証失敗回数のカウンターがリセットされる期間の指定
初回認証時のパスワード変更要求
パスワード履歴の記録 (履歴に残っているパスワードは使用不可能)
期限切れパスワードによる認証(bind)の最大回数指定 (パスワード有効期限が切れた後に許可するログインの回数) × ×
パスワードの複雑性のチェック △(最小文字数のみ) ×
パスワードに含まれる文字種の最小数指定 × ×
パスワードに含まれる英文字の最小数指定 × ×
パスワードに含まれる英大文字の最小数指定 × ×
パスワードに含まれる英小文字の最小数指定 × ×
パスワードに含まれる数字の最小数指定 × ×
パスワードに含まれる記号の最小数指定 × ×

※)注記

  • 1)標準 OpenLDAP とは、http://www.openldap.org/ で公開されているオリジナルソースを元にリリースされている Linux ディストリビューション付属のパッケージを指します。
  • 2)標準 Samba とは、http://www.samba.org/ で公開されているオリジナルソースを元にリリースされている Linux ディストリビューション付属のパッケージを指します。
  • 3) クライアント側が LDAP パスワードポリシーコントロールに対応している必要があります。
  • 4) Windows クライアントが Samba のドメインに参加している必要があります。 ワークグループ構成では利用できません。デフォルトではパスワード期限切れ14日前に通知されますが、これを変更するには Windows クライアントのレジストリを変更する必要があります。Samba サーバー側で設定することはできません。
  • *5) passwd コマンド(pam_ldap経由)や ldappasswd コマンド(RFC 3062 の LDAPv3 Password Modify extended operation)でパスワードを設定・変更する場合は新パスワードが平文パスワードのままサーバーに渡されてもサーバーが自動でハッシュ化して userPassword 属性に格納します。しかし、通常の LDAP (ldapadd, ldapmodify などのコマンドや API)操作で LDIF 形式 userPassword 属性の追加・変更した場合は、指定された属性値がそのまま設定されます。つまり、平文パスワードであれば平文パスワードのまま、ハッシュ化されたパスワードであればハッシュ化されたパスワードのままです。しかし、パスワードポリシー機能を使うことで、平文パスワードで格納しようとした時に自動的にハッシュ化 (SSHA, MD5 など) してから格納させることが可能です。

動作環境

製品をインストールできる OS

  • Red Hat Enterprise Linux 5 (x86, x86-64), 6 (x86-64)
    (CentOS, Scientific Linux 対応)
  • Oracle Solaris 10 Update 3 (11/06) 以降 (SPARC, x86)
  • IBM AIX 6.1 (POWER)

※ 上記以外の OS はお問い合わせ下さい。

製品パッケージ形式

Red Hat Enterprise Linux, Solaris, AIX すべて RPM (Red Hat Package Manager) 形式で提供します。

お申し込み・お問い合わせ

問い合わせ

© 2012 Open Source Solution Technology Corporation, All Rights Reserved.
お問い合わせ: info @ osstech.co.jp