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_instance_name=instance_nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow ホスト名を設定します。
pki_hostname=server.example.com
# pki_hostname=server.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Certificate System は、これらのパラメーターとインスタンス名に基づいて一意の証明書ニックネームを作成します。証明書のニックネームの一意性は、複数の PKI インスタンスで共有される HSM トークンの機能を維持する上で非常に重要です。
HTTP および HTTPS プロトコルのポート番号を設定します。
pki_https_port=port_number pki_http_port=port_number
pki_https_port=port_number pki_http_port=port_numberCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要同じホスト上で複数の Certificate System インスタンスを実行するには、ホスト上の他のサービスで使用されていない一意のポートを
pki_https_portおよびpki_http_portパラメーターに設定する必要があります。デフォルトでは、Certificate System は HTTP にポート 8080、HTTPS にポート 8443 を使用します。HSM 固有のパラメーターを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 詳細は、「HSM を使用した Certificate System のインストールの準備」 を参照してください。
RSA Certificate System インスタンスをビルドする場合は、次の設定を使用します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow key_algorithm パラメーターに選択できる項目は次のとおりです。
SHA256withRSA SHA384withRSA SHA512withRSA
SHA256withRSA SHA384withRSA SHA512withRSACopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記これらのアルゴリズムパラメーターは、CA の
CS.cfgファイルのca.profiles.defaultSigningAlgsAllowedパラメーターで指定された値に設定できます。詳細は、管理ガイドの付録 B.2.10 署名アルゴリズムの制約 を参照してください。署名アルゴリズムはkey_typeと一致する必要があります。証明書の作成時に RSA の代わりに楕円曲線暗号 (ECC) を使用するには、次のように設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow key_algorithmパラメーターに選択できる項目は次のとおりです。SHA256withEC SHA384withEC SHA512withEC
SHA256withEC SHA384withEC SHA512withECCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記これらのアルゴリズムパラメーターは、CA の
CS.cfgファイルのca.profiles.defaultSigningAlgsAllowedパラメーターで指定された値に設定できます。詳細は、管理ガイドの付録 署名アルゴリズムの制約 を参照してください。署名アルゴリズムはkey_typeと一致する必要があります。ECC の場合、
key_sizeに選択できる値は次のとおりです。nistp256 nistp384 nistp521
nistp256 nistp384 nistp521Copy to Clipboard Copied! Toggle word wrap Toggle overflow ECC の場合、
key_typeにはeccを選択できます。ブートストラップ管理者ユーザーのクライアントディレクトリーを設定します。
pki_client_dir=bootstrap_admin_directory
pki_client_dir=bootstrap_admin_directoryCopy to Clipboard Copied! Toggle word wrap Toggle overflow デフォルトでは、パスは
~/.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=password
pki_admin_password=password pki_client_database_password=password pki_client_pkcs12_password=passwordCopy to Clipboard Copied! Toggle word wrap Toggle overflow Certificate System と Directory Server の間で TLS を設定することを選択した場合は、設定ファイルで次のパラメーターを使用します。
注記最初に基本的な TLS サーバー認証接続を作成する必要があります。インストール後、接続時にクライアント認証証明書を Directory Server に提示するよう要求するように設定します。その際にクライアント認証が設定されると、
pki_ds_passwordは意味がなくなることに注意してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_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
# certutil -L -d /etc/dirsrv/slapd-instance_name/ -n "Server-Cert" -a -o /root/ds.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow セキュリティードメインとして機能する 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
# 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 passwordCopy to Clipboard Copied! Toggle word wrap Toggle overflow
[Tomcat] セクション:
Tomcat JServ Protocol (AJP) ポートを設定します。
pki_ajp_port=Tomcat_AJP_port
pki_ajp_port=Tomcat_AJP_portCopy to Clipboard Copied! Toggle word wrap Toggle overflow Tomcat サーバーポートを設定します。
pki_tomcat_server_port=Tomcat_server_port
pki_tomcat_server_port=Tomcat_server_portCopy to Clipboard Copied! Toggle word wrap Toggle overflow
同じホスト上で複数の 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
# 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 -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
# pkispawn -s [CA, OCSP, KRA, TKS, TPS] -f cs_inst.cfg --skip-configuration –debugCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記インストールを開始する前に、まず
--precheckオプションを指定してpkispawnコマンドを実行し、設定ファイルを検証することが推奨されます。CA の場合の例を以下に示します。
pkispawn -s CA -f rootca_inst.cfg --skip-configuration --precheck --debug pkispawn -s CA -f rootca_inst.cfg --skip-configuration --debug
# pkispawn -s CA -f rootca_inst.cfg --skip-configuration --precheck --debug # pkispawn -s CA -f rootca_inst.cfg --skip-configuration --debugCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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
# pkispawn -s [CA, OCSP, KRA, TKS, TPS] -f cs_inst.cfg --skip-installation –debugCopy to Clipboard Copied! Toggle word wrap Toggle overflow
インストールを開始する前に、まず設定ファイルを使用して事前チェックを実行することが推奨されます。
CA の場合の例を以下に示します。
pkispawn -s CA -f rootca_inst.cfg --skip-installation --precheck --debug pkispawn -s CA -f rootca_inst.cfg --skip-installation --debug
# pkispawn -s CA -f rootca_inst.cfg --skip-installation --precheck --debug
# pkispawn -s CA -f rootca_inst.cfg --skip-installation --debug
完全な例は、「pkispawn ツーステップ方式を使用してルート CA をインストールする」 を参照してください。