2.2. Certificate System サブシステムの概要
2.2.2. インスタンスインストールの要件
2.2.2.1. Directory Server インスタンスの可用性
Certificate System インスタンスをインストールする前に、ローカルまたはリモートの Red Hat Directory Server LDAP インスタンスが利用できる必要があります。Red Hat Directory Server のインストール方法は、『Red Hat Directory Server Installation Guide』を参照してください。
2.2.2.2. PKI パッケージ
Red Hat Certificate System は、以下のパッケージで設定されています。
- 以下のベースパッケージは Certificate System のコアを形成し、ベースの Red Hat Enterprise Linux リポジトリーで利用できます。
- pki-core.el7
- pki-base
- pki-base-java
- pki-ca
- pki-javadoc
- pki-kra
- pki-server
- pki-symkey
- pki-tools
- 以下に記載するパッケージは、ベースの Red Hat Enterprise Linux サブスクリプションチャンネルでは利用 できません。これらのパッケージをインストールするには、最初に Subscription Manager を使用して Red Hat Certificate System サブスクリプションプールを割り当て、RHCS9 リポジトリーを有効にする必要があります。手順については、Red Hat Enterprise Linux 7 システム管理者ガイドの Subscription Manager の章を参照してください。
- pki-console.el7pki
- pki-console
- pki-core.el7pki
- pki-ocsp
- pki-tks
- pki-tps
- redhat-pki.el7pki
- redhat-pki
- redhat-pki-theme.el7pki
- redhat-pki-console-theme
- redhat-pki-server-theme
Red Hat Enterprise Linux 7.5 以降のシステムを使用 (必要に応じて 4章サポート対象のプラットフォーム に記載されているサポート対象のハードウェアセキュリティーモジュールで設定されているものを使用) して、Red Hat Certificate System をインストールする前に、すべてのパッケージが最新の状態であることを確認します。
すべての Certificate System パッケージをインストールするには( pki-javadocを除く)、Yum を使用して redhat-pki メタパッケージをインストールします。
yum install redhat-pki
# yum install redhat-pki
必要に応じて 1 つ以上の最上位の PKI サブシステムパッケージをインストールしてください。実際のパッケージ名については、上記の一覧を参照してください。このアプローチを使用する場合は、必ず redhat-pki-server-theme パッケージもインストールし、必要に応じて redhat-pki-console-theme および pki-console で PKI コンソールを使用するようにしてください。
最後に、開発者および管理者は JSS および PKI javadoc (jss-javadoc および pki-javadoc) をインストールすることもできます。
注記
jss-javadoc パッケージには、Subscription Manager で Server-Optional リポジトリーを有効にする必要があります。
2.2.2.3. インスタンスのインストールと設定
pkispawn コマンドラインツールを使用して、新しい PKI インスタンスをインストールおよび設定します。これにより、個別のインストールおよび設定手順が不要になるため、バッチプロセスとして実行する必要があります。このユーティリティーは、ブラウザーベースのグラフィカルインターフェイスをインストールまたは設定する方法を提供していません。
使用方法は、pkispawn --help コマンドを使用します。
pkispawn コマンド:
- プレーンテキスト設定ファイル(
/etc/pki/default.cfg
)からデフォルトのname=value
ペアで読み取ります。 - 指定されたペアを自動的に上書きし、最終結果を Python ディクショナリーとして保存します。
- 順序付けされた スクリプトレット を実行し、サブシステムおよびインスタンスインストールを実行します。
- 設定スクリプトレットは、Python ディクショナリーを JavaScript Object Notation (JSON) データオブジェクトとしてパッケージ化し、Java ベースの設定サーブレットに渡されます。
- 設定サーブレットは、このデータを使用して新しい PKI サブシステムを設定し、制御を pkispawn 実行可能ファイルに渡して、PKI 設定の最終処理を行います。最終的なデプロイメントファイルのコピーは、
/var/lib/pki/instance_name/ <subsystem> /registry/ <subsystem> /deployment.cfg に保存されます。
詳細は、
pkispawn
の man ページを参照してください。
デフォルトの設定ファイル
/etc/pki/default.cfg
は、上記のプロセスの開始時に読み込まれるデフォルトのインストールおよび設定値を含むプレーンテキストファイルです。これは、[DEFAULT
]、[ Tomcat]、[ CA
]、[KRA]、[ KRA]、[ OCSP
]、[ TKS
]
セクション、および [TPS]
セクションに分割された name=value
ペアで設定されます。
pkispawn で
-s
オプションを使用してサブシステム名を指定すると、そのサブシステムのセクションのみが読み込まれます。
セクションには階層があります。サブシステムセクションで指定した
name=value
ペアは、[Tomcat]
セクションのペアを上書きし、[DEFAULT]
セクションのペアを上書きします。デフォルトのペアは、指定された PKI インスタンス設定ファイル内のペアによってさらにオーバーライドできます。
注記
pkispawn
設定ファイルを使用してデフォルトの name=value
ペアを上書きする場合は常に、任意の場所に保存され、いつでも指定できます。これらのファイルは、pkispawn の man ページで myconfig.txt
と呼ばれますが、通常は .ini
ファイルとも呼ばれます。または、通常は PKI インスタンス設定のオーバーライドファイルと呼ばれます。
詳細は、
pki_default.cfg
の man ページを参照してください。
設定サーブレット は、
com/netscape/certsrv/system/ConfigurationRequest.class
として /usr/share/java/pki/pki-certsrv.jar
に保存されている Java バイトコードで設定されます。サーブレットは、pkispawn を使用して設定スクリプトレットから JSON オブジェクトとして渡されるデータを処理し、com/netscape/certsrv/system/ConfigurationResponse.class
と同じファイルで提供される Java バイトコードを使用して pkispawn に戻ります。
対話型インストールの例では、
root
としてコマンドラインで pkispawn コマンドを実行するだけです。
pkispawn
# pkispawn
重要
pkispawn(8) の man ページに記載されている対話型のインストール方法は、Common Criteria 環境ではサポートされていません。
非対話的なインストールでは、PKI インスタンス設定の上書きファイルが必要ですが、プロセスは以下の例のようになります。
mkdir -p /root/pki
# mkdir -p /root/pki
Copy to Clipboard Copied! - vim などのテキストエディターを使用して、以下の内容を含む
/root/pki/ca.cfg
という名前の設定ファイルを作成します。[DEFAULT] pki_admin_password=<password> pki_client_pkcs12_password=<password> pki_ds_password=<password>
[DEFAULT] pki_admin_password=<password> pki_client_pkcs12_password=<password> pki_ds_password=<password>
Copy to Clipboard Copied! pkispawn -s CA -f /root/pki/ca.cfg
# pkispawn -s CA -f /root/pki/ca.cfg
Copy to Clipboard Copied!
さまざまな設定例は、
pkispawn
の man ページを参照してください。
2.2.2.4. インスタンスの削除
既存の PKI インスタンスを削除するには、pkidestroy コマンドを使用します。対話的に実行することも、バッチプロセスとして実行することもできます。pkidestroy -h を使用して、コマンドラインで詳細な使用方法を表示します。
pkidestroy コマンドは、サブシステムの作成時に保存された PKI サブシステムデプロイメント設定ファイル(
/var/lib/pki/instance_name/ <subsystem> /registry/ <subsystem> /deployment.cfg
)で読み取りを行い、追加のサブシステムがない場合に PKI インスタンスを削除します。詳細は、pkidestroy
の man ページを参照してください。
pkidestroy を使用したインタラクティブな削除手順は、以下のようになります。
pkidestroy
# pkidestroy
Subsystem (CA/KRA/OCSP/TKS/TPS) [CA]:
Instance [pki-tomcat]:
Begin uninstallation (Yes/No/Quit)? Yes
Log file: /var/log/pki/pki-ca-destroy.20150928183547.log
Loading deployment configuration from /var/lib/pki/pki-tomcat/ca/registry/ca/deployment.cfg.
Uninstalling CA from /var/lib/pki/pki-tomcat.
rm '/etc/systemd/system/multi-user.target.wants/pki-tomcatd.target'
Uninstallation complete.
非対話的な削除手順は、以下の例のようになります。
pkidestroy -s CA -i pki-tomcat
# pkidestroy -s CA -i pki-tomcat
Log file: /var/log/pki/pki-ca-destroy.20150928183159.log
Loading deployment configuration from /var/lib/pki/pki-tomcat/ca/registry/ca/deployment.cfg.
Uninstalling CA from /var/lib/pki/pki-tomcat.
rm '/etc/systemd/system/multi-user.target.wants/pki-tomcatd.target'
Uninstallation complete.
2.2.3. 実行管理 (systemctl)
2.2.3.1. 起動、停止、再起動、およびステータスの取得
Red Hat Certificate System サブシステムインスタンスは、Red Hat Enterprise Linux 7 で systemctl 実行管理システムツールを使用して停止および起動できます。
systemctl start <unit-file>@instance_name.service
# systemctl start <unit-file>@instance_name.service
systemctl status <unit-file>@instance_name.service
# systemctl status <unit-file>@instance_name.service
systemctl stop <unit-file>@instance_name.service
# systemctl stop <unit-file>@instance_name.service
systemctl restart <unit-file>@instance_name.service
# systemctl restart <unit-file>@instance_name.service
<unit-file> には、以下のいずれかの値を使用できます。
pki-tomcatd With watchdog disabled pki-tomcatd-nuxwdog With watchdog enabled
pki-tomcatd With watchdog disabled
pki-tomcatd-nuxwdog With watchdog enabled
watchdog
サービスの詳細は、「パスワードおよびウォッチドッグ (nuxwdog)」 および 「Certificate System の Watchdog サービスの使用」 を参照してください。
2.2.3.2. インスタンスの自動起動
Red Hat Enterprise Linux 7 の
systemctl
ユーティリティーは、サーバー上の各プロセスの自動起動およびシャットダウン設定を管理します。これは、システムが再起動すると、一部のサービスを自動的に再起動できることを意味します。システムユニットファイルは、サービスの起動を制御し、サービスが正しい順序で起動されるようにします。systemd
サービスおよび systemctl
ユーティリティーについては、『Red Hat Enterprise Linux System Administrator's Guide』で説明されています。
Certificate System インスタンスは
systemctl
で管理できます。したがって、このユーティリティーは、インスタンスを自動的に再起動するかどうかを設定できます。Certificate System インスタンスが作成されると、システムの起動時に有効になります。これは、systemctl
を使用して変更できます。
systemctl disable pki-tomcatd@instance_name.service
# systemctl disable pki-tomcatd@instance_name.service
インスタンスを再度有効にするには、以下を実行します。
systemctl enable pki-tomcatd@instance_name.service
# systemctl enable pki-tomcatd@instance_name.service
注記
systemctl enable コマンドおよび systemctl disable コマンドは、Certificate System をすぐに起動または停止しません。
2.2.4. プロセス管理 (pki-server および pkidaemon)
2.2.4.1. pki-server コマンドラインツール
Red Hat Certificate System の主なプロセス管理ツールは pki-server です。使用方法は、pki-server --help コマンドを使用し、
pki-server
の man ページを参照してください。
pki-server コマンドラインインターフェイス(CLI)は、ローカルサーバーインスタンス(サーバー設定やシステム証明書など)を管理します。以下のように CLI を起動します。
Copy to Clipboard
Copied!
pki-server [CLI options] <command> [command parameters]
$ pki-server [CLI options] <command> [command parameters]
CLI はサーバーインスタンスの設定ファイルおよび NSS データベースを使用するため、CLI では事前に初期化は必要ありません。CLI はファイルに直接アクセスできるため、これは root ユーザーがのみ実行でき、クライアント証明書は必要ありません。また、CLI はサーバーのステータスに関係なく実行できます。実行中のサーバーは必要ありません。
CLI は、階層構造で多数のコマンドをサポートしています。トップレベルのコマンドを一覧表示するには、追加のコマンドまたはパラメーターを指定せずに CLI を実行します。
Copy to Clipboard
Copied!
pki-server
$ pki-server
コマンドにはサブコマンドがあります。それらを一覧表示するには、コマンド名を指定し、追加オプションを指定せずに CLI を実行します。以下に例を示します。
Copy to Clipboard
Copied!
pki-server ca pki-server ca-audit
$ pki-server ca
$ pki-server ca-audit
コマンドの使用情報を表示するには
Copy to Clipboard
Copied!
--help
オプションを使用します。
pki-server --help pki-server ca-audit-event-find --help
$ pki-server --help
$ pki-server ca-audit-event-find --help
2.2.4.2. pki-server を使用したインストール済みサブシステムの有効化および無効化
インストールされたサブシステムを有効または無効にするには、
pki-server
ユーティリティーを使用します。
pki-server subsystem-disable -i instance_id subsystem_id
# pki-server subsystem-disable -i instance_id subsystem_id
pki-server subsystem-enable -i instance_id subsystem_id
# pki-server subsystem-enable -i instance_id subsystem_id
subsystem_id を、有効なサブシステム識別子(
ca
、kra
、tks
、ocsp
、または tps
)に置き換えます。
注記
1 つのインスタンスにはサブシステムのタイプのみを設定できます。
たとえば、
pki-tomcat
という名前のインスタンスで OCSP サブシステムを無効にするには、次のコマンドを実行します。
pki-server subsystem-disable -i pki-tomcat ocsp
# pki-server subsystem-disable -i pki-tomcat ocsp
インスタンスのインストールされたサブシステムを一覧表示するには、以下を実行します。
pki-server subsystem-find -i instance_id
# pki-server subsystem-find -i instance_id
特定のサブシステムの状態を表示するには、次のコマンドを実行します。
pki-server subsystem-find -i instance_id subsystem_id
# pki-server subsystem-find -i instance_id subsystem_id
2.2.4.3. pkidaemon コマンドラインツール
Red Hat Certificate System の別のプロセス管理ツールは、pkidaemon ツールです。
pkidaemon {start|status} instance-type [instance_name]
pkidaemon {start|status} instance-type [instance_name]
- pkidaemon status tomcat: システム上のすべての PKI インスタンスの PKI サブシステムのオン/オフ、ポート、URL などのステータス情報を提供します。
- pkidaemon status tomcat instance_name: 特定のインスタンスの各 PKI サブシステムのオン/オフ、ポート、URL などのステータス情報を提供します。
- pkidaemon start tomcat instance_name.service - systemctl を使用して内部で使用されます。
詳細は、
pkidaemon
の man ページを参照してください。
2.2.4.4. サブシステムの Web サービス URL の検索
CA、KRA、OCSP、TKS、および TPS サブシステムには、エージェント用の Web サービスページと、通常のユーザーおよび管理者が含まれます。これらの Web サービスには、サブシステムのセキュアなユーザーのポート上でサブシステムホストに URL を開くとアクセスできます。CA の場合の例を以下に示します。
https://server.example.com:8443/ca/services
https://server.example.com:8443/ca/services
注記
インスタンスのインターフェイス、URL、およびポートの全一覧を取得するには、サービスのステータスを確認します。以下に例を示します。
pkidaemon status instance_name
pkidaemon status instance_name
各サブシステムの主な Web サービスページには、利用可能なサービスページの一覧があります。これらは、表2.1「デフォルトの Web サービスページ」 にまとめられています。特定のサービスにアクセスするには、適切なポートにアクセスし、適切なディレクトリーを URL に追加します。たとえば、CA のエンドエンティティー (通常のユーザー) の Web サービスにアクセスするには、以下を実行します。
https://server.example.com:8443/ca/ee/ca
https://server.example.com:8443/ca/ee/ca
DNS が設定されていない場合は、IPv4 アドレスまたは IPv6 アドレスを使用して、サービスページに接続できます。以下に例を示します。
https://192.0.2.1:8443/ca/services https://[2001:DB8::1111]:8443/ca/services
https://192.0.2.1:8443/ca/services
https://[2001:DB8::1111]:8443/ca/services
注記
すべてのユーザーがサブシステムのエンドユーザーページにアクセスできます。ただし、エージェントまたは管理 Web サービスページにアクセスするには、エージェントまたは管理者の証明書を Web ブラウザーにインストールする必要があります。それ以外の場合は、Web サービスへの認証に失敗します。
Port | TLS に使用 | クライアント認証に使用[a] | Web サービス | Web サービスの場所 |
---|---|---|---|---|
Certificate Manager | ||||
8080 | いいえ | エンドエンティティー | ca/ee/ca | |
8443 | はい | いいえ | エンドエンティティー | ca/ee/ca |
8443 | はい | はい | エージェント | ca/agent/ca |
8443 | はい | いいえ | サービス | ca/services |
8443 | はい | いいえ | コンソール | pkiconsole https://host:port/ca |
キーリカバリー認証局 | ||||
8080 | いいえ | エンドエンティティー[b] | kra/ee/kra | |
8443 | はい | いいえ | エンドエンティティー[b] | kra/ee/kra |
8443 | はい | はい | エージェント | kra/agent/kra |
8443 | はい | いいえ | サービス | kra/services |
8443 | はい | いいえ | コンソール | pkiconsole https://host:port/kra |
オンライン証明書ステータスマネージャー | ||||
8080 | いいえ | エンドエンティティー[c] | ocsp/ee/ocsp | |
8443 | はい | いいえ | エンドエンティティー[c] | ocsp/ee/ocsp |
8443 | はい | はい | エージェント | ocsp/agent/ocsp |
8443 | はい | いいえ | サービス | ocsp/services |
8443 | はい | いいえ | コンソール | pkiconsole https://host:port/ocsp |
トークンキーサービス | ||||
8080 | いいえ | エンドエンティティー[b] | tks/ee/tks | |
8443 | はい | いいえ | エンドエンティティー[b] | tks/ee/tks |
8443 | はい | はい | エージェント | tks/agent/tks |
8443 | はい | いいえ | サービス | tks/services |
8443 | はい | いいえ | コンソール | pkiconsole https://host:port/tks |
トークン処理システム | ||||
8080 | いいえ | 安全でないサービス | tps/tps | |
8443 | はい | 安全なサービス | tps/tps | |
8080 | いいえ | Enterprise Security Client Phone Home | tps/phoneHome | |
8443 | はい | Enterprise Security Client Phone Home | tps/phoneHome | |
8443 | はい | はい | 管理、エージェント、および Operator サービス [d] | tps/ui |
[a]
クライアント認証値が No のサービスは、クライアント認証を要求するように再設定できます。Yes または No のいずれかの値を持たないサービスは、クライアント認証を使用するように設定することはできません。
[b]
このサブシステムタイプにはエンドエンティティーポートとインターフェイスがありますが、他のエンドエンティティーサービスとは異なり、これらのエンドエンティティーサービスには Web ブラウザーからはアクセスできません。
[c]
OCSP にはエンドエンティティーポートおよびインターフェイスがありますが、他のエンドクリティーサービスも Web ブラウザーを介してアクセスすることはできません。エンドユーザー OCSP サービスには、OCSP 要求を送信するクライアントがアクセスします。
[d]
エージェント、管理者、および Operator サービスはすべて、同じ Web サービスページを介してアクセスされます。各ロールは、そのロールのメンバーにのみ表示される特定のセクションにのみアクセスできます。
|
2.2.4.5. 証明書システムコンソールの起動
CA、KRA、OCSP、および TKS サブシステムには、管理機能を実行するための Java インターフェイスがあります。KRA、OCSP、および TKS では、ユーザーおよびグループのログ設定や管理など、非常に基本的なタスクが含まれます。CA の場合は、証明書プロファイルの作成や公開の設定など、その他の設定が含まれます。
pkiconsole
ユーティリティーを使用して TLS ポート経由でサブシステムインスタンスに接続すると、コンソールが開きます。このユーティリティーは、以下の形式を使用します。
pkiconsole https://server.example.com:admin_port/subsystem_type
pkiconsole https://server.example.com:admin_port/subsystem_type
subsystem_type は、
ca
、kra
、ocsp
、または tks
です。たとえば、これにより KRA コンソールが開きます。
pkiconsole https://server.example.com:8443/kra
pkiconsole https://server.example.com:8443/kra
DNS が設定されていない場合は、IPv4 アドレスまたは IPv6 アドレスを使用してコンソールに接続できます。以下に例を示します。
https://192.0.2.1:8443/ca https://[2001:DB8::1111]:8443/ca
https://192.0.2.1:8443/ca
https://[2001:DB8::1111]:8443/ca