14.3. システムパスワードの管理

「パスワードおよびウォッチドッグ (nuxwdog)」で説明されているように、Certificate System は、サーバーにバインドするパスワードを使用するか、サーバーの起動時にトークンのロックを解除します。
password.conf ファイルは、システムパスワードをプレーンテキストで保存します。ただし、一部の管理者は、パスワードファイルを完全に削除して、nuxwdog が各パスワードの手動入力を要求し、予定外のシャットダウンの場合は自動再起動を保存することを希望します。
Certificate System インスタンスが起動すると、サブシステムは自動的に password.conf ファイルを確認します。ファイルが存在する場合は、それらのパスワードを使用して内部 LDAP データベースなどの他のサービスに接続します。そのファイルが存在しない場合は、ウォッチドッグデーモンは、PKI サーバーが起動するのに必要なすべてのパスワードを要求します。
注記
password.conf ファイルが存在する場合、サブシステムでは必要なパスワードがすべて存在し、適切にフォーマットされたことを前提としています。パスワードが欠落しているか、フォーマットが間違っていると、システムは正しく起動できません。
必要なパスワードは、CS.cfg ファイルの cms.passwordlist パラメーターに一覧表示されます。
cms.passwordlist=internaldb,replicationdb,CA LDAP Publishing
cms.password.ignore.publishing.failure=true
注記
cms.password.ignore.publishing.failure パラメーターを使用すると、LDAP 公開ディレクトリーのいずれかへの接続に失敗しても、CA サブシステムが正常に起動できるようになります。
CA、KRA、OCSP、および TKS サブシステムでは、デフォルトの予想されるパスワードは以下のとおりです。
  • internal (NSS データベースの場合)
  • internaldb (内部 LDAP データベースの場合)
  • replicationdb (レプリケーションパスワードの場合)
  • パブリッシュ用に外部 LDAP データベースにアクセスするためのパスワード (CA のみ)
    注記
    パブリッシャーが password.conf ファイルの削除後に設定されている場合は、password.conf ファイルに書き込まれません。nuxwdog が設定されていない場合、サーバーは、次回インスタンスを再起動したときに新しい公開パスワードを要求するプロンプトにアクセスできません。
  • 外部のハードウェアトークンのパスワード
TPS の場合は、これにより 3 つのパスワードが要求されます。
  • internal (NSS データベースの場合)
  • tokendbpass (内部 LDAP データベースの場合)
  • 外部のハードウェアトークンのパスワード
本セクションでは、Certificate System がこれらのパスワードを取得するメカニズムを 2 つ説明します。
  • password.conf ファイル (デフォルト)
  • nuxwdog (watchdog)

14.3.1. password.conf ファイルの設定

注記
本セクションは参照用途としてのみ提供されています。正しい操作とセキュアな操作には、nuxwdog ウォッチドッグを使用する必要があります。完全なコンプライアンスに必要なため、nuxwdog を有効にするには 「Certificate System の Watchdog サービスの使用」 を参照してください。
デフォルトでは、パスワードは、サブシステム 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-NHSM-CONN-XC=MyHSM$S8cret
password.conf ファイルの内容の例:
internal=376577078151
internaldb=secret12
replicationdb=1535106826
hardware-NHSM-CONN-XC=MyHSM$S8cret

14.3.2. Certificate System の Watchdog サービスの使用

Certificate System では、ウォッチドッグサービスを使用して、開始するためにセキュリティーデータベースにアクセスするためにパスワードを必要とするサービスを開始します。暗号化されていないパスワードをシステムに保存しないという要件がある場合、ウォッチドッグサービスは次のようになります。
  • サーバーの起動時に関連するパスワードを要求し、そのメッセージをキャッシュします。
  • クラッシュが原因でサーバーが自動的に再起動される場合に、キャッシュされたパスワードを使用します。

14.3.2.1. Watchdog サービスの有効化

ウォッチドッグサービスを有効にするには、以下を実行します。
  1. このホストで Shared Secret 機能を使用する場合は、「CMC 共有シークレット機能の有効化」 の説明に従って Shared Secret 機能を有効にします。
  2. /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/
  3. Certificate System インスタンスのサービスを停止し、無効にします。
    # systemctl stop pki-tomcatd@instance_name.service
    # systemctl disable pki-tomcatd@instance_name.service
  4. Hardware Security Module (HSM) を使用する場合は、ウォッチドッグサービスを有効にして、ハードウェアトークンのパスワードを入力するようにします。
    1. ハードウェアトークンの名前を表示します。
      # egrep "^hardware-" /var/lib/pki/instance_name/conf/password.conf
      hardware-HSM_token_name=password
      上記の例で強調表示された文字列は、ハードウェアトークン名です。
    2. /var/lib/pki/instance_name/conf/ca/CS.cfg ファイルに cms.tokenList パラメーターを追加して、ハードウェアトークンの名前に設定します。以下に例を示します。
      cms.tokenList=HMS_token_name
  5. インスタンスのウォッチドッグ設定を有効にします。
    # pki-server instance-nuxwdog-enable instance_name
    または、すべてのインスタンスでウォッチドッグを有効にします。
    # pki-server nuxwdog-enable
    詳細は、pki-server-nuxwdog(8) の man ページを参照してください。
  6. デフォルトでは、nuxwdog は、/etc/sysconfig/pki-tomcat ファイルの TOMCAT_USER 変数で設定したユーザーとしてサーバーを起動します。必要に応じて、ユーザーおよびグループを変更する場合は、次のコマンドを実行します。
    1. インスタンスの watchdog systemd ユニットファイルを、/etc/systemd/system/ ディレクトリーにコピーします。
      # cp -p /usr/lib/systemd/system/instance_name-nuxwdog@.service /etc/systemd/system/
      注記
      /etc/systemd/system/ ディレクトリーのユニットファイルの優先度は高く、更新中は置き換えられません。
    2. /etc/pki/instance_name/nuxwdog.conf ファイルの [Service] セクションに以下のエントリーを追加します。
      User new_user_name
    3. systemd 設定をリロードします。
      # systemctl daemon-reload
  7. ウォッチドッグを使用する Certificate System サービスを有効にします。
    # systemctl enable pki-tomcatd-nuxwdog@instance_name.service
  8. Certificate System インスタンスを起動するには、以下のコマンドを実行してプロンプトを入力します。
    # systemctl start pki-tomcatd-nuxwdog@instance_name.service

14.3.2.2. Watchdog が有効になっている Certificate System の起動および停止

Certificate System インスタンスの管理方法は、「実行管理 (systemctl)」を参照してください。

14.3.2.3. Certificate System の Watchdog が有効になっていることの確認

ウォッチドッグサービスが有効になっていることを確認するには、次のコマンドを実行します。
  1. pki-tomcatd-nuxwdog サービスが有効になっていることを確認します。
    # systemctl is-enabled pki-tomcatd-nuxwdog@instance_name.service
    enabled
  2. pki-tomcatd サービスが無効になっていることを確認します。
    # systemctl is-disabled pki-tomcatd@instance_name.service
    disabled
    
  3. /etc/pki/instance_name/server.xml ファイルで以下を行います。
    1. passwordFile パラメーターが CS.cfg ファイルを参照することを確認します。以下に例を示します。
      passwordFile="/var/lib/pki/instance_name/ca/CS.cfg"
    2. passwordClass パラメーターが com.netscape.cms.tomcat.NuxwdogPasswordStore に設定されていることを確認します。
      passwordClass="com.netscape.cms.tomcat.NuxwdogPasswordStore"

14.3.2.4. Watchdog サービスの無効化

ウォッチドッグサービスを無効にするには、次のコマンドを実行します。
  1. ウォッチドッグを使用する Certificate System インスタンスのサービスを停止して無効にします。
    # systemctl stop pki-tomcatd-nuxwdog@instance_name.service
    # systemctl disable pki-tomcatd-nuxwdog@instance_name.service
  2. インスタンスのウォッチドッグなしで通常のサービスを有効にします。
    # pki-server instance-nuxwdog-disable instance_name
  3. インスタンスのウォッチドッグ設定を無効にします。
    # systemctl enable pki-tomcatd@instance_name.service
    詳細は、pki-server-nuxwdog(8) の man ページを参照してください。
  4. password.conf ファイルを元の場所に復元します。以下に例を示します。
    # cp /root/password.conf.bak /var/lib/pki/instance_name/conf/password.conf
  5. Certificate System インスタンスを起動します。
    # systemctl start pki-tomcatd@instance_name.service