7.2. pkispawn ユーティリティーを使用して RHCS をインストールする
pkispawn について十分理解している場合は、「PKI サブシステムのインストール」 に進んでください。
Red Hat Certificate System では、管理者は pkispawn ユーティリティーを使用して個々のサブシステムを設定します。このセクションでは、pkispawn を使用したインストールの仕組み全般を説明します。「PKI サブシステムのインストール」 のインストール手順を実行する場合は、正しい選択を行えるように、内容を慎重に確認してください。
pkispawn は、2 つの異なる動作モードを提供します。
- インタラクティブモード: セットアップ中、ユーザーは設定時に個々の設定を要求します。このモードは、単純なデプロイメントに使用します。
- バッチモード: ユーザーは提供する設定ファイルから値が読み込まれます。設定ファイルで設定されていないパラメーターはデフォルトを使用します (詳細は下記参照)。
特に明記されていない限り、これ以降ではバッチモードが想定されています。
7.2.1. pkispawn 設定ファイルの作成 リンクのコピーリンクがクリップボードにコピーされました!
pkispawn ユーティリティーには設定ファイルが必要です。このファイルには、セクションにグループ化されたパラメーターが含まれています。これらのセクションは積み重ねられているため、前のセクションで定義されたパラメーターを後のセクションで定義されたパラメーターでオーバーライドできます。セクションは次の順序で読まれます。
- [DEFAULT] - サブシステムに依存しない設定
- [Tomcat]
- [CA]、[KRA]、[OCSP]、[TKS]、[TPS]、[ACME]、または [EST] - サブシステム固有のセクション
実行すると、pkispawn は以下を行います。
/usr/share/pki/server/etc/default.cfgファイルからデフォルト値を読み取ります。詳細は、pki_default.cfg(5)の man ページを参照してください。重要/usr/share/pki/server/etc/default.cfgファイルは編集しないでください。代わりに、デフォルトをオーバーライドする設定ファイルを作成するように指示されます。設定ファイルの使用に関する詳細は、次のセクションでサブシステムの各タイプに対応するpkispawn設定ファイルの例を参照してください。- 上記の管理者が提供する設定ファイルを読み取り、デフォルト値をオーバーライドします。
- 要求されたサブシステムのインストールを実行します。
- 設定に基づいて設定を行う Java サーブレットに設定を渡します。
pkispawn の設定
以下では、pkispawn の設定ファイルを作成する方法と、いくつかの主要なパラメーターを説明します。パラメーターが属している [ ] セクションや、パラメーターの正確なスペルなどの詳細は、pkispawn(8) および pki_default.cfg(5) の man ページ、特に /usr/share/pki/server/etc/default.cfg を参照してください。
/root/pki/config.subsystem.txt などの pkispawn 設定用のテキストファイルを作成し、以下で説明する設定を入力します。対応する [ ] セクションの下にすべての設定を追加する必要があります。適切な配置を確認するには、/usr/share/pki/server/etc/default.cfg ファイルを参照してください。
このセクションでは、一般的な最小設定について説明します。環境によっては、追加のパラメーターが必要になる場合があります (/usr/share/pki/server/etc/default.cfg を参照)。追加の例は、pkispawn(8) の man ページの EXAMPLES セクションを参照してください。
このセクションで説明するパラメーターは、pki_default.cfg(5) の man ページを参照してください。
サブシステムに依存しない設定
サブシステムの共有 PKI インスタンスと個別の PKI インスタンスの両方がサポートされています。個別の PKI インスタンスは、単一の PKI サブシステム (CA、KRA、OCSP、TKS、または TPS) が含まれるスタンドアロンの Java ベースの Apache Tomcat インスタンスとして実行され、同じマシン上に配置されている場合は一意のインスタンス名とポートを使用する必要があります。一方、共有インスタンスは、同じインスタンス名とポートを共有する 1 つの Java ベースの Apache Tomcat インスタンスとして実行されますが、各タイプの PKI サブシステムを 1 つまで組み合わせて含めることができます。
インストールするサブシステムとは関係なく、設定ファイルの [DEFAULT] セクションで次の設定を指定できます。
一意のインスタンス名を設定します。
# pki_instance_name=instance_nameホスト名を設定します。
# pki_hostname=server.example.com注記Certificate System は、これらのパラメーターとインスタンス名に基づいて一意の証明書ニックネームを作成します。証明書のニックネームの一意性は、複数の PKI インスタンスで共有される HSM トークンの機能を維持する上で非常に重要です。
HTTP および HTTPS プロトコルのポート番号を設定します。
pki_https_port=port_number pki_http_port=port_number重要同じホスト上で複数の Certificate System インスタンスを実行するには、ホスト上の他のサービスで使用されていない一意のポートを
pki_https_portおよびpki_http_portパラメーターに設定する必要があります。デフォルトでは、Certificate System は HTTP にポート 8080、HTTPS にポート 8443 を使用します。HSM 固有のパラメーターを設定します。
pki_hsm_enable=<True|False> pki_hsm_libfile=HSM_PKCS11_library_path pki_hsm_modulename=HSM_module_name pki_token_name=HSM_token_name pki_token_password=HSM_token_password pki_audit_signing_token=HSM_token_name pki_subsystem_token=HSM_token_name pki_sslserver_token=HSM_token_name詳細は、「HSM を使用した Certificate System のインストールの準備」 を参照してください。
RSA Certificate System インスタンスをビルドする場合は、次の設定を使用します。
pki_admin_key_algorithm=SHA256withRSA pki_admin_key_size=4096 pki_admin_key_type=rsa pki_sslserver_key_algorithm=SHA256withRSA pki_sslserver_key_size=4096 pki_sslserver_key_type=rsa pki_subsystem_key_algorithm=SHA256withRSA pki_subsystem_key_size=4096 pki_subsystem_key_type=rsa pki_audit_signing_key_algorithm=SHA256withRSA pki_audit_signing_key_size=4096 pki_audit_signing_key_type=rsa pki_audit_signing_signing_algorithm=SHA256withRSAkey_algorithm パラメーターに選択できる項目は次のとおりです。
SHA256withRSA SHA384withRSA SHA512withRSA注記これらのアルゴリズムパラメーターは、CA の
CS.cfgファイルのca.profiles.defaultSigningAlgsAllowedパラメーターで指定された値に設定できます。詳細は、管理ガイドの付録 B.2.10 署名アルゴリズムの制約 を参照してください。署名アルゴリズムはkey_typeと一致する必要があります。証明書の作成時に RSA の代わりに楕円曲線暗号 (ECC) を使用するには、次のように設定します。
pki_admin_key_algorithm=SHA256withEC pki_admin_key_size=nistp256 pki_admin_key_type=ecc pki_sslserver_key_algorithm=SHA256withEC pki_sslserver_key_size=nistp256 pki_sslserver_key_type=ecc pki_subsystem_key_algorithm=SHA256withEC pki_subsystem_key_size=nistp256 pki_subsystem_key_type=ecc pki_audit_signing_key_algorithm=SHA256withEC pki_audit_signing_key_size=nistp256 pki_audit_signing_key_type=ecc pki_audit_signing_signing_algorithm=SHA256withECkey_algorithmパラメーターに選択できる項目は次のとおりです。SHA256withEC SHA384withEC SHA512withEC注記これらのアルゴリズムパラメーターは、CA の
CS.cfgファイルのca.profiles.defaultSigningAlgsAllowedパラメーターで指定された値に設定できます。詳細は、管理ガイドの付録 署名アルゴリズムの制約 を参照してください。署名アルゴリズムはkey_typeと一致する必要があります。ECC の場合、
key_sizeに選択できる値は次のとおりです。nistp256 nistp384 nistp521ECC の場合、
key_typeにはeccを選択できます。ブートストラップ管理者ユーザーのクライアントディレクトリーを設定します。
pki_client_dir=bootstrap_admin_directoryデフォルトでは、パスは
~/.dogtag/instance_name/に設定されています。重要pki_admin_*およびpki_client_*パラメーターは、インストールプロセスによって自動的に作成されるブートストラップユーザーに属します。デフォルトのロール (権限) とブートストラップユーザーの詳細は、「ユーザー、認可、アクセス制御」 を参照してください。このセクションで説明するパラメーターは、pki_default.cfg(5)の man ページを参照してください。ブートストラップ管理者ユーザーのさまざまなパスワードを設定します。
pki_admin_password=password pki_client_database_password=password pki_client_pkcs12_password=passwordCertificate System と Directory Server の間で TLS を設定することを選択した場合は、設定ファイルで次のパラメーターを使用します。
注記最初に基本的な TLS サーバー認証接続を作成する必要があります。インストール後、接続時にクライアント認証証明書を Directory Server に提示するよう要求するように設定します。その際にクライアント認証が設定されると、
pki_ds_passwordは意味がなくなることに注意してください。pki_ds_database=back_end_database_name pki_ds_hostname=host_name pki_ds_secure_connection=True pki_ds_secure_connection_ca_pem_file=path_to_CA_or_self-signed_certificate pki_ds_password=password pki_ds_ldaps_port=port pki_ds_bind_dn=cn=Directory Managerpki_ds_databaseパラメーターの値は、pkispawnユーティリティーが Directory Server インスタンス上にに対応するサブシステムデータベースを作成するために使用する名前です。pki_ds_hostnameパラメーターの値は、Directory Server インスタンスのインストール場所によって異なります。これは、「Directory Server パッケージのインストール」 で使用される値によって異なります。pki_ds_secure_connection=Trueを設定する場合は、以下のパラメーターを設定する必要があります。-
pki_ds_secure_connection_ca_pem_file: Directory Server の CA 証明書のエクスポートされたコピーが格納されたファイルのファイル名を含む完全修飾パスを設定します。このファイルが先に存在していなければ、pkispawnは使用できません。 -
pki_ds_ldaps_port: Directory Server がリッスンしているセキュアな LDAPS ポートの値を設定します。デフォルトは636です。
-
Directory Server で自己署名付き証明書を使用する場合は、以下のコマンドを使用して Directory Server の Network Security Services (NSS) データベースからエクスポートします。
# certutil -L -d /etc/dirsrv/slapd-instance_name/ -n "Server-Cert" -a -o /root/ds.crtセキュリティードメインとして機能する CA に対して、適切なパラメーターを設定します。
# for a CA that acts as a security domain pki_security_domain_hostname= pki_security_domain_name=example.com Security Domain pki_security_domain_user=caadmin pki_security_domain_password=SD password
[Tomcat] セクション:
Tomcat JServ Protocol (AJP) ポートを設定します。
pki_ajp_port=Tomcat_AJP_portTomcat サーバーポートを設定します。
pki_tomcat_server_port=Tomcat_server_port
同じホスト上で複数の PKI サブシステムインスタンスを実行するには、ホスト上の他のサービスで使用されていないポートを pki_ajp_port および pki_tomcat_server_port パラメーターに設定する必要があります。デフォルトでは、pki_ajp_port は 8009 に、pki_tomcat_server_port は 8005 に設定されています。
サブシステム固有の設定
初期設定ファイルを作成したら、サブシステム固有の設定を追加します。/usr/share/pki/server/etc/default.cfg ファイルで、各サブシステム ([CA]、[OCSP]、[KRA]、[TKS]、[TPS]、[ACME]、または [EST]) に適したパラメーターのリストを検索します。
7.2.2. インストール方法 (シングルステップまたはツーステップ) リンクのコピーリンクがクリップボードにコピーされました!
pkispawn は、シングルステップインストール または ツーステップインストール のいずれかで実行できます。
<pki_instance_name> パラメーターで上書きされない限り、デフォルトで pkispawn は /var/lib/pki/pki-tomcat ディレクトリー配下の pki-tomcat と呼ばれる PKI サーバーインスタンスにサブシステムをインストールします。同じインスタンスに複数のサブシステムをインストールできます。
サンプルのデプロイメント設定ファイルは、付録 XXX [NEEDS UPDATING] にあります。
7.2.2.1. ワンステップインストール リンクのコピーリンクがクリップボードにコピーされました!
ワンステップインストールのプロセスでは、管理者は最初に pkispawn 設定ファイルを作成し、次にこのファイルに対して以下のように pkispawn を実行します。
# pkispawn -s [CA, OCSP, KRA, TKS, TPS, ACME, EST] -f cs_inst.cfg –debug
インストールを開始する前に、まず --precheck オプションを指定して pkispawn コマンドを実行し、設定ファイルを検証することが推奨されます。
CA の場合の例を以下に示します。
# pkispawn -s CA -f rootca_inst.cfg --precheck --debug
# pkispawn -s CA -f rootca_inst.cfg --debug
完全な例は、「pkispawn シングルステップ方式を使用してルート CA をインストールする」 を参照してください。
7.2.2.2. ツーステップインストール リンクのコピーリンクがクリップボードにコピーされました!
ツーステップインストールでは、管理者は最初に pkispawn 設定ファイルを作成し、次に同じ pkispawn 設定ファイルに対して pkispawn を 2 回実行します。pkispawn ユーティリティーの実行間に、管理者は登録プロファイル、cs.cfg などのさまざまな設定ファイルを手動で更新できます。この方法により、より優れたカスタマイズが可能になります。
ツーステップインストールを構成する 2 段階の概要は次のとおりです。
最初のステップ (インストール)
-
pkispawn設定ファイルを作成します。 -
pkispawn(インストール) を実行します。
-
2 番目のステップ (設定)
- 設定をカスタマイズします。
-
pkispawn(設定) を実行します。
最初のステップ (インストール)
このステップでは、pkispawn を実行すると /usr/share/pki/ ディレクトリーからインスタンス固有の /etc/pki/instance_name/ ディレクトリーに設定ファイルがコピーされます。さらに pkispawn は、デプロイメント設定ファイルで定義されている値に基づき設定を行います。
インストールのこの部分では、管理者が次の 2 つのサブステップを実行する必要があります。
-
pkispawn設定ファイルを作成します。「pkispawn設定ファイルの作成」を参照してください。 次のように
pkispawnを実行します。# pkispawn -s [CA, OCSP, KRA, TKS, TPS] -f cs_inst.cfg --skip-configuration –debug注記インストールを開始する前に、まず
--precheckオプションを指定してpkispawnコマンドを実行し、設定ファイルを検証することが推奨されます。CA の場合の例を以下に示します。
# pkispawn -s CA -f rootca_inst.cfg --skip-configuration --precheck --debug # pkispawn -s CA -f rootca_inst.cfg --skip-configuration --debug
2 番目のステップ (設定)
2 番目のステップでは、pkispawn インスタンス固有の /etc/pki/instance_name/ ディレクトリーの設定ファイルに基づきインストールを続行します。
インストールのこの部分では、管理者が次の 2 つのサブステップを実行する必要があります。
カスタマイズ: ここでは、次のサブステップに進む前に、インスタンス固有の設定ファイルの一部を手動で更新できます。通常、
pkispawn設定ファイルでは設定できないがシステムの結果や動作に影響を与えるパラメーターをこの時点でカスタマイズします。たとえば、/var/lib/pki/<CA instance name>/ca/conf/のシステム証明書登録プロファイル (*.profile) を変更します (15章証明書プロファイルの設定 参照)。以下に例を示します。- 対応するシステム証明書プロファイルを編集して、システム証明書に (デフォルトプロファイルにはない) 証明書拡張を追加します。
- 対応するシステム証明書プロファイルを編集してシステム証明書の有効期間を変更します。
次のように、最初のステップと同じ
pkispawnファイルに対してpkispawnを異なる方法で実行します。# pkispawn -s [CA, OCSP, KRA, TKS, TPS] -f cs_inst.cfg --skip-installation –debug
インストールを開始する前に、まず設定ファイルを使用して事前チェックを実行することが推奨されます。
CA の場合の例を以下に示します。
# pkispawn -s CA -f rootca_inst.cfg --skip-installation --precheck --debug
# pkispawn -s CA -f rootca_inst.cfg --skip-installation --debug
完全な例は、「pkispawn ツーステップ方式を使用してルート CA をインストールする」 を参照してください。