web-dev-qa-db-ja.com

Dockerコンテナー内のKerberos KDCサーバー

私はMIT Kerberos KDCおよびKadminサーバーインスタンスをドッカーコンテナーで便宜上実行しています。重要な構成を抽出するだけで問題なく構築および実行でき、ドッカーボリュームを実行します。また、kldapモジュールを介してKDCをOpenLDAPに接続しています。

ただし、考えられる問題の1つは、再構築のたびにKDCが異なるキーチェーンなどを開始するため、古い認証が破られるように見えることです。これはすべて意味があり、問題ではありません。

私の質問:KDCの内部データベース(または資格情報の格納場所)をDockerボリュームに格納することは可能ですか?もしそうなら、私はどこを見るべきですか?

私の目標は、コンテナーの再構築に関係なく、古いコンテナーによって作成されたものと同じ古いKDCデータベースに接続できることです。これは可能ですか?

2
Nutle

設定ファイルkdc.confを確認してください。これにより、使用されているファイルの保存場所がわかります。

実行中にコンテナにexecし、kdc.confファイルを見つけます。また、krb5.confファイルには、他のファイルの場所が含まれます。

https://web.mit.edu/kerberos/krb5-1.12/doc/admin/conf_files/kdc_conf.html

kdc.conf The KDC configuration file contains configuration information for the KDC and admin servers. kadmind uses settings in this file to locate the Kerberos database, and is also affected by the acl_file, dict_file, kadmind_port, and iprop-related settings.

ホスト名の変更と異なるキーの生成で問題が発生する可能性があります。

以下のプロジェクトで行われた作業を見て、彼らがどのように行ったかを確認できます。彼らのソリューションは、MacOS(VirtualBoxを使用)上のDockerで実行されるHeimdal Kerberos 5です。 https://github.com/tillt/docker-kdc/blob/master/kdc

1
J Roysdon

docker run -v /var/local/docker-volumes/krb5kdc:/usr/local/var/krb5kdc <kdc_image>のように、ボリュームをコンテナのデフォルトのKDCデータベースパスにマウントするだけでは不十分ですか?または、コンテナーに別のマウントポイントが必要な場合は、kdc.confのレルム構成内でdatabase_nameオプションを指定できます。

1
patok