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 インストールガイド』 を参照してください。
2.2.2.2. PKI パッケージ
Red Hat Certificate System は、以下のパッケージで構成されています。
- 以下のベースパッケージは Certificate System のコアを形成し、ベースの Red Hat Enterprise Linux リポジトリーで利用できます。
- pki-core
- pki-base
- pki-base-java
- pki-ca
- pki-javadoc
- pki-kra
- pki-server
- pki-symkey
- pki-tools
- 以下に記載するパッケージは、ベースの Red Hat Enterprise Linux サブスクリプションチャンネルでは利用 できません。これらのパッケージをインストールするには、Red Hat Certificate System サブスクリプションプールを割り当て、RHCS リポジトリーを有効にする必要があります。詳細は、「Red Hat サブスクリプションの添付および Certificate System パッケージリポジトリーの有効化」 を参照してください。
- pki-core
- pki-console
- pki-ocsp
- pki-tks
- pki-tps
- redhat-pki
- redhat-pki: pki-core モジュールのパッケージをすべて含めます。redhat-pki パッケージを個別に選択する場合は、pki-core モジュールを無効にすることを推奨します。
- redhat-pki-console-theme
- redhat-pki-server-theme
Red Hat Enterprise Linux 8 システムを使用 (必要に応じて 4章サポート対象のプラットフォーム に記載されているサポート対象のハードウェアセキュリティーモジュールで設定されているものを使用) して、Red Hat Certificate System をインストールする前に、すべてのパッケージが最新の状態であることを確認します。
(pki-javadocを除く) すべての Certificate System パッケージをインストールするには、dnf を使用して redhat-pki メタパッケージをインストールします。
#
dnf 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]
、[OCSP]
、[TKS]
、および [TPS]
セクションに分割された name=value
ペアで構成されます。
pkispawn で
-s
オプションを使用してサブシステム名を指定すると、そのサブシステムのセクションのみが読み取られます。
セクションには階層があります。サブシステムセクションで指定した
name=value
のペアは、[Tomcat]
セクションのペアを上書きし、[DEFAULT]
セクションのペアを上書きします。デフォルトのペアは、インタラクティブ入力か、指定された PKI インスタンス設定ファイル内のペアによってさらに上書きできます。
注記
非対話形式ファイルを使用してデフォルトの
name=value
ペアを上書きする場合は常に、任意の場所に保存され、いつでも指定できます。これらのファイルは、pkispawn の man ページにある myconfig.txt
や、.ini
ファイル、またはより一般的には PKI インスタンス設定オーバーライドファイルとも呼ばれます。
詳細は、
pki_default.cfg
の man ページを参照してください。
設定サーブレット は、
/usr/share/java/pki/pki-certsrv.jar
を com/netscape/certsrv/system/ConfigurationRequest.class
として保存されている Java バイトコードで構成されます。サーブレットは、pkispawn を使用して設定スクリプトレットから JSON オブジェクトとして渡されるデータを処理し、com/netscape/certsrv/system/ConfigurationResponse.class
と同じファイルで提供される Java バイトコードを使用して pkispawn に戻ります。
対話型インストールの例では、
root
権限で、コマンドラインで pkispawn コマンドを実行するだけです。
#
pkispawn
重要
現在、インタラクティブなインストールは、非常に基本的なデプロイメントでのみ存在します。たとえば、クローン作成、Elliptic Curve Cryptography (ECC)、外部 CA、Hardware Security Module (HSM)、下位 CA などの高度な機能を使用する場合、デプロイメントは個別の設定ファイルで必要なオーバーライドパラメーターを提供する必要があります。
非対話的なインストールでは、PKI インスタンス設定の上書きファイルが必要ですが、プロセスは以下の例のようになります。
#
mkdir -p /root/pki- vim などのテキストエディターを使用して、以下の内容を含む
/root/pki/ca.cfg
という名前の設定ファイルを作成します。[DEFAULT] pki_admin_password=<password> pki_client_pkcs12_password=<password> pki_ds_password=<password>
#
pkispawn -s CA -f /root/pki/ca.cfg
さまざまな設定例は、
pkispawn
の man ページを参照してください。
2.2.2.4. インスタンスの削除
既存の PKI インスタンスを削除するには、pkidestroy コマンドを使用します。対話的に実行することも、バッチプロセスとして実行することもできます。pkidestroy -h を使用して、コマンドラインで詳細な使用方法を表示します。
pkidestroy コマンドは、サブシステムの作成時に保存された PKI サブシステムデプロイメント設定ファイル (
/var/lib/pki/instance_name/<subsystem>/registry/<subsystem>/deployment.cfg
) で読み込んで、読み込んだファイルを使用して PKI サブシステムを削除してから、追加のサブシステムがない場合は PKI インスタンスを削除します。詳細は、pkidestroy
の man ページを参照してください。
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
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 8 で systemctl 実行管理システムツールを使用して停止および起動できます。
#
systemctl start <unit-file>@instance_name.service
#
systemctl status <unit-file>@instance_name.service
#
systemctl stop <unit-file>@instance_name.service
#
systemctl restart <unit-file>@instance_name.service
<unit-file> には、以下のいずれかの値を使用できます。
pki-tomcatd
Withwatchdog
disabledpki-tomcatd-nuxwdog
Withwatchdog
enabled
watchdog
サービスの詳細は、「パスワードおよびウォッチドッグ (nuxwdog)」 および 『Red Hat Certificate System 管理ガイド』 の 『Certificate System Watchdog Service の使用』 セクションを参照してください。
注記
RHCS 10 では、これらの systemctl アクションは pki-server エイリアスをサポートします。pki-server <command> subsystem_instance_name は systemctl <command> pki-tomcatd@<instance>.service のエイリアスです。
2.2.3.2. インスタンスの自動起動
Red Hat Enterprise Linux の
systemctl
ユーティリティーは、サーバー上の各プロセスの自動起動およびシャットダウン設定を管理します。これは、システムが再起動すると、一部のサービスを自動的に再起動できることを意味します。システムユニットファイルは、サービスの起動を制御し、サービスが正しい順序で起動されるようにします。systemd
サービスと systemctl
ユーティリティーは、Red Hat Enterprise Linux 8 の 『基本的なシステム設定』 ガイドで説明されています。
Certificate System インスタンスは
systemctl
で管理できます。したがって、このユーティリティーは、インスタンスを自動的に再起動するかどうかを設定できます。Certificate System インスタンスが作成されると、システムの起動時に有効になります。これは systemctl
を使用することで変更できます。
#
systemctl disable pki-tomcatd@instance_name.service
インスタンスを再度有効にするには、以下を実行します。
#
systemctl enable pki-tomcatd@instance_name.service
注記
systemctl enable コマンドおよび systemctl disable コマンドは、証明書システムをすぐに起動したり、停止したりしません。
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 を起動します。
$
pki-server [CLI options] <command> [command parameters]
CLI はサーバーインスタンスの設定ファイルおよび NSS データベースを使用するため、CLI では事前に初期化は必要ありません。CLI はファイルに直接アクセスできるため、これは root ユーザーがのみ実行でき、クライアント証明書は必要ありません。また、CLI はサーバーのステータスに関係なく実行できます。実行中のサーバーは必要ありません。
CLI は、階層構造で多数のコマンドをサポートしています。トップレベルのコマンドをリスト表示するには、追加のコマンドまたはパラメーターを指定せずに CLI を実行します。
$
pki-server
コマンドにはサブコマンドがあります。それらをリスト表示するには、コマンド名を実行します。追加のオプションは指定しません。以下に例を示します。
$
pki-server ca$
pki-server ca-audit
コマンドの使用情報を表示するには
--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-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-find -i instance_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 status tomcat: システム上のすべての PKI インスタンスの PKI サブシステムのオン/オフ、ポート、URL などのステータス情報を提供します。
- pkidaemon status tomcatinstance_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
注記
インスタンスのインターフェイス、URL、およびポートの全リストを取得するには、サービスのステータスを確認します。以下に例を示します。
pkidaemon status instance_name
各サブシステムの主な Web サービスページには、利用可能なサービスページの一覧があります。これらは 表2.1「デフォルトの Web サービスページ」 で要約されています。特定のサービスにアクセスするには、適切なポートにアクセスし、適切なディレクトリーを URL に追加します。たとえば、CA のエンドエンティティー (通常のユーザー) の Web サービスにアクセスするには、以下を実行します。
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
注記
すべてのユーザーがサブシステムのエンドユーザーページにアクセスできます。ただし、エージェントまたは管理 Web サービスページにアクセスするには、エージェントまたは管理者の証明書を Web ブラウザーにインストールする必要があります。それ以外の場合は、Web サービスへの認証に失敗します。
ポート | SSL/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. Certificate System コンソールの起動
重要
このコンソールは非推奨になりました。
CA、KRA、OCSP、および TKS サブシステムには、管理機能を実行するための Java インターフェイスがあります。KRA、OCSP、および TKS では、ユーザーおよびグループのログ設定や管理など、非常に基本的なタスクが含まれます。CA の場合は、証明書プロファイルの作成や公開の設定など、その他の設定が含まれます。
pkiconsole
ユーティリティーを使用して SSL/TLS ポート経由でサブシステムインスタンスに接続すると、コンソールが開きます。このユーティリティーは、以下の形式を使用します。
pkiconsole https://server.example.com:admin_port/subsystem_type
subsystem_type は
ca
、kra
、ocsp
、または tks
にすることができます。たとえば、これにより KRA コンソールが開きます。
pkiconsole https://server.example.com:8443/kra
DNS が設定されていない場合は、IPv4 アドレスまたは IPv6 アドレスを使用してコンソールに接続できます。以下に例を示します。
https://192.0.2.1:8443/ca https://[2001:DB8::1111]:8443/ca