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