13.3. システムパスワードの管理
「パスワードおよびウォッチドッグ (nuxwdog)」で説明されているように、Certificate System は、サーバーにバインドするパスワードを使用するか、サーバーの起動時にトークンのロックを解除します。
password.conf
ファイルには、システムパスワードがプレーンテキストで格納されます。ただし、一部の管理者はパスワードファイルを完全に削除して、nuxwdog が
最初に各パスワードの手動入力を要求し、予期しないシャットダウンが発生した場合に自動再起動のために保存できるようにすることを好みます。
Certificate System インスタンスが開始されると、サブシステムは自動的に
password.conf
ファイルをチェックします。ファイルが存在する場合は、それらのパスワードを使用して内部 LDAP データベースなどの他のサービスに接続します。そのファイルが存在しない場合は、ウォッチドッグデーモンは、PKI サーバーが起動するのに必要なすべてのパスワードを要求します。
注記
password.conf
ファイルが存在する場合、サブシステムは、必要なすべてのパスワードが存在し、クリアテキストで適切にフォーマットされていると想定します。パスワードが欠落しているか、フォーマットが間違っていると、システムは正しく起動できません。
必要なパスワードは、
cms.passwordlist
CS.cfg
ファイルのパラメーター:
cms.passwordlist=internaldb,replicationdb,CA LDAP Publishing cms.password.ignore.publishing.failure=true
注記
cms.password.ignore.publishing.failure
パラメーターを使用すると、LDAP 公開ディレクトリーのいずれかへの接続に失敗しても、CA サブシステムが正常に起動できるようになります。
CA、KRA、OCSP、および TKS サブシステムでは、デフォルトの予想されるパスワードは以下のとおりです。
- NSS データベースの 内部
- 内部 LDAP データベースの internaldb
- レプリケーションパスワードの replicationdb
- パブリッシュ用に外部 LDAP データベースにアクセスするためのパスワード (CA のみ)注記
password.conf
ファイルが削除された後にパブリッシャーが設定されている場合、password.conf
ファイルには何も書き込まれません。nuxwdog
が設定されていない場合、サーバーは、次回インスタンスが再起動したときに、新しいパブリッシングパスワードのプロンプトにアクセスできません。 - 外部のハードウェアトークンのパスワード
TPS の場合は、これにより 3 つのパスワードが要求されます。
- NSS データベースの 内部
- 内部 LDAP データベースの tokendbpass
- 外部のハードウェアトークンのパスワード
本セクションでは、Certificate System がこれらのパスワードを取得するメカニズムを 2 つ説明します。
password.conf
ファイル (デフォルト)- nuxwdog (watchdog)
13.3.1. password.conf ファイルの設定
注記
本セクションは参照用途としてのみ提供されています。正しく安全な操作には、
nuxwdog
ウォッチドッグの使用が必要です。を参照してください。「Certificate System の Watchdog サービスの使用」完全なコンプライアンスに必要な nuxwdog を
有効にします。
デフォルトでは、パスワードはサブシステムの
conf/
ディレクトリーにあるプレーンテキストファイル password.conf
に保存されます。したがって、テキストエディターを使用して変更できます。
このファイルに保存されているパスワードの一覧には、以下が含まれます。
- 内部データベースへのアクセスおよび更新に Certificate System インスタンスによって使用されるバインドパスワード。
- HSM のパスワード。
- 認証ディレクトリーにアクセスするために Certificate System インスタンスによって使用されるバインドパスワード (CMC Shared Token の場合)。
- LDAP 公開ディレクトリーにアクセスして更新するためにサブシステムによって使用されるバインドパスワード。これは、証明書および CRL を LDAP 準拠のディレクトリーに公開するように設定されている場合にのみ必要です。
- サブシステムがレプリケーションデータベースにアクセスするために使用するバインドパスワード。
- TPS インスタンスでは、トークンデータベースへのアクセスおよび更新に使用されるバインドパスワード。
password.conf
ファイルには、サブシステムの秘密鍵を開くために必要なトークンパスワードも含まれています。
サブシステムに使用する名前と場所のパスワードファイルは、
CS.cfg
ファイルで設定されます。
passwordFile=/var/lib/pki/instance_name/conf/password.conf
内部パスワードストアとレプリケーションデータベースには、サブシステムのインストールと設定時に設定されたランダムに生成された PIN があります。内部 LDAP データベースのパスワードは、インスタンスの設定時に管理者によって定義されました。
password.conf
ファイルのパスワードエントリーの形式は次のとおりです。
name=password
以下に例を示します。
internal=413691159497
HSM トークンが必要な場合は、以下の形式を使用します。
hardware-name=password
以下に例を示します。
hardware-NHSM6000=MyHSM$S8cret
password.conf
ファイルの内容の例:
internal=376577078151 internaldb=secret12 replicationdb=1535106826 hardware-NHSM6000=MyHSM$S8cret
13.3.2. Certificate System の Watchdog サービスの使用
Certificate System では、ウォッチドッグサービスを使用して、開始するためにセキュリティーデータベースにアクセスするためにパスワードを必要とするサービスを開始します。暗号化されていないパスワードをシステムに保存しないという要件がある場合、ウォッチドッグサービスは次のようになります。
- サーバーの起動時に関連するパスワードを要求し、そのメッセージをキャッシュします。
- クラッシュが原因でサーバーが自動的に再起動される場合に、キャッシュされたパスワードを使用します。
13.3.2.1. Watchdog サービスの有効化
ウォッチドッグサービスを有効にするには、以下を実行します。
- このホストで Shared Secret 機能を使用する場合は、「CMC 共有シークレット機能の有効化」 の説明に従って Shared Secret 機能を有効にします。
/var/lib/pki/instance_name/conf/
ディレクトリーからserver.xml
およびpassword.conf
ファイルをバックアップします。以下に例を示します。# cp -p /var/lib/pki/instance_name/conf/server.xml /root/ # cp -p /var/lib/pki/instance_name/conf/password.conf /root/
- Certificate System インスタンスのサービスを停止し、無効にします。
# systemctl stop pki-tomcatd@instance_name.service # systemctl disable pki-tomcatd@instance_name.service
- Hardware Security Module (HSM) を使用する場合は、ウォッチドッグサービスを有効にして、ハードウェアトークンのパスワードを入力するようにします。
- ハードウェアトークンの名前を表示します。
# egrep "^hardware-" /var/lib/pki/instance_name/conf/password.conf hardware-HSM_token_name=password
上記の例で強調表示された文字列は、ハードウェアトークン名です。 - 追加
cms.tokenList
パラメーターを/var/lib/pki/instance_name/conf/ca/CS.cfg
ファイルに追加し、それをハードウェアトークンの名前に設定します。以下に例を示します。cms.tokenList=HMS_token_name
- インスタンスのウォッチドッグ設定を有効にします。
# pki-server instance-nuxwdog-enable instance_name
または、すべてのインスタンスでウォッチドッグを有効にします。# pki-server nuxwdog-enable
詳細は、pki-server-nuxwdog(8) の man ページを参照してください。 - デフォルトでは、
nuxwdog
は、TOMCAT_USER
/etc/sysconfig/pki-tomcat
ファイルの変数。必要に応じて、ユーザーおよびグループを変更する場合は、次のコマンドを実行します。- インスタンスのウォッチドッグ
systemd
ユニットファイルを/etc/systemd/system/
ディレクトリーにコピーします。# cp -p /usr/lib/systemd/system/instance_name-nuxwdog@.service /etc/systemd/system/
注記/etc/systemd/system/
ディレクトリー内のユニットファイルは優先度が高く、更新中に置き換えられません。 - 次のエントリーを
[Service]
/etc/pki/instance_name/nuxwdog.conf
ファイルのセクション:User new_user_name
systemd
設定をリロードします。# systemctl daemon-reload
- ウォッチドッグを使用する Certificate System サービスを有効にします。
# systemctl enable pki-tomcatd-nuxwdog@instance_name.service
- 必要に応じて、「Certificate System の Watchdog が有効になっていることの確認」を参照してください。
- Certificate System インスタンスを起動するには、以下のコマンドを実行してプロンプトを入力します。
# systemctl start pki-tomcatd-nuxwdog@instance_name.service
13.3.2.2. Watchdog が有効になっている Certificate System の起動および停止
Certificate System インスタンスの管理方法は、「実行管理 (systemctl)」を参照してください。
13.3.2.3. Certificate System の Watchdog が有効になっていることの確認
ウォッチドッグサービスが有効になっていることを確認するには、次のコマンドを実行します。
- pki-tomcatd-nuxwdog サービスが有効になっていることを確認します。
# systemctl is-enabled pki-tomcatd-nuxwdog@instance_name.service enabled
- pki-tomcatd サービスが無効になっていることを確認します。
# systemctl is-disabled pki-tomcatd@instance_name.service disabled
/etc/pki/instance_name/server.xml
ファイル内:- であることを確認してください
passwordFile
パラメーターは、CS.cfg
ファイルを参照します。以下に例を示します。passwordFile="/var/lib/pki/instance_name/ca/CS.cfg"
- であることを確認してください
passwordClass
パラメーターはcom.netscape.cms.tomcat.NuxwdogPasswordStore
に設定されています:passwordClass="com.netscape.cms.tomcat.NuxwdogPasswordStore"
13.3.2.4. Watchdog サービスの無効化
ウォッチドッグサービスを無効にするには、次のコマンドを実行します。
- ウォッチドッグを使用する Certificate System インスタンスのサービスを停止して無効にします。
# systemctl stop pki-tomcatd-nuxwdog@instance_name.service # systemctl disable pki-tomcatd-nuxwdog@instance_name.service
- インスタンスのウォッチドッグなしで通常のサービスを有効にします。
# pki-server instance-nuxwdog-disable instance_name
- インスタンスのウォッチドッグ設定を無効にします。
# systemctl enable pki-tomcatd@instance_name.service
詳細は、pki-server-nuxwdog(8) の man ページを参照してください。 password.conf
ファイルを元の場所に復元します。以下に例を示します。# cp /root/password.conf.bak /var/lib/pki/instance_name/conf/password.conf
- Certificate System インスタンスを起動します。
# systemctl start pki-tomcatd@instance_name.service