第25章 認証および相互運用性
Directory Server は、NSS でサポートされるすべての暗号を使用した証明書をサポートするようになりました。
Directory Server の制限により、管理者は RSA 暗号と Fortezza 暗号のみを使用できました。その結果、ECC 証明書など、別の暗号で作成された証明書はサポートされませんでした。この更新により、この制限が削除されます。その結果、管理者は、Directory Server で TLS を設定するときに、基盤となるネットワークセキュリティーサービス (NSS) データベースでサポートされているすべての暗号を含む証明書を使用できるようになりました。(BZ#1582747)
Directory Server は CSN を正しく生成します
Directory Server レプリケーショントポロジーでは、タイムスタンプに基づいて変更シーケンス番号 (CSN) を使用して更新が管理されます。新しい CSN は、レプリカ更新ベクトル (RUV) に存在する最も高い CSN よりも高くなければなりません。サーバーが最新の CSN と同じ秒内に新しい CSN を生成する場合、シーケンス番号は確実に大きくなるように増加されます。ただし、最新の CSN と新しい CSN が同一である場合、シーケンス番号は増加しませんでした。この状況では、新しい CSN は、レプリカ ID を除いて、最新のものと同一でした。その結果、特定の状況では、ディレクトリー内の新しい更新が最新の更新よりも古いものとして表示されました。今回の更新により、Directory Server はシーケンス番号が最新の番号以下の場合に CSN を増やします。その結果、新しい更新は最新のデータよりも古いとは見なされなくなりました。(BZ#1559945)
client-cert-request
ユーティリティーが ECC 証明書の CSR の作成に失敗しなくなりました
以前は、Certificate System の
client-cert-request
ユーティリティーの generatePkcs10Request
メソッドは、曲線と長さのパラメーターをマッピングできませんでした。その結果、ユーティリティーは楕円曲線暗号 (ECC) 証明書の証明書署名要求 (CSR) を作成できませんでした。この問題が修正されました。その結果、client-cert-request
を使用して ECC 証明書の CSR を作成すると、期待どおりに機能します。(BZ#1549632)
pkiconsole
ユーティリティーは、空の式を含む ACL を受け入れなくなりました
Certificate System サーバーは、無効なアクセスコントロールリスト (ACL) の保存を拒否します。その結果、空の式を含む ACL を保存すると、サーバーは更新を拒否し、
pkiconsole
ユーティリティーは StringIndexOutOfBoundsException
エラーを表示しました。今回の更新により、ユーティリティーは空の ACL 式を拒否します。その結果、無効な ACL は保存できなくなり、エラーは表示されなくなります。(BZ#1987373)
ECC キーを使用した CMC CRMF リクエストが正しく動作する
以前は、検証中に、Certificate System が CMC 証明書要求メッセージフォーマット (CRMF) 要求の ECC 公開キーを誤ってエンコードしていました。その結果、CRMF の Certificate Management over CMS (CMC) を使用した ECC 証明書の要求は失敗しました。この問題は修正され、その結果、ECC キーを使用した CMC CRMF リクエストは期待どおりに機能します。(BZ#1580394)
ECC キーを使用した Certificate System サブシステムのインストールが失敗しなくなりました
以前は、Certificate System のインストール手順のバグにより、ECC キーを使用した Key Recovery Authority (KRA) のインストールが失敗していました。この問題を解決するために、RSA サブシステムと ECC サブシステムの両方を自動的に処理するようにインストールプロセスが更新されました。その結果、ECC キーを使用したサブシステムのインストールは失敗しなくなりました。(BZ#1568615)
Directory Server クライアントは、匿名リソース制限によってランダムに制限されなくなりました
以前は、Directory Server は最初の操作、bind または接続がいつ開始されたかを記憶していませんでした。その結果、サーバーは特定の状況で認証されたクライアントに匿名リソース制限を適用しました。この更新により、Directory Server は認証されたクライアント接続を適切にマークします。その結果、正しいリソース制限が適用され、認証されたクライアントは匿名のリソース制限によってランダムに制限されなくなります。(BZ#1515190)
Directory Server のスレッド処理がシリアル化されました
受信レプリケートセッションでは、レプリケート操作は、前の操作が完了した場合にのみ処理する必要があります。特定の状況では、セッション開始操作を処理したスレッドが、レプリケートされた操作の読み取りと処理を継続しました。その結果、2 つのレプリケート操作が並行して実行され、親エントリーが追加される前に子の add 操作が完了するなどの不整合が発生しました。今回の更新により、セッション開始操作を処理するスレッドは、読み取りバッファーで一部の操作が利用可能な場合でも、それ以降の操作を処理しなくなりました。その結果、前述のシナリオでは不一致は発生しなくなります。(BZ#1552698)
Directory Server の memberOf 属性の削除が正しく機能する
管理者が Directory Server 内のグループをあるサブツリーから別のサブツリーに移動すると、
memberOf
プラグインは古い値を持つ memberOf 属性を削除し、影響を受けるユーザーエントリーに新しいグループの識別名 (DN) を持つ新しい memberOf 属性を追加します。以前は、古いサブツリーが memberOf
プラグインのスコープ内にない場合、値が存在しないため、古い memberOf 属性の削除は失敗していました。その結果、プラグインは新しい memberOf 値を追加せず、ユーザーエントリーに不正な memberOf 値が含まれていました。今回の更新により、プラグインは古い値を削除するときにリターンコードをチェックするようになりました。戻りコードが no such value である場合、プラグインは新しい memberOf 値のみを追加します。結果として、memberOf 属性情報は正しいことになります。(BZ#1551071)
PBKDF2_SHA256 パスワード記憶スキームが Directory Server で使用できるようになりました
Red Hat Directory Server インスタンスがバージョン 10.1.0 以前を使用してインストールされ、その後更新された場合、更新スクリプトはパスワードベースのキー導出関数バージョン 2 (PBKDF2) プラグインを有効にしませんでした。その結果、PBKDF2_SHA256 パスワード保存スキームは 、nsslapd-rootpwstoragescheme および passwordStorageScheme パラメーターで使用できませんでした。この更新により、プラグインが自動的に有効になります。その結果、管理者は PBKDF2_SHA256 パスワード保存スキームを使用できるようになりました。(BZ#1576485)
アクティブリストから接続を削除しても Directory Server がクラッシュしなくなりました
Directory Server は、確立された接続をアクティブリストで管理します。スレッドが接続にクローズのフラグを立てると、サーバーは接続にアクティブなスレッドがなくなるまで待機して、アクティブリストから接続を削除します。状況によっては、アクティブなスレッドの数が実際のスレッド数よりも少なくなることがあります。このシナリオでは、Directory Server は接続をアクティブリストから移動し、無効としてフラグを立てます。接続が無効であることを検出した残りの別のスレッドも、その接続をアクティブリストから削除しようとします。ただし、アクティブリストから接続を削除するコードは、接続に有効なリストポインターがあることを前提としています。接続がアクティブリストにないためにポインターが無効な場合、Directory Server は予期せず終了します。今回の更新により、サーバーはリストポインターを使用する前に、リストポインターが有効であることを確認するようになりました。その結果、アクティブリストから接続を削除しようとしてもサーバーがクラッシュしなくなりました。(BZ#1566444)
ディスク監視機能は、ディスク容量が不足すると Directory Server をシャットダウンします。
Directory Server のエラーログレベルの設定方法が変更されたため、Directory Server のディスク監視機能は、エラーログレベルがデフォルトレベルに設定されていることを検出できませんでした。その結果、ファイルシステムがいっぱいになったときに Directory Server が正しくシャットダウンされませんでした。ディスク監視機能がエラーレベルをチェックする方法が更新されました。その結果、ディスク容量が少ない場合、ディスク監視はサーバーを正しくシャットダウンするようになりました。(BZ#1568462)
Directory Server は、entrydn 属性で存在しない DN を検索するときに警告を記録しなくなりました
以前は、entrydn 属性に設定された存在しない識別名 (DN) を検索すると、Directory Server がエラーログに警告を記録していました。この更新により、サーバーは、entrydn 属性が一致を見つけられなかった場合の状況を正しく処理できるようになりました。その結果、サーバーは誤解を招く警告をログに記録しなくなりました。(BZ#1570033)
CRYPT
パスワード保存スキームを使用しているときに pwdhash
ユーティリティーがクラッシュしなくなりました
以前は、
pwdhash
ユーティリティーは、CRYPT
パスワード保存スキームを使用してハッシュを作成するときに、無効なミューテックスロックを使用していました。その結果、pwdhash
はセグメンテーション違反エラーで失敗しました。今回の更新により、ユーティリティーはロックを必要としない再入可能形式の crypt() 関数を使用するようになりました。その結果、CRYPT
パスワード保存スキームを使用しているときに pwdhash
がクラッシュしなくなりました。(BZ#1570649)
Directory Server Pass-through
プラグインは、STARTTLS
コマンドを使用した暗号化接続をサポートするようになりました。
以前は、
STARTTLS
コマンドを使用して暗号化が開始された場合、Directory Server の Pass-through
プラグインは暗号化された接続をサポートしていませんでした。この問題は修正され、Pass-through
プラグインは STARTTLS
コマンドを使用する接続をサポートするようになりました。(BZ#1581737)
chain on update が有効になっている場合、パスワードポリシー機能の使用は正しく機能します。
Directory Server 読み取り専用コンシューマーでは、パスワードを変更する必要があるユーザーをマークするフラグが接続自体に設定されているため、
Password must be changed after reset
パスワードポリシー設定が強制されませんでした。この設定が chain on update 機能で使用された場合、フラグは失われていました。その結果、パスワードポリシー機能は動作しませんでした。この更新により、サーバーは chain on update 接続プロパティーのフラグを適切に設定します。その結果、パスワードポリシー機能は正しく動作します。(BZ#1582092)
Directory Server で詳細なパスワードポリシーが有効になっている場合のパフォーマンスの向上
検索で shadowAccount エントリーが評価されると、Directory Server はエントリーにシャドウ属性を追加します。詳細なパスワードポリシーが有効な場合、shadowAccount エントリーに独自の pwdpolicysubentry ポリシー属性を含めることができます。以前は、この属性を取得するために、サーバーは各 shadowAccount エントリーの内部検索を開始していましたが、エントリーはすでにサーバーに認識されていたため、これは不要でした。今回の更新により、Directory Server は、エントリーが不明な場合にのみ内部検索を開始します。その結果、応答時間やスループットなどの検索のパフォーマンスが向上します。(BZ#1593807)
Directory Server は、最初のセッションの開始時にレプリカバインド DN グループのメンバーを取得するようになりました。
Directory Server レプリカは、レプリカ自体に更新を複製する権限のあるエントリーを定義します。エントリーが nsds5replicabinddngroup 属性に設定されたグループのメンバーである場合、グループは nsDS5ReplicaBindDnGroupCheckInterval 属性に設定された間隔に基づいて定期的に取得されます。サーバーがグループを取得した時点でエントリーがメンバーではない場合、このエントリーを使用して認証されたセッションには更新をレプリケートする権限がありません。この動作は、エントリーがグループのメンバーになり、サーバーが再度グループを取得するまで続きます。その結果、nsDS5ReplicaBindDnGroupCheckInterval に設定された最初の間隔の間、レプリケーションは失敗します。この更新により、サーバーはレプリカの作成時ではなく、最初のセッションの開始時にグループを取得します。その結果、グループは最初のチェック時に考慮されます。(BZ#1598478)
default
という名前での Directory Server バックエンドの作成がサポートされるようになりました。
以前は、
default
という名前が Directory Server で予約されていました。その結果、default
という名前のバックエンドの作成に失敗しました。今回の更新により、Directory Server はこの名前を予約しなくなり、管理者は default
という名前のバックエンドを作成できるようになりました。(BZ#1598718)
Directory Server SNMP MIB 定義の更新
以前は、389-ds-base パッケージによって提供される簡易ネットワーク管理プロトコル (SNMP) 管理情報ベース (MIB) 定義は、RFC 2578 で定義されている管理情報バージョン 2 (SMIv2) の構造に準拠していませんでした。その結果、
lint
ユーティリティーはエラーを報告しました。定義が更新され、その結果、MIB 定義は SMIv2 仕様 (BZ# 1525256) に準拠するようになりました。
rpc.yppasswdd
は SELinux
が無効になっている場合でもパスワードを更新するようになりました
以前は、
SELinux
セキュリティーモジュールがシステムで無効になっている場合、rpc.yppasswdd
更新関数は更新アクションを実行できませんでした。その結果、rpc.yppasswdd
はユーザーパスワードを更新できませんでした。今回の更新により、rpc.yppasswdd
は、passwd
ファイルの SELinux
コンテキストタイプを検出する前に、システムで SELinux
が有効になっているかどうかをチェックします。その結果、rpc.yppasswdd
は、説明されているシナリオでパスワードを正しく更新するようになりました。(BZ#1492892)
nsslapd-enable-nunc-stans パラメーターのデフォルトが off に変更されました
以前は、nucn-stans フレームワークが Directory Server でデフォルトで有効になっていましたが、このフレームワークは安定していません。その結果、デッドロックやファイル記述子のリークが発生する可能性があります。この更新により、nsslapd-enable-nunc-stans パラメーターのデフォルト値が off に変更されます。その結果、Directory Server は安定しました。(BZ#1614501)