第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"
# dsconf -D "cn=Directory Manager" ldap://server.example.com 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 -D "cn=Directory Manager" ldap://server.example.com replication --suffix "dc=example,dc=com" --encrypt
# dsconf -D "cn=Directory Manager" ldap://server.example.com replication --suffix "dc=example,dc=com" --encryptCopy to Clipboard Copied! Toggle word wrap Toggle overflow /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
# dsconf -D "cn=Directory Manager" ldap://server.example.com replication import-changelog from-ldif -r "dc=example,dc=com" /tmp/changelog.ldifCopy to Clipboard Copied! Toggle word wrap Toggle overflow インスタンスを再起動します。
dsctl instance_name restart
# dsctl instance_name restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
- エントリーの更新など、LDAP ディレクトリーに変更を加えます。
インスタンスを停止します。
dsctl instance_name stop
# dsctl instance_name stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow 接尾辞とそれに対応するデータベースをリスト表示します。
dsconf -D "cn=Directory Manager" ldap://server.example.com backend suffix list dc=example,dc=com (userroot)
# dsconf -D "cn=Directory Manager" ldap://server.example.com 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 -50Copy to Clipboard Copied! Toggle word wrap Toggle overflow changelog が暗号化されている場合は、暗号化されたデータのみが表示されます。
インスタンスを起動します。
dsctl instance_name start
# dsctl instance_name startCopy to Clipboard Copied! Toggle word wrap Toggle overflow