データがディスクに格納されている間は属性を暗号化してデータを保護できます。暗号化属性はサーバ固有の機能です。この機能は、銀行顧客のクレジットカード番号のような機密データを保護する必要がある場合に使用できます。
属性を暗号化すると、属性値がエンコードされます。たとえば、DIBに格納されている属性empnoを暗号化するとします。empno=1000である場合、属性値(1000)はクリアテキスト形式ではディスクに保存されません。この暗号化された値は、セキュリティ保護されたチャネルからディレクトリにアクセスした場合にのみ読み取ることができます。
方式内のすべての属性に対して暗号化を有効にすることができます。ただし、共通名(CN)属性に対してではなく、重要なデータに対してのみ暗号化を有効にすることをお勧めします。暗号化する属性の決定については、「データを暗号化するときにデータの完全な安全性を確保する」を参照してください。
Publicおよびサーバが読み込める暗号化属性へのアクセスに制限はありません。つまり、クライアントはクリアテキストを使用してこれらの属性にアクセスすることができ、ユーザはこれらの暗号化用の属性にDIBレベルでマークすることができます。スキーマで「パブリック読込み」フラグが設定されている属性に対して暗号を有効にしても、セキュアではない手段によるその属性へのアクセスは防止されません。
図 11-1 暗号化属性
eDirectory内のデータは次の方法で保存できます。
DIB(Data Information Base)またはデータベースに保存
バックアップデータとして保存
LDIFファイル
属性を暗号化するには、暗号化属性ポリシーを作成してサーバに適用します。
属性を暗号化するには、iManagerで次の操作を実行します。
暗号化属性ポリシーを作成して定義します。
暗号化する属性を選択します。
属性の暗号化スキームを選択します。
詳細については、「暗号化属性ポリシーを作成して定義する」を参照してください。
サーバに暗号化属性ポリシーを適用します。
詳細については、「暗号化属性ポリシーを適用する」を参照してください。
LDAPを使用して属性を暗号化することもできます。
詳細については、「LDAPを使用して暗号化属性ポリシーを管理する」を参照してください。
メモ:暗号化属性ポリシーの割り当ては、リンバの実行時に有効になります。
ベストプラクティスとして、次の推奨事項に従うことをお勧めします。
暗号化する属性のうち、重要な属性のみをマークします。暗号化する属性すべて(パブリックやサーバが読み込める属性など)にマークはしないでください。
暗号化する属性をマークする場合は、強力な暗号化アルゴリズムであるAESを使用してください。
このセクションでは、次の情報について説明します。
eDirectory では、属性のセキュリティを確保するために、次の暗号化方式がサポートされています。
AED(Advanced Encryption Standard)
トリプルDES
DES(Data Encryption Standard)
1つの暗号化属性ポリシーに含まれる各属性に対して、個別に暗号化方式を選択することもできます。たとえば、EP1という暗号化属性ポリシーに含まれる属性cubenoに対しては暗号化方式としてAESを選択し、属性empnoに対してはトリプルDESを選択することができます。詳細については、「暗号化属性ポリシーを作成して定義する」を参照してください。
属性の暗号化方式を変更するには、暗号化属性ポリシーを編集します。暗号化されている属性を復号化することもできます。詳細については、「暗号化属性ポリシーを編集する」を参照してください。
レプリカリング内の各サーバに対して、個別に暗号化方式を選択することもできます。たとえば、属性を暗号化する際に、Server1ではAESを使用し、Server2ではトリプルDESを使用し、Server3では暗号化方式を使用しないというような設定が可能です。
ポリシーを作成して定義し、サーバに適用することで、属性の暗号化を管理できます。
暗号化属性ポリシーを定義するには、暗号化する属性と暗号化方式を選択します。
図 11-2 属性を暗号化する
暗号化属性ポリシーの管理には、iManagerを使用できます。この節では、次のトピックについて説明します。
このセクションでは、次の手順について説明します。
暗号化属性がeDirectoryサーバに存在する場合、iManagerは次の方法で動作します。
クリアテキストまたはセキュリティで保護されたチャネルを介して、暗号化属性の読み込み、表示、修正を行うことはできません。
クリアテキストまたはセキュリティで保護されたチャネルでiManagerを介して、暗号化属性以外の属性を持つエントリの属性の読み込み、表示、修正を行うことはできません。これは、エントリ全体がブロックされていることを意味します。
iManagerで、[役割およびタスク]ボタン
をクリックします。
[eDirectoryの暗号化]>[Encryption Attributes]の順にクリックします。
暗号化属性ポリシー管理ウィザードで、[ポリシーの作成、編集、および割り当てを行います]を選択します。
暗号化属性ポリシー管理ウィザードの指示に従って、ポリシーを作成し定義します。
ウィザードの各段階で、[ヘルプ]が利用できます。
iManagerで、[役割およびタスク]ボタン
をクリックします。
[eDirectoryの暗号化]>[Encryption Attributes]の順にクリックします。
暗号化属性ポリシー管理ウィザードで、[ポリシーの編集]を選択します。
暗号化属性ポリシー管理ウィザードの指示に従って、ポリシーを編集します。
ウィザードの各段階で、[ヘルプ]が利用できます。
iManagerで、[役割およびタスク]ボタン
をクリックします。
[eDirectoryの暗号化]>[Encryption Attributes]の順にクリックします。
暗号化属性ポリシー管理ウィザードで、[ポリシーの作成、編集、および割り当てを行います]を選択します。
暗号化属性ポリシー管理ウィザードの指示に従って、ポリシーを適用します。
ウィザードの各段階で、[ヘルプ]が利用できます。
iManagerで、[役割およびタスク]ボタン
をクリックします。
[eDirectoryの暗号化]>[Encryption Attributes]の順にクリックします。
暗号化属性ポリシー管理ウィザードで、[ポリシーの削除]を選択します。
暗号化属性ポリシー管理ウィザードの指示に従って、ポリシーを削除します。
ウィザードの各段階で、[ヘルプ]が利用できます。
重要:暗号化属性を管理するには、LDAPではなくiManagerを使用することを強くお勧めします。
このセクションでは、次の手順について説明します。
メモ:LDIFで暗号化する属性をマーキングする場合は、属性と方式のリストではなく、属性と方式のペアを指定する必要があります。これは暗号化属性に付随する現行の制約です。
暗号化属性ポリシーを作成します。
たとえば、AE Policy- test-serverという暗号化属性ポリシーの場合は次のようになります。
dn: cn=AE Policy - test-server, o=novell changetype: add objectClass: encryptionPolicy
作成したポリシーオブジェクトにattrEncryptionDefinition属性を追加して、暗号化する属性をマーキングします。
たとえば、暗号化する属性の名前がCRIDの場合は、次のように暗号化方式と属性名を指定します。
dn: cn=AE Policy - test-server, o=novell changetype: modify add: attrEncryptionDefinition attrEncryptionDefinition: aes$CRID
メモ:属性名の指定には、その属性のNDS名を使用します。eDirectoryでは多くの属性がLDAP名とNDS名の両方を持っています。ここでは、NDS名を必要とする属性名を指定してください。
attrEncryptionRequiresSecure属性をポリシーに追加します。
この属性の値によって、暗号化属性にアクセスする際にセキュリティ保護されたチャネルの使用を常に要求するかどうかが指定されます。この値が0の場合、常には要求しないことを示します。この値が1の場合は、常に要求することを示します。
次に例を示します。
dn: cn=AE Policy - test-server, o=novell changetype: modify add: attrEncryptionRequiresSecure attrEncryptionRequiresSecure: 0
NCPサーバにポリシーを関連付けます。
test-serverというNCPサーバの場合は次のようになります。
dn: cn=test-server, o=novell changetype: modify add: encryptionPolicyDN encryptionPolicyDN: cn=AE Policy - test-server, o=novell
次のLDIFファイルは、attrEncryptionRequireSecure属性の値を変更することで暗号化属性ポリシーを編集する方法を示しています。
dn: cn=AE Policy - test-server, o=novell changetype: modify replace: attrEncryptionRequiresSecure attrEncrytionRequiresSecure: 1
次のLDIFファイルは、AE Policy-test-serverという暗号化属性ポリシーをtest-serverというサーバに適用する方法を示しています。
dn: cn=test-server, o=novell changetype: modify add: encryptionPolicyDN encryptionPolicyDN: cn=AE Policy - test-server, o=novell
次のLDIFファイルは、暗号化属性ポリシーを削除する方法を示しています。
dn: cn=AE Policy - test-server, o=novell changetype: delete
メモ:LDAPを使用して暗号化属性を管理する方法の詳細については、LinuxでのLDAPツールの使用およびNetIQインポート/エクスポート変換ユーティリティを参照してください。
暗号化属性ポリシーをコピーして多数のサーバにまったく同じ設定内容を反映させることができます。ポリシーは、オブジェクトとしてeDirectoryに保存されます。
iManagerを使用してポリシーオブジェクトをコピーする手順については、オブジェクトをコピーするを参照してください。
2つのパーティションをマージすると、ペアレントのポリシーがマージ後のパーティションで保持されます。パーティションを分割すると、ペアレントのポリシーがチャイルドパーティションに継承されます。
推奨: eDirectoryは、暗号化のマークが付いているべきでない、いくつかの属性を内部操作用に保管しています。これらの属性に暗号化のマークが付けられると、eDirectoryの一部の機能が壊れるか、期待通りの動作をしなくなる可能性があります。
暗号化のマークを付けてはならない属性は次のとおりです。
federationBoundaryType
ボリューム
ACL
federationBoundary
member
federationControl
federationSearchPath
encryptionPolicyDN
indexDefinition
dgIdentity
dgAllowUnknown
agTimeout
Host Server
hostResourcePath
ndsPredicateState
ndsStatusExternalReference
ndsStausLimber
ndsStatusSchema
上記のリストはすべてを網羅しているわけではありませんが、ここにリストされた属性と同様の属性には、暗号化のマークを付けないでください。
属性を暗号化すると、暗号化属性へのアクセスも保護されます。これは、eDirectoryが、暗号化された属性へのアクセスを、セキュアチャネル(LDAPセキュアチャネル、NCPセキュアチャネルなど)経由のみに制限できるからです。ただし、セキュアNCP接続を作成するために使用するDClientアプリケーションは一般利用者向けには提供されていないので、NCP接続を設定して使用できるのは、NetIQの内部顧客に限られます。
また、バックアップ(ndsbackup)ユーティリティを使用して、暗号化属性をバックアップすることもできます。
デフォルトでは、セキュリティ保護されたチャネルからしか暗号化属性にアクセスできません。
ただし、クライアントがクリアテキストで暗号化属性にアクセスできるようにするには、[常にセキュアチャネルが必要]オプションを無効にする必要があります。詳細については、クリアテキストチャネルから暗号化属性へのアクセスを有効/無効にするを参照してください。
iManagerまたはLDAPのいずれかを使用して、[常にセキュアチャネルが必要]オプション(つまり、attrEncryptionRequireSecure属性)を有効または無効にすることで、クリアテキストチャネルから暗号化属性へのアクセスを有効または無効にすることができます。
このセクションでは、次のことを説明します。
iManagerを使用してクリアテキストチャネルから暗号化属性へのアクセスを有効または無効にするには、次の作業を行う際に、暗号化属性ポリシー管理ウィザードで[常にセキュアチャネルが必要]を有効または無効にします。
LDAPを使用してクリアテキストチャネルから暗号化属性へのアクセスを有効にするには、次の属性を暗号化属性ポリシーに追加します。
attrEncryptionRequiresSecure
この属性を0に設定すると、セキュリティ保護されたチャネルを必ずしも使用する必要はなくなります。つまり、クリアテキストチャネルから暗号化属性にアクセスできます。この属性を1に設定すると、セキュリティ保護されたチャネルの使用が常に要求されるようになります。つまり、セキュリティ保護されたチャネルからのみ暗号化属性にアクセスできます。
詳細については、「ステップ 3」を参照してください。
暗号化されている属性が表示されるかどうかは、[常にセキュアチャネルが必要]オプションが有効になっているかどうかによって決定されます。つまり、暗号化属性にアクセスする際にセキュリティ保護されたチャネルを使用するかどうかによって決まります。
[常にセキュアチャネルが必要]が有効になっている場合は、暗号化属性を表示できません。エラー「–6089」が返されます。これは、暗号化属性にアクセスする際にセキュリティ保護されたチャネルを使用する必要があることを示しています。
[常にセキュアチャネルが必要]が無効になっている場合は、iManagerで暗号化属性値を表示できます。
詳細については、ツリー内のオブジェクトの参照を参照してください。
[常にセキュアチャネルが必要]オプションが有効になっている場合、つまり、暗号化属性にアクセスする際にセキュリティ保護されたチャネルの使用が常に要求される場合は、暗号化されたエントリの属性を表示することはできません。ただし、暗号化されていないエントリの属性は表示できます。
暗号化属性にアクセスする際にセキュリティ保護されたチャネルの使用を常に要求するように指定している場合は、NDS®値イベントがブロックされます。値イベントに関連するトラップの値データはNULLになり、結果は-6089に設定されます。これは、暗号化属性の値を取得するために、セキュリティ保護されたチャネルを使用する必要があることを示します。次のトラップの値データはNULLになります。
ndsAddValue
ndsDeleteValue
ndsDeleteAttribute
暗号化属性を含むサーバ上のデータをバックアップする際には、バックアップデータを暗号化または復号化するためのパスワードを入力するよう求められます。これには、バックアップユーティリティの-Eオプションを使用して簡単に対応できます。詳細については、ndsbackupのマニュアルページを参照してください。
データのバックアップの詳細については、「セクション 15.0, NetIQ eDirectoryのバックアップと復元」を参照してください。
暗号化属性を含むeDirectoryデータベースのクローンを作成すると、DIBファイルセットのクローンにも暗号化属性値が含まれます。DIBファイルセットのクローンに含まれる値を暗号化するには、eDirectoryで使用されるキーを保護するためのパスワードを設定する必要があります。DIBファイルセットのクローンを他のサーバに配置する際には、このパスワードの入力を求められます。
詳細については、DIBセットのクローンの使用事例を参照してください。
eDirectory サーバは、レプリカが格納されたいずれかのサーバまたはすべてのサーバ上で属性が暗号化されているかどうか、あるいは[常にセキュアチャネルが必要]が有効になっているかどうかに関わらず、レプリカリングに追加できます。
eDirectory サーバをレプリカリングに追加する際の詳細については、「レプリカを追加する」を参照してください。
暗号化属性にアクセスするには、iManager、SNMP、DirXML®、NSureAuditなどのすべてのeDirectoryユーティリティを、セキュリティ保護されたNCP™に変更する必要があります。変更しない場合は、暗号化属性にアクセスする際にセキュリティ保護されたチャネルの使用を要求しないように指定する必要があります。詳細については、「クリアテキストチャネルから暗号化属性へのアクセスを有効/無効にする」を参照してください。
eDirectoryをアップグレードする際は、暗号化属性ポリシーを作成して定義することで、既存の属性を暗号化できます。詳細については、暗号化属性ポリシーを管理するを参照してください。
デフォルトでは、サーバに暗号化属性が存在している場合でも、暗号化複製は無効になっています。暗号化属性を安全に複製するには、暗号化複製を有効にする必要があります。暗号化複製の設定については、「暗号化レプリケーション」を参照してください。