第9章 レプリケーション変更ログの暗号化
攻撃者がサーバーのファイルシステムにアクセスできる場合は、レプリケーション changelog を暗号化してインスタンスのセキュリティーを強化します。
changelog 暗号化は、サーバーの TLS 暗号化キーと同じ PIN を使用してキーのロックを解除します。サーバーの起動時に PIN を手動で入力するか、PIN ファイルを使用する必要があります。
Directory Server は、無作為に生成された対称暗号キーを使用して、changelog を暗号化および復号化します。サーバーは、設定された暗号ごとに異なるキーを使用します。これらの鍵は、サーバーの TLS 証明書から公開鍵を使用してラップされ、生成したラップ済みキーがサーバーの設定ファイル内に保存されます。属性暗号化の効果的な強度は、ラップに使用されるサーバーの TLS キーの強度と同じです。サーバーの秘密鍵と PIN にアクセスできないと、ラップ済みのコピーから対称キーを復旧することができません。
9.1. コマンドラインを使用した changelog の暗号化
レプリケーショントポロジーのセキュリティーを向上させるには、サプライヤーおよびハブの changelog を暗号化します。この手順では、dc=example,dc=com
接尾辞に対して changelog 暗号化を有効にする方法を説明します。
前提条件
- サーバーの TLS 暗号化が有効になっている。
- ホストは、レプリケーショントポロジー内のサプライヤーまたはハブです。
手順
changelog(例:
/tmp/changelog.ldif
ファイル) をエクスポートします。#
dsconf -D "cn=Directory Manager" ldap://server.example.com replication export-changelog to-ldif -o /tmp/changelog.ldif -r "dc=example,dc=com"
dc=example,dc=com
接尾辞の変更ログの暗号化を有効にします。#
dsconf -D "cn=Directory Manager" ldap://server.example.com replication --suffix "dc=example,dc=com" --encrypt
/tmp/changelog.ldif
ファイルから changelog をインポートします。#
dsconf -D "cn=Directory Manager" ldap://server.example.com replication import-changelog from-ldif -r "dc=example,dc=com" /tmp/changelog.ldif
インスタンスを再起動します。
#
dsctl instance_name restart
検証
- エントリーの更新など、LDAP ディレクトリーに変更を加えます。
インスタンスを停止します。
#
dsctl instance_name stop
接尾辞とそれに対応するデータベースをリスト表示します。
#
dsconf -D "cn=Directory Manager" ldap://server.example.com backend suffix list
dc=example,dc=com (userroot)changelog の暗号化を有効にするデータベースの名前を書き留めておきます。
以下のコマンドを実行して、changelog の一部を表示します。
#
dbscan -f /var/lib/dirsrv/slapd-instance_name/db/userroot/replication_changelog.db | tail -50
changelog が暗号化されている場合は、暗号化されたデータのみが表示されます。
インスタンスを起動します。
#
dsctl instance_name start