Kerberosパスワードの更新ガイドライン
Kerberosプリンシパルのパスワードは、定期的に変更する必要があります。これを行うには、kadmin.local
を使用して手動で指定するか、securityconfig
ツールのconfig renew-keytab
コマンドを使用して、プリンシパル・キーを自動的にランダム化できます。
このコマンドの構文は、次のとおりです。
config renew-keytab -root <secroot> [-secdir <security dir>]
[-keysalt <enc:salt[,enc:salt,..]>]
[-kadmin-path <kadmin utility path>]
[-instance-name <database instance name>]
[-admin-principal <kerberos admin principal name>]
[-kadmin-keytab <keytab file> ]
[-kadmin-ccache <credential cache file>]
説明:
-
-keysalt
作成される新しいキーすべてに使用する、暗号化タイプおよびsaltタイプのリストを設定します。デフォルト値は、
des3-cbc-sha1:normal,aes128-cts-hmac-sha1-96:normal,arcfour-hmac:normal
です。 -
-kadmin-path
Kerberos kadminユーティリティの絶対パスを示します。デフォルト値は
/usr/kerberos/sbin/kadmin
です。 -
-instance-name
サービス・プリンシパル名を指定します。デフォルト値は、Oracle NoSQL Databaseが実行されているストレージ・ノードの完全修飾ドメイン名(FQDN)です。
-
-admin-principal
Kerberos管理インタフェースにログインするために使用するプリンシパルを指定します。これは、kadminのキータブまたはパスワードを使用して管理インタフェースに接続する場合に必要となります。
-
-kadmin-keytab
Kerberos管理ユーザーのプリンシパルと暗号化されたキーが格納されるKerberosキータブ・ファイルの場所を指定します。セキュリティ構成ツールでは、指定されたキータブ・ファイルを使用して、Kerberos管理インタフェースにログインします。
キータブを使用してKerberos管理にログインする場合は、
-admin-principal
フラグを指定する必要があります。指定しないと、適切な管理プリンシパルが認識されません。このフラグを-kadmin-ccache
フラグと同時に指定することはできません。 -
-kadmin-ccache
kadmin/ADMINHOSTのサービス・チケットを含む、Kerberos資格証明のキャッシュ・ファイルの完全なパス名を指定します。
ADMINHOST
は、管理サーバーまたはkadmin/adminサービスの完全修飾ホスト名です。指定しない場合、ユーザーは、Kerberos管理インタフェースへのログイン中にプリンシパルのパスワードの入力を求められます。このフラグを
-kadmin-keytab
フラグと同時に指定することはできません。
Kerberosプリンシパル・パスワードを手動で更新するには、次のステップを実行する必要があります。
-
kadmin.localユーティリティを使用して、サービス・プリンシパル・パスワードを変更します。
kadmin.local: cpw nosql/myhost Enter password for principal nosql/myhost@EXAMPLE.COM Re-enter password for principal nosql/myhost@EXAMPLE.COM
-
Oracle NoSQL Databaseサービス・プリンシパルのキータブ・ファイルを再生成します。
kadmin.local: ktadd –norandkey –k new.keytab
-
Oracle NoSQL Databaseサービス・プリンシパルの新しいキータブ・ファイルを各ストレージ・ノードにコピーします。次に例を示します。
scp new.keytab kvuser@mystore:KVROOT/security/store.keytab ...
-
キー・バージョン番号(kvno)を比較して、キータブ・ファイルを検証します。
kadmin.local:getprinc nosql/myhost@EXAMPLE.COM Principal: nosql/myhost@EXAMPLE.COM Expiration date: [never] Last password change: Thu Jun 04 03:16:38 UTC 2015 Password expiration date: [none] Maximum ticket life: 1 day 00:00:00 Maximum renewable life: 0 days 00:00:00 Last modified: Thu Jun 04 03:16:38 UTC 2015 (root/admin@ORACLE.EXAMPLE.COM) Last successful authentication: [never] Last failed authentication: [never] Failed password attempts: 0 Number of keys: 4 Key: vno 12, aes256-cts-hmac-sha1-96 Key: vno 12, aes128-cts-hmac-sha1-96 Key: vno 12, des3-cbc-sha1 Key: vno 12, arcfour-hmac MKey: vno 1 Attributes: Policy: [none] Kadmin.local: quit # klist –k new.keytab KVNO Principal ---- ------------------------ 12 nosql/myhost@EXAMPLE.COM 12 nosql/myhost@EXAMPLE.COM 12 nosql/myhost@EXAMPLE.COM 12 nosql/myhost@EXAMPLE.COM
クライアント側のユーザー・プリンシパルには、同様のパスワード・ローテーションが必要です。データベースへのログインに使用するキータブまたは資格証明キャッシュは、更新する必要があります。kinit
ツールを使用して資格証明キャッシュを作成する場合は、kdestroy
を実行してキャッシュされたチケットをクリアし、kinitを再実行して新しい資格証明キャッシュを生成する必要があります。
次に例を示します。
# kdestroy –c /tmp/krb5ccache
# kinit –c /tmp/krb5ccache