Planning, Installation, and Deployment Guide (Common Criteria Edition)
Red Hat Certificate System 9.4 Common Criteria 認定の更新
9.4-1 エディッション
概要
パート I. Red Hat Certificate System と導入計画の概要
第1章 このガイダンス文書について
pkispawn
フェーズ( 「pkispawn ユーティリティーを使用したインストール」で説明)でインストールが失敗した場合は、設定を慎重にチェックして、エラーログを参照することが推奨されます。pkispawn
ユーティリティーを再実行してインストールを再試行する前に、古いインスタンスを完全に削除する必要があります。サブシステムの削除については、16章サブシステムの削除 を参照してください。
第2章 Red Hat Certificate System の概要
2.1. Certificate System サブシステムのレビュー
- Certificate Manager と呼ばれる 認証局。CA は PKI の中核で、すべての証明書を発行して取り消します。Certificate Manager は、Certificate System の中核でもあります。信頼できるサブシステムの セキュリティードメイン を確立することで、別のサブシステム間の関係を確立し、管理します。
- キーリカバリー認証局 (KRA)証明書は、特定のキーペアと一意の鍵のペアに基づいて作成されます。秘密鍵が失われると、その鍵がアクセスに使用されたデータ (暗号化された電子メールなど) にもアクセスできないため、失われます。KRA は鍵のペアを格納するため、復元された鍵に基づいて新しい同一証明書を生成でき、秘密鍵が損失または破損してもすべての暗号化されたデータにアクセスできます。注記以前のバージョンの Certificate System では、KRA はデータリカバリーマネージャー (DRM) とも呼ばれます。コード、設定ファイルエントリー、Web パネルなどの一部のリソースは、KRA ではなく DRM という用語を使用する場合があります。
- オンライン証明書ステータスプロトコル (OCSP) レスポンダーOCSP は、証明書が有効かどうかを検証し、有効期限が切れていないかどうかを確認します。この機能は、内部 OCSP サービスがある CA からも実行できますが、外部の OCSP レスポンダーを使用すると、発行 CA の負荷が低くなります。
- トークンキーサービス (TKS)。TKS は、トークン CCID、プライベート情報、および定義済みのアルゴリズムに基づいて鍵を取得します。これらの派生キーは、TPS によりトークンのフォーマットに使用され、トークンに証明書を登録します。
- トークン処理システム (TPS)。TPS は、スマートカードなどの外部トークンと直接対話し、ローカルクライアント (Enterprise Security Client (ESC)) を使用してこれらのトークンの鍵と証明書を管理します。トークン操作がある場合には TPS に問い合わせ、TPS は必要に応じて CA、KRA、または TKS と対話し、Enterprise Security Client の方法で情報をトークンに送信します。
- スマートカードを管理する トークン管理システム または TMS 環境。これには CA、TKS、および TPS が必要です。サーバー側の鍵生成には任意の KRA が必要です。
- 通常、ソフトウェアデータベースでスマートカード以外の環境で使用される証明書を管理する従来の 非トークン管理システム または 非 TMS 環境です。少なくとも、TMS 以外の環境では CA のみが必要ですが、TMS 以外の環境では OCSP レスポンダーと KRA インスタンスも使用できます。
2.2. Certificate System サブシステムの概要
2.2.2. インスタンスインストールの要件
2.2.2.1. Directory Server インスタンスの可用性
2.2.2.2. PKI パッケージ
- 以下のベースパッケージは 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
#
yum install redhat-pki
2.2.2.3. インスタンスのインストールと設定
- プレーンテキスト設定ファイル(
/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
ペアで設定されます。
-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
#
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. インスタンスの削除
/var/lib/pki/instance_name/ <subsystem> /registry/ <subsystem> /deployment.cfg
)で読み取りを行い、追加のサブシステムがない場合に PKI インスタンスを削除します。詳細は、pkidestroy
の man ページを参照してください。
#
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. 起動、停止、再起動、およびステータスの取得
#
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
pki-tomcatd
Withwatchdog
disabledpki-tomcatd-nuxwdog
Withwatchdog
enabled
watchdog
サービスの詳細は、「パスワードおよびウォッチドッグ (nuxwdog)」 および 「Certificate System の Watchdog サービスの使用」 を参照してください。
2.2.3.2. インスタンスの自動起動
systemctl
ユーティリティーは、サーバー上の各プロセスの自動起動およびシャットダウン設定を管理します。これは、システムが再起動すると、一部のサービスを自動的に再起動できることを意味します。システムユニットファイルは、サービスの起動を制御し、サービスが正しい順序で起動されるようにします。systemd
サービスおよび systemctl
ユーティリティーについては、『Red Hat Enterprise Linux System Administrator's Guide』で説明されています。
systemctl
で管理できます。したがって、このユーティリティーは、インスタンスを自動的に再起動するかどうかを設定できます。Certificate System インスタンスが作成されると、システムの起動時に有効になります。これは、systemctl
を使用して変更できます。
#
systemctl disable pki-tomcatd@instance_name.service
#
systemctl enable pki-tomcatd@instance_name.service
2.2.4. プロセス管理 (pki-server および pkidaemon)
2.2.4.1. pki-server コマンドラインツール
pki-server
の man ページを参照してください。
$
pki-server [CLI options] <command> [command parameters]
$
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
ca
、kra
、tks
、ocsp
、または tps
)に置き換えます。
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 コマンドラインツール
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 の検索
https://server.example.com:8443/ca/services
pkidaemon status instance_name
https://server.example.com:8443/ca/ee/ca
https://192.0.2.1:8443/ca/services https://[2001:DB8::1111]:8443/ca/services
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. 証明書システムコンソールの起動
pkiconsole
ユーティリティーを使用して TLS ポート経由でサブシステムインスタンスに接続すると、コンソールが開きます。このユーティリティーは、以下の形式を使用します。
pkiconsole https://server.example.com:admin_port/subsystem_type
ca
、kra
、ocsp
、または tks
です。たとえば、これにより KRA コンソールが開きます。
pkiconsole https://server.example.com:8443/kra
https://192.0.2.1:8443/ca https://[2001:DB8::1111]:8443/ca
2.3. 証明書システムのアーキテクチャーの概要
2.3.1. Java Application Server
server.xml
に保存されます。https://tomcat.apache.org/tomcat-8.0-doc/config/ では、Tomcat 設定の詳細情報が提供されています。
web.xml
ファイルに保存され、Java Servlet 3.1 仕様で定義されます。詳細は https://www.jcp.org/en/jsr/detail?id=340 を参照してください。
CS.cfg
に保存されます。
2.3.2. Java Security Manager

pki_security_manager=false
オプションを指定するオーバーライド設定ファイルを使用すると、Security Manager が無効になります。
# systemctl stop pki-tomcatd@instance_name.service
または# systemctl stop pki-tomcatd-nuxwdog@instance_name.service
(nuxwdog
ウォッチドッグを使用する場合)/etc/sysconfig/instance_name
ファイルを開き、SECURITY_MANAGER="false"
を設定します。# systemctl start pki-tomcatd@instance_name.service
または# systemctl start pki-tomcatd-nuxwdog@instance_name.service
(nuxwdog
ウォッチドッグを使用する場合)
/usr/share/pki/server/conf/catalina.policy /usr/share/tomcat/conf/catalina.policy /var/lib/pki/$PKI_INSTANCE_NAME/conf/pki.policy /var/lib/pki/$PKI_INSTANCE_NAME/conf/custom.policy
/var/lib/pki/instance_name/conf/catalina.policy
に保存されます。
2.3.2.1. Java Security Manager でのサブシステムの実行
2.3.2.1.1. Security Manager ポリシーファイルについて
/usr/share/tomcat/conf
ディレクトリーにあるデフォルトの Tomcat ポリシーからのcatalina.policy
ファイル。これは、一般的な Tomcat ファイルが更新されるたびに更新されます。- サブシステムインスタンスで提供される
/var/lib/pki/instance_name/conf
ディレクトリーのpki.policy
ファイル。 - ユーザー定義のセキュリティーポリシーを含む
/var/lib/pki/instance_name/conf
ディレクトリーのcustom.policy
ファイル。
catalina.policy
ファイルの作成を開始するたびに連結されます。また、インスタンスに使用される /var/lib/pki/instance_name/conf
ディレクトリーにも連結されます。
pki.policy
ファイルには、PKI サブシステムが使用する Tomcat、LDAP、およびシンボリックリンクサービスへの無制限のアクセスを付与するパーミッションが含まれます。以下に例を示します。
// These permissions apply to Tomcat java as utilized by PKI instances grant codeBase "file:/usr/share/java/tomcat/-" { permission java.security.AllPermission; };
custom.policy
ファイルはデフォルトでは空になっています。管理者は、指定の PKI ポリシーおよび Tomcat ポリシーに加えて、このファイルでポリシーを作成することができます。
2.3.2.1.2. Java Security Manager を使用しないサブシステムインスタンスの起動
/etc/pki/default.cfg
ファイルの [Tomcat] セクションの下の pki_security_manager=true
をオーバーライドすることによって作成された場合を除く)。ただし、以下のように、インスタンスを起動または再起動して、Java Security Manager を起動 せず に実行することができます。
手順2.1 Java Security Manager を使用しないインスタンスの起動
- インスタンスを停止します。
# systemctl stop pki-tomcatd@instance_name.service
または# systemctl stop pki-tomcatd-nuxwdog@instance_name.service (if using the
nuxwdog watchdog
) /etc/sysconfig/instance_name
ファイルを編集し、セキュリティーマネージャーをオフにします。SECURITY_MANAGER="false"
- インスタンスを起動します。
# systemctl start pki-tomcatd@instance_name.service
またはsystemctl start pki-tomcatd-nuxwdog@instance_name.service (if using the
nuxwdog watchdog
)
2.3.3. インターフェイス
2.3.3.1. サーブレットインターフェイス
web.xml
ファイル( /usr/share/pki/ca/webapps/ca/WEB-INF/web.xml
)で定義されます。同じファイルは各サーブレットの URL と、サーブレットにアクセスするセキュリティー要件も定義します。詳細は、「Java Application Server」を参照してください。
2.3.3.2. 管理インターフェイス

2.3.3.3. エンドエンティティーインターフェイス

2.3.3.4. Operator インターフェイス

2.3.4. REST インターフェイス
web.xml
にあります。RESTEasy の詳細は、http://resteasy.jboss.org/ を参照してください。
- CA 証明書サービス
: http://<host_name& gt; : <port> /ca/rest/certs/
- KRA キーサービス
: http:// <host_name> : <port> /kra/rest/agent/keys/
- TKS ユーザーサービス
: http:// <host_name> : <port> /tks/rest/admin/users/
- TPS グループサービス
: http:// <host_name> : <port> /tps/rest/admin/groups/
{ "id":"admin", "UserID":"admin", "FullName":"Administrator", "Email":"admin@example.com", ... }
- ユーザー名およびパスワード
- クライアント証明書
/usr/share/pki/ca/conf/auth-method.properties
で定義されます。
/usr/share/pki/ <subsystem> /conf/acl.properties の
ACL リソースにマッピングされます。
2.3.5. NSS
2.3.6. JSS
2.3.7. Tomcatjss
tomcatjss
と呼ばれる単一の JAR ファイルを Tomcat Server HTTP エンジンと JSS 間のブリッジとして使用します。これは、NSS が実行するセキュリティー操作の Java インターフェイスです。to mcatjss は、Tomcat 用の Java Security Services (JSS)を使用した Java Secure Socket Extension (JSSE)実装です。
- サーバーが起動している。
- Tomcat は、Certificate System インストールにリスニングソケットを作成する必要がある場所に移動します。
server.xml
ファイルが処理されます。このファイルの設定は、Tomcatjs が実装するソケットファクトリーを使用するようシステムに指示します。- Tomcajss は要求される各ソケットについて、ソケットの作成時に含まれる属性を読み取り、処理します。結果として生成されるソケットは、それらのパラメーターによって要求されているために動作します。
- サーバーが稼働したら、Tomcat ベースの Certificate System への着信接続を待機する必要なリッスンソケットのセットがあります。
server.xml
ファイルの詳細は、「Tomcat Engine および Web サービスの設定ファイル」 を参照してください。
2.3.8. PKCS #11

2.3.8.1. NSS Soft Token (内部トークン)
/var/lib/pki/instance_name/alias/
ディレクトリーにあります。
- デフォルトの内部 PKCS #11 モジュールには、2 つのトークンが含まれています。
- 暗号化、復号化、ハッシュなどのすべての暗号化操作を実行する内部暗号化サービストークン。
- 内部キーストレージトークン (証明書 DB トークン)。このトークンは、証明書および鍵を保存する証明書および鍵データベースファイルをすべて処理します。
- FIPS 140 モジュールこのモジュールは、暗号化モジュール実装用の FIPS 140 政府標準に準拠します。FIPS 140 モジュールには、暗号化操作と証明書およびキーデータベースファイルとの通信の両方を処理する単一の組み込み FIPS 140 証明書データベーストークンが含まれています。
2.3.8.2. ハードウェアセキュリティーモジュール (HSM、外部トークン)
secmod.db
データベースで追跡されます。modutil
ユーティリティーは、署名操作に使用するハードウェアアクセラレーターのインストールなど、システムへの変更時にこのファイルを変更するために使用されます。modutil
の詳細は、Mozilla Developer の Web ページで Network Security Services (NSS)を参照してください。
2.3.9. 証明書システムのシリアル番号管理
2.3.9.1. シリアル番号の範囲
- 現在のシリアル番号管理は、連続したシリアル番号範囲の割り当てに基づいています。
- インスタンスは、定義されたしきい値を下回る場合に新しい範囲を要求します。
- インスタンスは、インスタンスに割り当てられたら、新たに取得した範囲に関する情報を保存します。
- インスタンスは、すべての数字が使い切られるまで古い範囲を引き続き使用し、新しい範囲に移動します。
- クローン作成されたサブシステムは、レプリケーションの競合を使用して範囲割り当てを同期します。
- マスターの現在の範囲には、クローン作成のプロセスの新しいクローンに転送されます。
- 転送範囲が定義されたしきい値を下回る場合に、新規クローンが新しい範囲を要求する可能性があります。
[CA]
セクションを追加し、必要に応じて以下の name=value
ペアをそのセクションに追記します。/etc/pki/default.cfg
にすでに存在するデフォルト値を以下の例に示します。
[CA] pki_serial_number_range_start=1 pki_serial_number_range_end=10000000 pki_request_number_range_start=1 pki_request_number_range_end=10000000 pki_replica_number_range_start=1 pki_replica_number_range_end=100
2.3.9.2. ランダムなシリアル番号管理
[CA]
セクションを追加し、そのセクションに次の name=value
ペアを追加することにより、CA インスタンスのインストール時に選択できます。
[CA] pki_random_serial_numbers_enable=True
2.3.10. セキュリティードメイン
2.3.11. パスワードおよびウォッチドッグ (nuxwdog)
instance_dir> /conf/password.conf
ファイルに書き込まれます。同時に、識別文字列は、パラメーター cms.passwordlist
の一部としてメインの設定ファイル CS.cfg
に保存されます。
CS.cfg
は Red Hat Enterprise Linux によって保護され、PKI 管理者のみがアクセスできます。CS.cfg
にはパスワードが保存されません。
password.conf
に書き込まれます。
password.conf
に配置することもできます。LDAP 公開は、公開ディレクトリーに新たに設定された Directory Manager パスワードが password.conf
に入力される一例です。
password.conf
ファイルを完全に削除できます。再起動時に、nuxwdog ウォッチドッグプログラムは、プロンプトが表示されたら、パラメーター cms.passwordlist
(HSM を使用する場合は cms.tokenList
)を使用して、必要なパスワードの入力を求めます。その後、パスワードはカーネルキーリングの nuxwdog によってキャッシュされ、サーバークラッシュからの自動リカバリーが可能になります。制御されていないシャットダウン (クラッシュ) が原因で、この自動リカバリー (自動サブシステム再起動) が発生します。管理者が制御したシャットダウンの場合は、管理者がパスワードを再度要求します。
2.3.12. 内部 LDAP データベース
2.3.13. SELinux (Security Enhanced Linux)
図2.1 CA SELinux ポートポリシー

- 各サブシステムインスタンスのファイルおよびディレクトリーには、特定の SELinux コンテキストのラベルが付けられます。
- 各サブシステムインスタンスのポートは、特定の SELinux コンテキストでラベル付けされます。
- すべての Certificate System プロセスは、サブシステム固有のドメイン内で制限されます。
- 各ドメインには、ドメインに承認されたアクションを定義する特定のルールがあります。
- SELinux ポリシーに指定されていないアクセスは、Certificate System インスタンスに対して拒否されます。
pkispawn
が実行されるたびに、Certificate System サブシステム、そのサブシステムに関連付けられたファイル、およびポートには、必要な SELinux コンテキストのラベルが付けられます。このコンテキストは、特定のサブシステムが pkidestroy
を使用して削除されると削除されます。
pki_tomcat_t
ドメインです。Certificate System インスタンスは Tomcat サーバーであり、pki_tomcat_t
ドメインは標準の tomcat_t
Tomcat ドメインのポリシーを拡張します。サーバー上のすべての Certificate System インスタンスが同じドメインを共有します。
unconfined_t
)で実行され、pki_tomcat_t
ドメインに移行します。その後、このプロセスには、pki_tomcat_log_t
というラベルの付いたログファイルへの書き込みアクセス、pki_tomcat_etc_rw_t
というラベルが付いた設定ファイルへの読み書きアクセス、http_port_t
ポートを開いて書き込む機能など、特定のアクセスパーミッションがあります。
2.3.14. セルフテスト
#
pki-server subsystem-enable <subsystem>
2.3.15. ログ
pki_subsystem_log_path
に指定されているすべてのディレクトリーに配置されます。 通常の監査ログは他のログタイプとともにログディレクトリーに置かれ、署名された監査ログは /var/log/pki/instance_name/subsystem_name/signedAudit
に書き込まれます。ログのデフォルトの場所を変更するには、設定を変更してください。
2.3.15.1. 監査ログ
2.3.15.2. システムログ
system
です。サーバーへの要求に関する情報 (HTTP および HTTPS のすべてのリクエスト) とサーバーからの応答を記録します。このログに記録される情報には、サーバーにアクセスしたクライアントマシンの IP アドレス (IPv4 と IPv6 の両方)、検索、追加、編集などの実行される操作、返されたエントリーの数などのアクセスの結果が含まれます。
id_number processor - [date:time] [number_of_operations] [result] servlet: message
例2.1 TKS システムログ
10439.http-13443-Processor25 - [19/May/2021:14:16:51 CDT] [11] [3] UGSubsystem: Get User Error User not found
2.3.15.3. トランザクションログ
transactions
で、サブシステムに実行された操作または送信された操作をすべて記録します。
id_number.processor - [date:time] [number_of_operations] [result] servlet: message
例2.2 トランザクションログ
11438.http-8443-Processor25 - [27/May/2021:07:56:18 CDT] [1] [1] archival reqID 4 fromAgent agentID: CA-server.example.com-8443 authenticated by noAuthManager is completed DN requested: UID=recoverykey,E=recoverykey@email.com,CN=recover key serial number: 0x3
2.3.15.4. デバッグログ
[date:time] [processor]: servlet: message
[10/Jun/2021:05:14:51][main]: Established LDAP connection using basic authentication to host localhost port 389 as cn=Directory Manager
[06/Jun/2021:14:59:38][http-8443;-Processor24]: ProfileSubmitServlet: key=$request.requestowner$ value=KRA-server.example.com-8443
例2.3 CA 証明書要求ログメッセージ
[06/Jun/2021:14:59:38][http-8443;-Processor24]: ProfileSubmitServlet: key=$request.profileapprovedby$ value=admin [06/Jun/2021:14:59:38][http-8443;-Processor24]: ProfileSubmitServlet: key=$request.cert_request$ value=MIIBozCCAZ8wggEFAgQqTfoHMIHHgAECpQ4wDDEKMAgGA1UEAxMBeKaBnzANBgkqhkiG9w0BAQEFAAOB... [06/Jun/2021:14:59:38][http-8443;-Processor24]: ProfileSubmitServlet: key=$request.profile$ value=true [06/Jun/2021:14:59:38][http-8443;-Processor24]: ProfileSubmitServlet: key=$request.cert_request_type$ value=crmf [06/Jun/2021:14:59:38][http-8443;-Processor24]: ProfileSubmitServlet: key=$request.requestversion$ value=1.0.0 [06/Jun/2021:14:59:38][http-8443;-Processor24]: ProfileSubmitServlet: key=$request.req_locale$ value=en [06/Jun/2021:14:59:38][http-8443;-Processor24]: ProfileSubmitServlet: key=$request.requestowner$ value=KRA-server.example.com-8443 [06/Jun/2021:14:59:38][http-8443;-Processor24]: ProfileSubmitServlet: key=$request.dbstatus$ value=NOT_UPDATED [06/Jun/2021:14:59:38][http-8443;-Processor24]: ProfileSubmitServlet: key=$request.subject$ value=uid=jsmith, e=jsmith@example.com [06/Jun/2021:14:59:38][http-8443;-Processor24]: ProfileSubmitServlet: key=$request.requeststatus$ value=begin [06/Jun/2021:14:59:38][http-8443;-Processor24]: ProfileSubmitServlet: key=$request.auth_token.user$ value=uid=KRA-server.example.com-8443,ou=People,dc=example,dc=com [06/Jun/2021:14:59:38][http-8443;-Processor24]: ProfileSubmitServlet: key=$request.req_key$ value=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDreuEsBWq9WuZ2MaBwtNYxvkLP^M HcN0cusY7gxLzB+XwQ/VsWEoObGldg6WwJPOcBdvLiKKfC605wFdynbEgKs0fChV^M k9HYDhmJ8hX6+PaquiHJSVNhsv5tOshZkCfMBbyxwrKd8yZ5G5I+2gE9PUznxJaM^M HTmlOqm4HwFxzy0RRQIDAQAB [06/Jun/2021:14:59:38][http-8443;-Processor24]: ProfileSubmitServlet: key=$request.auth_token.authmgrinstname$ value=raCertAuth [06/Jun/2021:14:59:38][http-8443;-Processor24]: ProfileSubmitServlet: key=$request.auth_token.uid$ value=KRA-server.example.com-8443 [06/Jun/2021:14:59:38][http-8443;-Processor24]: ProfileSubmitServlet: key=$request.auth_token.userid$ value=KRA-server.example.com-8443 [06/Jun/2021:14:59:38][http-8443;-Processor24]: ProfileSubmitServlet: key=$request.requestor_name$ value= [06/Jun/2021:14:59:38][http-8443;-Processor24]: ProfileSubmitServlet: key=$request.profileid$ value=caUserCert [06/Jun/2021:14:59:38][http-8443;-Processor24]: ProfileSubmitServlet: key=$request.auth_token.userdn$ value=uid=KRA-server.example.com-4747,ou=People,dc=example,dc=com [06/Jun/2021:14:59:38][http-8443;-Processor24]: ProfileSubmitServlet: key=$request.requestid$ value=20 [06/Jun/2021:14:59:38][http-8443;-Processor24]: ProfileSubmitServlet: key=$request.auth_token.authtime$ value=1212782378071 [06/Jun/2021:14:59:38][http-8443;-Processor24]: ProfileSubmitServlet: key=$request.req_x509info$ value=MIICIKADAgECAgEAMA0GCSqGSIb3DQEBBQUAMEAxHjAcBgNVBAoTFVJlZGJ1ZGNv^M bXB1dGVyIERvbWFpbjEeMBwGA1UEAxMVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4X^M DTA4MDYwNjE5NTkzOFoXDTA4MTIwMzE5NTkzOFowOzEhMB8GCSqGSIb3DQEJARYS^M anNtaXRoQGV4YW1wbGUuY29tMRYwFAYKCZImiZPyLGQBARMGanNtaXRoMIGfMA0G^M CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDreuEsBWq9WuZ2MaBwtNYxvkLPHcN0cusY^M 7gxLzB+XwQ/VsWEoObGldg6WwJPOcBdvLiKKfC605wFdynbEgKs0fChVk9HYDhmJ^M 8hX6+PaquiHJSVNhsv5tOshZkCfMBbyxwrKd8yZ5G5I+2gE9PUznxJaMHTmlOqm4^M HwFxzy0RRQIDAQABo4HFMIHCMB8GA1UdIwQYMBaAFG8gWeOJIMt+aO8VuQTMzPBU^M 78k8MEoGCCsGAQUFBwEBBD4wPDA6BggrBgEFBQcwAYYuaHR0cDovL3Rlc3Q0LnJl^M ZGJ1ZGNvbXB1dGVyLmxvY2FsOjkwODAvY2Evb2NzcDAOBgNVHQ8BAf8EBAMCBeAw^M HQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMEMCQGA1UdEQQdMBuBGSRyZXF1^M ZXN0LnJlcXVlc3Rvcl9lbWFpbCQ=
[07/Jul/2021:06:25:40][http-11180-Processor25]: OCSPServlet: OCSP Request: [07/Jul/2021:06:25:40][http-11180-Processor25]: OCSPServlet: MEUwQwIBADA+MDwwOjAJBgUrDgMCGgUABBSEWjCarLE6/BiSiENSsV9kHjqB3QQU
2.3.15.5. インストールログ
/var/log/pki/
ディレクトリーに、名前が pki-subsystem_name-spawn.timestamp.log
の形式で指定します。
例2.4 CA インストールログ
... 2015-07-22 20:43:13 pkispawn : INFO ... finalizing 'pki.server.deployment.scriptlets.finalization' 2015-07-22 20:43:13 pkispawn : INFO ....... cp -p /etc/sysconfig/pki/tomcat/pki-tomcat/ca/deployment.cfg /var/log/pki/pki-tomcat/ca/archive/spawn_deployment.cfg.20150722204136 2015-07-22 20:43:13 pkispawn : DEBUG ........... chmod 660 /var/log/pki/pki-tomcat/ca/archive/spawn_deployment.cfg.20150722204136 2015-07-22 20:43:13 pkispawn : DEBUG ........... chown 26445:26445 /var/log/pki/pki-tomcat/ca/archive/spawn_deployment.cfg.20150722204136 2015-07-22 20:43:13 pkispawn : INFO ....... generating manifest file called '/etc/sysconfig/pki/tomcat/pki-tomcat/ca/manifest' 2015-07-22 20:43:13 pkispawn : INFO ....... cp -p /etc/sysconfig/pki/tomcat/pki-tomcat/ca/manifest /var/log/pki/pki-tomcat/ca/archive/spawn_manifest.20150722204136 2015-07-22 20:43:13 pkispawn : DEBUG ........... chmod 660 /var/log/pki/pki-tomcat/ca/archive/spawn_manifest.20150722204136 2015-07-22 20:43:13 pkispawn : DEBUG ........... chown 26445:26445 /var/log/pki/pki-tomcat/ca/archive/spawn_manifest.20150722204136 2015-07-22 20:43:13 pkispawn : INFO ....... executing 'systemctl enable pki-tomcatd.target' 2015-07-22 20:43:13 pkispawn : INFO ....... executing 'systemctl daemon-reload' 2015-07-22 20:43:13 pkispawn : INFO ....... executing 'systemctl restart pki-tomcatd@pki-tomcat.service' 2015-07-22 20:43:14 pkispawn : INFO END spawning subsystem 'CA' of instance 'pki-tomcat' 2015-07-22 20:43:14 pkispawn : DEBUG
2.3.15.6. Tomcat のエラーとアクセスログ
- admin.timestamp
- catalina.timestamp
- catalina.out
- host-manager.timestamp
- localhost.timestamp
- localhost_access_log.timestamp
- manager.timestamp
2.3.15.7. セルフテストログ
CS.cfg
ファイルの設定を変更してのみ設定できます。このセクションのログに関する情報は、このログには関係しません。セルフテストについての詳細は、「セルフテスト」を参照してください。
2.3.15.8. journalctl
ログ
systemd
によってキャプチャーされ、journalctl
ユーティリティーを介して公開されます。
# journalctl -u pki-tomcatd@instance_name.service
nuxwdog
サービスを使用している場合は、以下を行います。
# journalctl -u pki-tomcatd-nuxwdog@instance_name.service
# journalctl -f -u pki-tomcatd@instance_name.service
nuxwdog
サービスを使用している場合は、以下を行います。
# journalctl -f -u pki-tomcatd-nuxwdog@instance_name.service
2.3.16. インスタンスのレイアウト
/etc/pki/instance_name/server.xml
に保存されますが、CA サーブレットは /usr/share/pki/ca/webapps/ca/WEB-INF/web.xml
で定義されます。これは、システム上のすべてのサーバーインスタンスで共有されます。
2.3.16.1. Certificate System のファイルおよびディレクトリーの場所
pki-tomcat
です。true の値は、pkispawn
でサブシステムの作成時に指定されます。
設定 | 値 |
---|---|
メインディレクトリー | /var/lib/pki/pki-tomcat |
設定ディレクトリー | /etc/pki/pki-tomcat |
設定ファイル |
/etc/pki/pki-tomcat/server.xml
/etc/pki/pki-tomcat/password.conf
|
セキュリティーデータベース | /var/lib/pki/pki-tomcat/alias |
サブシステム証明書 |
TLS サーバー証明書
サブシステム証明書[a]
|
ログファイル | /var/log/pki/pki-tomcat |
Web サービスファイル |
/usr/share/pki/server/webapps/ROOT - メインページ
/usr/share/pki/server/webapps/pki/admin - 管理テンプレート
/usr/share/pki/server/webapps/pki/js - JavaScript ライブラリー
|
[a]
サブシステム証明書はセキュリティードメインによって常に発行されるため、クライアント認証を必要とするドメインレベルの操作はこのサブシステム証明書をベースにします。
|
/var/lib/pki/instance_name/conf/
ディレクトリーは、/etc/pki/instance_name/
ディレクトリーへのシンボリックリンクです。
2.3.16.2. CA サブシステム情報
pki-tomcat
です。true の値は、pkispawn
でサブシステムの作成時に指定されます。
設定 | 値 |
---|---|
メインディレクトリー | /var/lib/pki/pki-tomcat/ca |
設定ディレクトリー | /etc/pki/pki-tomcat/ca |
設定ファイル | /etc/pki/pki-tomcat/ca/CS.cfg |
サブシステム証明書 |
CA 署名証明書
OCSP 署名証明書 (CA の内部 OCSP サービス用)
監査ログ署名証明書
|
ログファイル | /var/log/pki/pki-tomcat/ca |
ログのインストール | /var/log/pki/pki-ca-spawn.YYYYMMDDhhmmss.log |
プロファイルファイル | /var/lib/pki/pki-tomcat/ca/profiles/ca |
メール通知テンプレート | /var/lib/pki/pki-tomcat/ca/emails |
Web サービスファイル |
/usr/share/pki/ca/webapps/ca/agent: エージェントサービス
/usr/share/pki/ca/webapps/ca/admin: 管理サービス
/usr/share/pki/ca/webapps/ca/ee: エンドユーザーサービス
|
2.3.16.3. KRA サブシステム情報
pki-tomcat
です。true の値は、pkispawn
でサブシステムの作成時に指定されます。
設定 | 値 |
---|---|
メインディレクトリー | /var/lib/pki/pki-tomcat/kra |
設定ディレクトリー | /etc/pki/pki-tomcat/kra |
設定ファイル | /etc/pki/pki-tomcat/kra/CS.cfg |
サブシステム証明書 |
トランスポート証明書
ストレージ証明書
監査ログ署名証明書
|
ログファイル | /var/log/pki/pki-tomcat/kra |
ログのインストール | /var/log/pki/pki-kra-spawn.YYYYMMDDhhmmss.log |
Web サービスファイル |
/usr/share/pki/kra/webapps/kra/agent: エージェントサービス
/usr/share/pki/kra/webapps/kra/admin: 管理サービス
|
2.3.16.4. OCSP サブシステム情報
pki-tomcat
です。true の値は、pkispawn
でサブシステムの作成時に指定されます。
設定 | 値 |
---|---|
メインディレクトリー | /var/lib/pki/pki-tomcat/ocsp |
設定ディレクトリー | /etc/pki/pki-tomcat/ocsp |
設定ファイル | /etc/pki/pki-tomcat/ocsp/CS.cfg |
サブシステム証明書 |
OCSP 署名証明書
監査ログ署名証明書
|
ログファイル | /var/log/pki/pki-tomcat/ocsp |
ログのインストール | /var/log/pki/pki-ocsp-spawn.YYYYMMDDhhmmss.log |
Web サービスファイル |
/usr/share/pki/ocsp/webapps/ocsp/agent: エージェントサービス
/usr/share/pki/ocsp/webapps/ocsp/admin: 管理サービス
|
2.3.16.5. TKS サブシステム情報
pki-tomcat
です。true の値は、pkispawn
でサブシステムの作成時に指定されます。
設定 | 値 |
---|---|
メインディレクトリー | /var/lib/pki/pki-tomcat/tks |
設定ディレクトリー | /etc/pki/pki-tomcat/tks |
設定ファイル | /etc/pki/pki-tomcat/tks/CS.cfg |
サブシステム証明書 | 監査ログ署名証明書 |
ログファイル | /var/log/pki/pki-tomcat/tks |
ログのインストール | /var/log/pki/pki-tomcat/pki-tks-spawn.YYYYMMDDhhmmss.log |
2.3.16.6. TPS サブシステム情報
pki-tomcat
です。true の値は、pkispawn
でサブシステムの作成時に指定されます。
設定 | 値 |
---|---|
メインディレクトリー | /var/lib/pki/pki-tomcat/tps |
設定ディレクトリー | /etc/pki/pki-tomcat/tps |
設定ファイル | /etc/pki/pki-tomcat/tps/CS.cfg |
サブシステム証明書 | 監査ログ署名証明書 |
ログファイル | /var/log/pki/pki-tomcat/tps |
ログのインストール | /var/log/pki/pki-tps-spawn.YYYYMMDDhhhmmss.log |
Web サービスファイル | /usr/share/pki/tps/webapps/tps - TPS サービス |
2.3.16.7. 共有 Certificate System サブシステムファイルの場所
ディレクトリーの場所 | コンテンツ |
---|---|
/usr/share/pki | Certificate System インスタンスの作成に使用する一般的なファイルとテンプレートが含まれます。すべてのサブシステムの共有ファイルとともに、サブディレクトリーにサブシステム固有のファイルがあります。
|
/usr/bin | Certificate System サブシステムが共有する pkispawn および pkidestroy インスタンス設定スクリプトおよびツール(Java、ネイティブ、およびセキュリティー)が含まれます。 |
/usr/share/java/pki | ローカルの Tomcat Web アプリケーションが共有し、Certificate System サブシステムで共有される Java アーカイブファイルが含まれます。 |
2.4. PKI (証明書システムあり)
2.4.1. 証明書の発行
2.4.1.1. コマンドラインを使用した登録
2.4.1.1.1. CMC を使用した登録
certutil
、openssl
、PKCS10Client
、またはCRMFPopClient
などのユーティリティーを使用して、PKCS #10 または CRMF 証明書署名要求(CSR)を生成します。詳細については、『Red Hat Certificate System 管理ガイドガイド (Common Criteria Edition)』 の 『証明書署名リクエストの作成』 のセクションを参照してください。注記Key Recovery Agent (KRA)で鍵のアーカイブが有効になっている場合は、kra.transport
ファイルに設定されている Privacy Enhanced Mail (PEM)形式の KRA のトランスポート証明書とともにCRMFPopClient
ユーティリティーを使用します。CMCRequest
ユーティリティーを使用して、CSR を CMC 要求に変換します。CMCRequest
ユーティリティーは、設定ファイルを入力として使用します。このファイルには、CSR へのパスや CSR の形式などが含まれます。詳細および例は、CMCRequest(1) の man ページを参照してください。HttpClient
ユーティリティーを使用して、CMC 要求を CA に送信します。HttpClient
は、CMC 要求ファイルやサーブレットへのパスなどの設定で設定ファイルを使用します。HttpClient コマンドが成功すると、ユーティリティーは、CA からの CMC 応答で CMC ステータス制御を備えた PKCS #7 チェーンを受け取ります。ユーティリティーが提供するパラメーターの詳細は、パラメーターを指定せずに HttpClient コマンドを入力します。CMCResponse
ユーティリティーを使用して、HttpClient
によって生成された CMC 応答ファイルの発行結果を確認します。要求が正常に行われると、CMCResponse
は証明書チェーンを読み取り可能な形式でステータス情報とともに表示します。詳細は、CMCResponse(1) の man ページをご覧ください。- 新しい証明書をアプリケーションにインポートします。詳細は、証明書をインポートするアプリケーションの手順に従います。注記
HttpClient
によって取得された証明書は、PKCS #7 を含む CMC 応答形式です。アプリケーションが Base64 でエンコードされた証明書のみに対応している場合は、BtoA
ユーティリティーを使用して証明書を変換します。また、一部のアプリケーションでは、PEM (Privacy Enhanced Mail) 形式の証明書にヘッダーとフッターが必要です。必要な場合は、証明書を変換した後に PEM ファイルに手動で追加します。
2.4.1.1.2. POP なしの CMC 登録
HttpClient
ユーティリティーは EncryptedPOP
CMC ステータスを受け取ります。これは、CMCResponse コマンドで表示されます。この場合は、設定ファイルに異なるパラメーターを指定して CMCRequest
コマンドを再度入力します。
2.4.1.1.3. 署名付き CMC 要求
- エージェントが要求に署名する場合は、プロファイルの認証方法を CMCAuth に設定します。
- ユーザーが要求に署名する場合は、プロファイルの認証方法を CMCUserSignedAuth に設定します。
2.4.1.1.4. 署名なしの CMC 要求
CMCUserSignedAuth
認証プラグインがプロファイルで設定されている場合は、共有秘密認証メカニズムと組み合わせて署名されていない CMC 要求を使用する必要があります。
自己署名 CMC 要求
とも呼ばれます。
2.4.1.1.6. 単純な CMC 要求
HttpClient
ユーティリティーの設定ファイルで以下を設定します。
servlet=/ca/ee/ca/profileSubmitCMCSimple?profileId=caECSimpleCMCUserCert
2.4.1.2. 証明書プロファイル
- X.509 バージョン 3 に準拠する証明書
- 証明書サブジェクト名と発行者名に対する Unicode サポート
- 空の証明書のサブジェクト名のサポート
- カスタマイズされたサブジェクト名コンポーネントのサポート
- カスタマイズされた拡張機能のサポート
instance directory>/ca/profiles/ca
に保存され、その名前は < profile id > .cfg
の形式になります。適切な pkispawn 設定パラメーターを使用すると、LDAP ベースのプロファイルが可能です。
2.4.1.3. 証明書登録の認証
2.4.1.4. クロスペアの証明書
2.4.2. 証明書の更新
2.4.3. 証明書および CRL の公開
2.4.4. 証明書の取り消しとステータスの確認
2.4.4.1. 証明書の取り消し
CMCRequest
ユーティリティーを使用して証明書を取り消すことができます。詳細は、『Red Hat Certificate System 管理ガイド (Common Criteria Edition)』 の 『CMC の取り消しの実行』 セクションを参照してください。
2.4.4.2. 証明書の状態
2.4.4.2.1. CRL
2.4.4.2.2. OCSP サービス
- CA は、証明書のステータスに対してクエリーできる OCSP レスポンダーを特定する Authority Information Access 拡張を含む証明書を発行するよう設定されます。
- CA は CRL を OCSP レスポンダーに定期的に公開します。
- OCSP レスポンダーは、CA から受け取る CRL を維持します。
- OCSP 準拠のクライアントは、検証用の OCSP レスポンダーに証明書を特定するのに必要なすべての情報が含まれるリクエストを送信します。アプリケーションは、検証する証明書の Authority Information Access 拡張の値から OCSP レスポンダーの場所を決定します。
- OCSP レスポンダーは、リクエストに処理に必要なすべての情報が含まれるかどうかを判断します。有効になっていない場合、または要求されたサービスに対して有効になっていない場合は、拒否通知が送信されます。十分な情報がある場合は、要求を処理し、証明書のステータスを示すレポートを送信します。
2.4.4.2.2.1. OCSP レスポンスの署名
- ステータスがチェックされている証明書を発行した CA。
- クライアントが信頼する公開鍵のあるレスポンダー。このようなレスポンダーは 信頼できるレスポンダー と呼ばれます。
- 証明書を取り消して CRL を公開する CA から直接発行された、特別にマークされた証明書を保持するレスポンダー。レスポンダーによるこの証明書の所持は、CA が、CA によって取り消された証明書に対して OCSP 応答を発行することをレスポンダーに許可したことを示します。このようなレスポンダーは、CA 設計されたレスポンダー または CA 承認レスポンダー と呼ばれます。
2.4.4.2.2.2. OCSP レスポンス
- Good or Verified。ステータス照会に対する肯定応答を指定します。これは、証明書が取り消されていないことを意味します。必ずしも証明書が発行されたことや、証明書の有効期間内であることを意味するわけではありません。応答拡張は、証明書のステータスに関するレスポンダーによるアサーションの追加情報を示すために使用できます。
- Revoked。永続的または一時的に、証明書が取り消されたことを指定します。
2.4.4.2.2.3. OCSP サービス
- Certificate Manager に構築された OCSP
- Online Certificate Status Manager サブシステム
2.4.5. キーのアーカイブ、リカバリー、およびローテーション
- キーと CSR を CRMF 形式で生成できるクライアント。詳細については、『Red Hat Certificate System 管理ガイド (Common Criteria Edition)』 の 『証明書署名リクエストの作成』 のセクションを参照してください。
CMCRequest
ユーティリティーなど、CRMF 要求を CMC に変換できるクライアント。- 指定された登録プロファイルを通じて、CRMF リクエストが埋め込まれた CMC リクエストを CA に送信できるクライアント。
- インストールおよび設定された KRA。
2.4.5.1. キーのアーカイブ
- 従業員が秘密暗号化キーを紛失し、暗号化されたメールメッセージを読むことができなくなりました。
- 従業員が長期休暇中で、誰かが暗号化されたドキュメントにアクセスする必要があります。
- 従業員が会社を退職し、会社の役人は従業員の暗号化されたメールへのアクセスを必要とする監査を実行する必要があります。
- キーリカバリーエージェントがキー ID で検索されると、その ID に対応するキーのみが返されます。
- ユーザー名でエージェントを検索すると、その所有者に属する保存されたすべてのキーが返されます。
- 証明書の公開鍵でエージェントを検索すると、対応する秘密鍵のみが返されます。
- トランスポートキーペアと対応する証明書。
- ストレージキーペア
図2.2 キーアーカイブプロセスのしくみ

- クライアントは CRMF リクエストを生成し、CA の登録ポータルを介して送信します。この手順の詳細については、『Red Hat Certificate System 管理ガイド (Common Criteria Edition)』 の 『鍵のアーカイブ手順を使用して暗号化のみの証明書を取得する例』 を参照してください。
- 証明書の要求を承認し、証明書を発行した後、Certificate Manager はそれを KRA に送信して、公開キーと共に保管します。Certificate Manager は、秘密鍵が受信および保存され、それが公開暗号化鍵に対応するという KRA からの確認を待ちます。
- KRA は、秘密鍵を使用して暗号化を解除します。秘密暗号化キーが公開暗号化キーに対応することを確認した後、KRA は内部データベースに保存する前に、ストレージキーの公開キーペアを使用して再度暗号化します。
- Certificate Manager は、署名キーと暗号化キーのペアに対して 2 つの証明書を発行し、それらをエンドエンティティーに返します。
2.4.5.2. キーのリカバリー
図2.3 非同期リカバリー

pki
ユーティリティーを使用してこの動作を複製する必要があります。詳細は pki(1) および pki-key(1)の man ページを参照してください。
pki
ユーティリティーは、このようなタイプのシークレットの保存および取得を可能にするオプションをサポートします。
2.4.5.3. KRA トランスポートのキーローテーション
- 新しい KRA トランスポートの鍵および証明書の生成
- 新しいトランスポートキーおよび証明書の KRA クローンへの転送
- 新しい KRA トランスポート証明書を使用した CA 設定の更新
- 新しいトランスポートキーおよび証明書のみを使用するように KRA 設定を更新
- 新しい KRA トランスポートキーおよび証明書の生成
- KRA トランスポート証明書を要求します。
- KRA を停止します。
systemctl stop pki-tomcatd@pki-kra.service
またはsystemctl stop pki-tomcatd-nuxwdog@pki-kra.service (if using the
nuxwdog watchdog
) - KRA NSS データベースディレクトリーに移動します。
cd /etc/pki/pki-kra/alias
- サブディレクトリーを作成し、すべての NSS データベースファイルを保存します。以下に例を示します。
mkdir nss_db_backup cp *.db nss_db_backup
PKCS10Client
ユーティリティーを使用して新しい要求を作成します。以下に例を示します。PKCS10Client -p password -d '.' -o 'req.txt' -n 'CN=KRA Transport 2 Certificate,O=example.com Security Domain'
または、certutil
ユーティリティーを使用します。以下に例を示します。certutil -d . -R -k rsa -g 2048 -s 'CN=KRA Transport 2 Certificate,O=example.com Security Domain' -f password-file -a -o transport-certificate-request-file
- CA エンドエンティティーページの 手動データリカバリーマネージャートランスポート証明書の登録 ページで、トランスポート証明書要求を送信します。
- End-Entity 取得ページで要求ステータスをチェックして、送信した要求のエージェント承認が証明書を取得するのを待ちます。
- CA Agent Services インターフェイスを使用して KRA トランスポート証明書を承認します。
- KRA トランスポート証明書を取得します。
- KRA NSS データベースディレクトリーに移動します。
cd /etc/pki/pki-kra/alias
- End-Entity 取得ページで要求ステータスをチェックして、送信した要求のエージェント承認が証明書を取得するのを待ちます。
- 新しい KRA トランスポート証明書が利用可能になったら、その Base64 でエンコードされた値をテキストファイル(例:
cert-serial_number.txt
ファイル)に貼り付けます。ヘッダー(-----BEGIN CERTIFICATE-----
)またはフッター(-----END CERTIFICATE-----
)を含めないでください。
- KRA トランスポート証明書を要求します。
- KRA NSS データベースディレクトリーに移動します。
cd /etc/pki/pki-kra/alias
- トランスポート証明書を KRA NSS データベースにインポートします。
certutil -d . -A -n 'transportCert-serial_number cert-pki-kra KRA' -t 'u,u,u' -a -i cert-serial_number.txt
- KRA トランスポート証明書設定を更新します。
- KRA NSS データベースディレクトリーに移動します。
cd /etc/pki/pki-kra/alias
- 新しい KRA トランスポート証明書がインポートされていることを確認します。
certutil -d . -L certutil -d . -L -n 'transportCert-serial_number cert-pki-kra KRA'
/var/lib/pki/pki-kra/kra/conf/CS.cfg
ファイルを開き、以下の行を追加します。kra.transportUnit.newNickName=transportCert-serial_number cert-pki-kra KRA
- 新しいトランスポートキーおよび証明書の KRA クローンへの伝搬
- KRA を起動します。
systemctl start pki-tomcatd@pki-kra.service
またはsystemctl start pki-tomcatd-nuxwdog@pki-kra.service (if using the
nuxwdog watchdog
) - クローンに伝播するために、新しいトランスポートキーと証明書を抽出します。
- KRA NSS データベースディレクトリーに移動します。
cd /etc/pki/pki-kra/alias
- KRA を停止します。
systemctl stop pki-tomcatd@pki-kra.service
またはsystemctl stop pki-tomcatd-nuxwdog@pki-kra.service (if using the
nuxwdog watchdog
) - 新しい KRA トランスポート証明書が存在することを確認します。
certutil -d . -L certutil -d . -L -n 'transportCert-serial_number cert-pki-kra KRA'
- KRA の新規トランスポートキーおよび証明書をエクスポートします。
pk12util -o transport.p12 -d . -n 'transportCert-serial_number cert-pki-kra KRA'
- エクスポートした KRA トランスポート鍵および証明書を確認します。
pk12util -l transport.p12
- 各 KRA クローンで以下の手順を実行します。
- トランスポートキーおよび証明書を含む
transport.p12
ファイルを KRA クローンの場所にコピーします。 - クローンの NSS データベースディレクトリーに移動します。
cd /etc/pki/pki-kra/alias
- KRA のクローンを停止します。
systemctl stop pki-tomcatd@pki-kra.service
またはsystemctl stop pki-tomcatd-nuxwdog@pki-kra.service (if using the
nuxwdog watchdog
) - クローン NSS データベースの内容を確認します。
certutil -d . -L
- クローンの新規トランスポートキーと証明書をインポートします。
pk12util -i transport.p12 -d .
- クローンの
/var/lib/pki/pki-kra/kra/conf/CS.cfg
ファイルに以下の行を追加します。kra.transportUnit.newNickName=transportCert-serial_number cert-pki-kra KRA
- KRA のクローンを起動します。
systemctl start pki-tomcatd@pki-kra.service
またはsystemctl start pki-tomcatd-nuxwdog@pki-kra.service (if using the
nuxwdog watchdog
)
- 新しい KRA トランスポート証明書を使用した CA 設定の更新
- CA に組み込む新しい KRA トランスポート証明書をフォーマットします。
- 直前の手順で KRA トランスポート証明書を取得する際に作成された
cert-serial_number.txt
KRA トランスポート証明書ファイルを取得します。 cert-serial_number.txt
に含まれる Base64 でエンコードされた証明書を 1 行に変換します。tr -d '\n' < cert-serial_number.txt > cert-one-line-serial_number.txt
- CA と、上記の KRA に対応するすべてのクローンに対して以下を行います。
- CA を停止します。
systemctl stop pki-tomcatd@pki-ca.service
またはsystemctl stop pki-tomcatd-nuxwdog@pki-ca.service (if using the
nuxwdog watchdog
) /var/lib/pki/pki-ca/ca/conf/CS.cfg
ファイルで、以下の行に含まれる証明書を見つけます。ca.connector.KRA.transportCert=certificate
その証明書を、cert-one-line-serial_number.txt
に含まれる証明書に置き換えます。- CA を起動します。
systemctl start pki-tomcatd@pki-ca.service
またはsystemctl start pki-tomcatd-nuxwdog@pki-ca.service (if using the
nuxwdog watchdog
)
注記CA とそのすべてのクローンが新しい KRA トランスポート証明書で更新されている間、移行を完了した CA インスタンスは新しい KRA トランスポート証明書を使用し、まだ更新されていない CA インスタンスは引き続き古い KRA トランスポート証明書を使用します。対応する KRA とそのクローンが両方のトランスポート証明書を使用するよう更新されているため、ダウンタイムは発生しません。- 新しいトランスポートキーおよび証明書のみを使用するように KRA 設定を更新
- KRA とその各クローンについて、以下を実行します。
- KRA NSS データベースディレクトリーに移動します。
cd /etc/pki/pki-kra/alias
- KRA を停止します。
systemctl stop pki-tomcatd@pki-kra.service
またはsystemctl stop pki-tomcatd-nuxwdog@pki-kra.service (if using the
nuxwdog watchdog
) - 新しい KRA トランスポート証明書がインポートされていることを確認します。
certutil -d . -L certutil -d . -L -n 'transportCert-serial_number cert-pki-kra KRA'
/var/lib/pki/pki-kra/kra/conf/CS.cfg
ファイルを開き、以下の行に含まれるnickName
値を見つけます。kra.transportUnit.nickName=transportCert cert-pki-kra KRA
nickName
の値を、以下の行に含まれるnewNickName
値に置き換えます。kra.transportUnit.newNickName=transportCert-serial_number cert-pki-kra KRA
これにより、CS.cfg
ファイルに以下の行が含まれます。kra.transportUnit.nickName=transportCert-serial_number cert-pki-kra KRA
/var/lib/pki/pki-kra/kra/conf/CS.cfg
から以下の行を削除します。kra.transportUnit.newNickName=transportCert-serial_number cert-pki-kra KRA
- KRA を起動します。
systemctl start pki-tomcatd@pki-kra.service
またはsystemctl start pki-tomcatd-nuxwdog@pki-kra.service (if using the
nuxwdog watchdog
)
2.5. 証明書システムを使用したスマートカードトークン管理
図2.4 TMS スマートカードの管理方法

2.5.1. トークンキーサービス (TKS)
2.5.1.1. マスターキーおよびキーセット
CS.cfg
)にエントリーセットがあります。各 TPS プロファイルには、TMS とスマートカードトークン間のセッション固有のキーのセットによってセキュリティーが保護された Secure Channel の確立を本質的に担当する、一致するキー導出プロセスの適切な TKS キーセットに登録を指示する設定が含まれています。
2.5.1.3. キー更新 (キーの切り替え)
2.5.1.4. APDU およびセキュアチャンネル
- コマンド APDU (TPS からスマートカードに送信)
- レスポンス APDU (スマートカードから TPS にレスポンスとして送信)
2.5.2. トークン処理システム (TPS)
2.5.2.1. Coolkey アプレット
2.5.2.2. トークン操作
- トークンフォーマット: フォーマット操作は、適切な Coolkey アプレットをトークンにインストールします。アプレットは、後続の暗号鍵と証明書を後で配置できるプラットフォームを提供します。
- トークンの登録: 登録操作により、必要な暗号鍵と暗号証明書でスマートカードが生成されます。この資料により、スマートカードのユーザーは、セキュアな Web サイトアクセスやセキュアなメールなどの操作に参加できます。登録には 2 つのタイプがサポートされています。これは、グローバルに設定されます。
- 内部登録: プロファイル マッピングリゾルバー で決定される TPS プロファイルで登録します。
- 外部登録: ユーザーの LDAP レコードのエントリーで、TPS プロファイルで登録を行います。
- トークンの PIN リセット: トークンの PIN リセット操作により、トークンのユーザーはトークンへのログインに使用される新しい PIN を指定でき、暗号化操作を実行できます。
- キー生成: 各 PKI 証明書は、公開鍵と秘密鍵のペアで設定されます。Red Hat Certificate System では、TPS プロファイル の設定に応じて、鍵の生成は 2 つの方法で実行できます。
- トークン側のキー生成: PKI キーペアがスマートカードトークンで生成されます。トークン側でキーペアを生成すると、キーのアーカイブが許可 されません。
- サーバー側のキー生成: PKI キーペアは TMS サーバー側で生成されます。その後、キーペアはセキュアチャネルを使用してトークンに送信されます。サーバー側で鍵のペアを生成すると、キーのアーカイブが可能になります。
- 証明書の更新: この操作により、以前登録したトークンが同じ鍵を再度使用している間にトークンに現在発行された証明書を使用できるようになります。これは、古い証明書の有効期限が切れて、新しい証明書を作成したいが、元のキーマテリアルを維持したい場合に役立ちます。
- 証明書失効リスト: TPS プロファイル設定またはトークンの状態をもとに、証明書失効リストをトリガーできます。通常、証明書を発行した CA のみがそれを取り消すことができます。つまり、CA を廃止すると、特定の証明書を取り消すことができなくなります。ただし、トークンの失効要求をリタイアした CA にルーティングしながら、登録などの他のすべての要求を新しいアクティブな CA にルーティングすることは可能です。このメカニズムは 取り消しルーティン と呼ばれます。
- トークンキーの切り替え: フォーマット操作によってトリガーされるキーの変更操作により、トークンの内部キーを、デフォルトの開発者キーセットから、トークン処理システムの開発者により制御される新しいキーセットに変更できます。開発者キーセットはテスト状況に適したものであるため、通常、実際のデプロイメントシナリオでこれを行います。
- アプレットの更新: TMS デプロイメントでは、必要に応じて Coolkey スマートカードアプレットを更新またはダウングレードできます。
2.5.2.3. TPS プロファイル
- トークンのフォーマットまたは登録を行う手順。
- 操作が正常に完了した後、終了したトークンに含まれる属性。
- TPS がユーザーの認証 LDAP データベースに接続する方法。
- このトークン操作にはユーザー認証が必要ですか。その場合に使用する認証マネージャー。
- TPS は、証明書を取得する Certificate System CA にどのように接続しますか。
- このトークンで生成された秘密鍵と公開鍵はどのように生成されているか。トークン側またはサーバー側で生成されているか。
- 秘密鍵と公開鍵を生成する際に使用する鍵のサイズ (ビット単位)。
- このトークンで証明書を生成するのに使用される証明書登録プロファイル (CA によるプロビジョニング)注記この設定により、トークンに書き込まれる証明書の最終構造が決定されます。証明書に含まれる拡張機能に基づいて、さまざまな用途に応じてさまざまな証明書を作成できます。たとえば、1 つの証明書はデータ暗号化に特化でき、別の証明書は署名操作に使用できます。
- トークンで必要となる Coolkey アプレットのバージョン
- 登録操作のためにこのトークンに配置される証明書の数
- Internal Registration: この場合、TPS プロファイル(
tokenType
)は、プロファイル Mapping Resolver によって決定されます。このフィルターベースのリゾルバーは、トークンが提供するデータをすべて考慮し、ターゲットプロファイルを決定するように設定できます。 - 外部登録: 外部登録使用する場合、プロファイル (名前のみ。実際のプロファイルは、内部登録で使用されるものと同じ方法で TPS で定義されます) は、認証中に取得される各ユーザーの LDAP レコードで指定されます。これにより、TPS はユーザー情報が保存される外部登録 Directory Server からキーの登録およびリカバリー情報を取得できます。これにより、TPS 内部登録メカニズムに固有の登録、失効、および復旧ポリシーを上書きする制御が可能になります。外部登録に関連するユーザー LDAP レコード属性名は設定可能です。グループ証明書という概念が必要な場合には、外部登録が役立ちます。この場合、グループ内のすべてのユーザーには、共有証明書および鍵をダウンロードするために LDAP プロファイルに特別なレコードを設定できます。
2.5.2.4. トークンデータベース
2.5.2.4.1. トークンの状態および移行
2.5.2.4.1.1. トークンの状態
名前 | コード | ラベル |
---|---|---|
FORMATTED | 0 | フォーマット済み (初期化されていない) |
DAMAGED | 1 | 物理的に破損 |
PERM_LOST | 2 | 永続的に失われる |
SUSPENDED | 3 | 一時停止 (一時的に失われる) |
ACTIVE | 4 | アクティブ |
TERMINATED | 6 | 終了 |
UNFORMATTED | 7 | 未フォーマット |
5
を含む状態は含まれません。以前は削除された状態に属していました。
2.5.2.4.1.2. グラフィカルインターフェイスまたはコマンドラインインターフェイスを使用したトークン状態の移行完了
FORMATTED
から ACTIVE
または DAMAGED
に状態を変更できますが、FORMATTED
から UNFORMATTED
に移行することはできません。
tokendb.allowedTransitions
プロパティーに保存され、tps.operations.allowedTransitions
プロパティー制御により、トークン操作によってトリガーされる移行が許可されました。
/usr/share/pki/tps/conf/CS.cfg
設定ファイルに保存されます。
2.5.2.4.1.2.1. コマンドラインインターフェイスまたはグラフィカルインターフェイスを使用したトークン状態の移行
tokendb.allowedTransitions
プロパティーを使用して TPS 設定ファイルで説明されています。
tokendb.allowedTransitions=0:1,0:2,0:3,0:6,3:2,3:6,4:1,4:2,4:3,4:6,6:7
current code> : <new code> の形式で記述され
ます。このコードは 表2.9「考えられるトークンの状態」 で説明されています。デフォルト設定は /usr/share/pki/tps/conf/CS.cfg
に保存されます。
遷移 | 現在の状態 | 次の状態 | 説明 |
---|---|---|---|
0:1 | FORMATTED | DAMAGED | このトークンは物理的に破損しています。 |
0:2 | FORMATTED | PERM_LOST | このトークンは永続的に失われています。 |
0:3 | FORMATTED | SUSPENDED | このトークンは一時停止されています (一時的で失われています)。 |
0:6 | FORMATTED | TERMINATED | このトークンは終了しました。 |
3:2 | SUSPENDED | PERM_LOST | この一時停止されたトークンは永続的に失われています。 |
3:6 | SUSPENDED | TERMINATED | この一時停止されたトークンは終了しています。 |
4:1 | ACTIVE | DAMAGED | このトークンは物理的に破損しています。 |
4:2 | ACTIVE | PERM_LOST | このトークンは永続的に失われています。 |
4:3 | ACTIVE | SUSPENDED | このトークンは一時停止されています (一時的で失われています)。 |
4:6 | ACTIVE | TERMINATED | このトークンは終了しました。 |
6:7 | TERMINATED | UNFORMATTED | このトークンを再利用します。 |
FORMATTED
で、SUSPENDED
になった場合、FORMATTED
状態にのみ戻ることができます。トークンが元々 ACTIVE
で、SUSPENDED
になった場合、ACTIVE
状態にのみ返すことができます。
遷移 | 現在の状態 | 次の状態 | 説明 |
---|---|---|---|
3:0 | SUSPENDED | FORMATTED | この一時停止 (一時的な損失) トークンがあります。 |
3:4 | SUSPENDED | ACTIVE | この一時停止 (一時的な損失) トークンがあります。 |
2.5.2.4.1.3. トークン操作を使用したトークン状態遷移
tokendb.allowedTransitions
プロパティーを使用して TPS 設定ファイルで説明されています。
tps.operations.allowedTransitions=0:0,0:4,4:4,4:0,7:0
current code> : <new code> の形式で記述され
ます。このコードは 表2.9「考えられるトークンの状態」 で説明されています。デフォルト設定は /usr/share/pki/tps/conf/CS.cfg
に保存されます。
遷移 | 現在の状態 | 次の状態 | 説明 |
---|---|---|---|
0:0 | FORMATTED | FORMATTED | これにより、トークンの再フォーマットやトークンのアプレット/キーのアップグレードが可能になります。 |
0:4 | FORMATTED | ACTIVE | これにより、トークンを登録できます。 |
4:4 | ACTIVE | ACTIVE | これにより、アクティブなトークンを再登録できます。外部の登録に便利です。 |
4:0 | ACTIVE | FORMATTED | これにより、アクティブなトークンのフォーマットが可能になります。 |
7:0 | UNFORMATTED | FORMATTED | これにより、空白または以前に使用されたトークンのフォーマットが可能になります。 |
2.5.2.4.1.4. トークンの状態および遷移ラベル
/usr/share/pki/tps/conf/token-states.properties
設定ファイルに保存されます。デフォルトでは、ファイルの内容は以下のようになります。
# Token states UNFORMATTED = Unformatted FORMATTED = Formatted (uninitialized) ACTIVE = Active SUSPENDED = Suspended (temporarily lost) PERM_LOST = Permanently lost DAMAGED = Physically damaged TEMP_LOST_PERM_LOST = Temporarily lost then permanently lost TERMINATED = Terminated # Token state transitions FORMATTED.DAMAGED = This token has been physically damaged. FORMATTED.PERM_LOST = This token has been permanently lost. FORMATTED.SUSPENDED = This token has been suspended (temporarily lost). FORMATTED.TERMINATED = This token has been terminated. SUSPENDED.ACTIVE = This suspended (temporarily lost) token has been found. SUSPENDED.PERM_LOST = This suspended (temporarily lost) token has become permanently lost. SUSPENDED.TERMINATED = This suspended (temporarily lost) token has been terminated. SUSPENDED.FORMATTED = This suspended (temporarily lost) token has been found. ACTIVE.DAMAGED = This token has been physically damaged. ACTIVE.PERM_LOST = This token has been permanently lost. ACTIVE.SUSPENDED = This token has been suspended (temporarily lost). ACTIVE.TERMINATED = This token has been terminated. TERMINATED.UNFORMATTED = Reuse this token.
2.5.2.4.1.5. 許可されるトークンの状態遷移のカスタマイズ
/var/lib/pki/instance_name/tps/conf/CS.cfgで以下のプロパティーを編集します。
- コマンドラインまたはグラフィカルインターフェイスを使用して実行できる移行の一覧をカスタマイズするための
tokendb.allowedTransitions
- トークン
操作を使用して許可される移行のリストをカスタマイズするための tp.operations.allowedTransitions
/usr/share/pki/tps/conf/CS.cfg
に保存されます。
2.5.2.4.1.6. トークンの状態と遷移ラベルのカスタマイズ
/usr/share/pki/tps/conf/token-states.properties
をインスタンスフォルダー(/var/lib/pki/instance_name/tps/conf/CS.cfg
)にコピーし、必要に応じて内部に一覧表示されるラベルを変更します。
token-states.properties
ファイルをインスタンスフォルダーから削除します。
2.5.2.4.1.7. トークンアクティビティーログ
アクティビティー | 説明 |
---|---|
add | トークンが追加されました。 |
format | トークンがフォーマットされました。 |
enrollment | トークンが登録されました。 |
recovery | トークンが復元されました。 |
更新 | トークンが更新されています。 |
pin_reset | トークンの PIN がリセットされました。 |
token_status_change | トークンステータスは、コマンドラインまたはグラフィカルインターフェイスを使用して変更されました。 |
token_modify | トークンが変更されました。 |
delete | トークンが削除されました。 |
cert_revocation | トークン証明書が取り消されました。 |
cert_unrevocation | トークン証明書は失効しませんでした。 |
2.5.2.4.2. トークンポリシー
RE_ENROLL=YES;RENEW=NO;FORCE_FORMAT=NO;PIN_RESET=NO;RESET_PIN_RESET_TO_NO=NO;RENEW_KEEP_OLD_ENC_CERTS=YES
2.5.2.5. マッピングリゾルバー
FilterMappingResolver
は、デフォルトで TPS で提供される唯一のマッピングリゾルバー実装です。これにより、各マッピングに マッピング のセットおよびターゲットの結果を定義できます。各マッピングにはフィルターのセットが含まれ、ここでは以下のようになります。
- 入力フィルターパラメーターがマッピング内の すべて のフィルターを渡すと、
target
値が割り当てられます。 - 入力パラメーターでフィルターが失敗すると、そのマッピングはスキップされ、次の順番に試行されます。
- フィルターに指定された値がない場合は、常に合格します。
- フィルターに指定された値がある場合、入力パラメーターは完全に一致する必要があります。
- マッピングが定義される順序は重要です。合格した最初のマッピングは解決されたと見なされ、呼び出し元に返されます。
FilterMappingResolver
に対して実行されます。FilterMappingResolver
では、以下の入力フィルターパラメーターがサポートされます。
appletMajorVersion
- トークン上の Coolkey アプレットのメジャーバージョン。appletMinorVersion
: トークン上の Coolkey アプレットのマイナーバージョン。keySet
またはtokenType
keySet
- クライアントリクエストでエクステンションとして設定できます。拡張子が指定されている場合は、フィルターの値と一致する必要があります。keySet マッピングリゾルバーは、外部登録を使用する際に keySet 値を決定することを目的としています。複数の鍵セットがサポートされる場合は、外部登録環境で Key Set Mapping Resolver が必要になります (たとえば、スマートカードトークンベンダーごとに必要です)。keySet 値は、Secure Channel を確立する上で重要な TKS のマスターキーを特定するために必要です。ユーザーの LDAP レコードにセット tokenType (TPS プロファイル) が入力されている場合は、どのカードが最終的に登録を行うかがわからないため、keySet を事前に決定することはできません。keySetMappingResolver
は、認証前に keySet を解決できるようにすることで問題の解決に役立ちます。tokenType
- okenType は、クライアントリクエストのエクステンションとして設定できます。拡張子が指定されている場合は、フィルターの値と一致する必要があります。tokenType (TPS プロファイルとも呼ばれます) は、この時点で内部登録環境に対して決定されます。
tokenATR
- トークンの Answer to Reset (ATR)です。token
cuid - start および end は、このフィルターを渡すためにトークンの Card Unique ID (CUID)の範囲を定義します。
2.5.2.6. TPS ロール
- TPS 管理者: このロールは以下を許可します。
- TPS トークンの管理
- TPS 証明書およびアクティビティーの表示
- TPS ユーザーおよびグループの管理
- 一般的な TPS 設定の変更
- TPS オーセンティケーターおよびコネクターの管理
- TPS プロファイルおよびプロファイルマッピングの設定
- TPS 監査ロギングの設定
- TPS エージェント: このロールは以下を許可します。
- TPS トークンの設定
- TPS 証明書およびアクティビティーの表示
- TPS プロファイルのステータスの変更
- TPS オペレーター: このロールは以下を許可します。
- TPS トークン、証明書、およびアクティビティーの表示
2.5.4. Enterprise Security Client (ESC)
2.6. Red Hat Certificate System サービス
2.6.1. 通知
2.6.2. ジョブ
2.6.3. ロギング
2.6.4. 監査
2.6.5. セルフテスト
2.6.6. ユーザー、認可、およびアクセス制御
2.6.6.1. デフォルトの管理ロール
- 管理者 は、サブシステムに対して管理または設定タスクを実行できます。
- 証明書要求の承認、トークン登録の管理、または鍵の復元など、PKI 管理タスクを実行する エージェント。
- 監査ログを表示および設定できる auditors。
pkispawn
ユーティリティーの実行時に、Red Hat Certificate System インスタンスの作成中に管理者およびエージェント特権の両方を処理する管理ユーザーが作成されます。このブートストラップ管理者は、デフォルトで caadmin
ユーザー名を使用しますが、pkispawn コマンドに渡す設定ファイルの pki_admin_uid
パラメーターで上書きできます。ブートストラップ管理者が、最初の管理者およびエージェントユーザーを作成します。この操作には、ユーザーおよびグループの管理者権限と、証明書を発行するエージェントの権限が必要です。
2.6.6.2. 組み込みサブシステムの信頼ロール
第3章 許可された規格とプロトコル
3.1. 許可された TLS 暗号スイート
ECC
- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
RSA
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
- TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
3.2. 許可されるキーアルゴリズムとそのサイズ
- 許可される RSA 鍵サイズ:
- 2048 ビット以上
- FIPS PUB 186-4 標準仕様に定義されている EC 曲線または同等です。
- nistp256
- nistp384
- nistp521
3.3. 許可されるハッシュ関数
- SHA-256
- SHA-384
- SHA-512
- SHA-256
- SHA-384
- SHA-512
3.4. 許可されている PKIX 形式とプロトコル
形式またはプロトコル | RFC またはドラフト | 説明 |
---|---|---|
X.509 バージョン 3 | 国際電気通信連合 (ITU) が推奨するデジタル証明書形式。 | |
Certificate Request Message Format (CRMF) | RFC 4211 | CA に証明書要求を送信するためのメッセージ形式。 |
CS を介した証明書管理メッセージ (CMC) | RFC 5272 | Cryptographic Message Syntax (CMS) を使用した証明書管理プロトコル。CMC には CRMF と PKCS #10 が組み込まれています。 |
暗号化メッセージ構文 (CMS) | RFC 2630 | デジタル署名と暗号化に使用される PKCS #7 構文のスーパーセット。 |
PKIX 証明書および CRL プロファイル | RFC 5280 | インターネット用の公開鍵インフラストラクチャー向けに IETF により開発された標準規格です。証明書および CRL のプロファイルを指定します。 |
オンライン証明書ステータスプロトコル (OCSP) | RFC 6960 | CRL を使用せずにデジタル署名の現在のステータスを決定するプロトコルは便利です。 |
第4章 サポート対象のプラットフォーム
4.1. サーバーサポート
4.2. サポートされる Web ブラウザー
プラットフォーム | エージェントサービス | エンドユーザーページ |
---|---|---|
Red Hat Enterprise Linux | Firefox 60 以降 [a] | Firefox 60 以降 [a] |
Windows 7 | Firefox 60 以降 [a] |
Firefox 60 以降
Internet Explorer 10 [b]
|
[a]
この Firefox バージョンは、ブラウザーからキーの生成およびアーカイブに使用される 暗号化 Web オブジェクトに対応しなくなりました。そのため、このエリアでは機能が限定されるはずです。
[b]
現在、Internet Explorer 11 では、Red Hat Certificate System 9.4 ではサポートされていません。この Web ブラウザーの登録コードは、Internet Explorer 11 で非推奨となった Visual Basic スクリプトにより異なります。
|
4.3. サポート対象のハードウェアセキュリティーモジュール
HSM | ファームウェア | アプライアンスソフトウェア | クライアントソフトウェア |
---|---|---|---|
nCipher nCipher nShield Connect 6000 | 2.61.2 | CipherTools-linux64-dev-12.30.00 | CipherTools-linux64-dev-12.30.00 |
Gemalto SafeNet Luna SA 1700 / 7000 (制限)
(サポートは限定的です )
| 6.24.0 | 6.2.0-15 | libcryptoki-6.2.x86_64 |
第5章 証明書システムの計画
5.1. 必要なサブシステムの決定
- 要求および発行されます。
- これは有効です。
- 期限切れになります。
- 証明書の有効期限が切れる前に従業員が退職するかどうか
- CA 署名証明書の有効期限が切れると、その証明書を使用して発行および署名されたすべての証明書も有効期限が切れます。これにより、CA 署名証明書が更新され、発行された証明書が有効に保つか、または再発行されますか ?
- 従業員がスマートカードを失ったか、またはスマートカードに残るかどうか。元の証明書キーを使用して代替証明書が発行されますか。他の証明書は一時停止または取り消されるか。一時的な証明書は許可されますか。
- 証明書の有効期限が切れると、新しい証明書を発行するか、元の証明書が更新されますか ?
5.1.1. 単一証明書マネージャーの使用
図5.1 CA のみの証明書システム


5.1.2. 紛失したキーの計画: キーのアーカイブと回復
図5.2 CA および KRA

5.1.3. 証明書要求の処理の分散
5.1.4. クライアント OCSP 要求の分散
図5.3 CA および OCSP

5.2. 認証局階層の定義
5.2.1. パブリック CA への従属
5.2.2. 証明書システム CA への従属
5.2.3. リンクされた CA
5.3. セキュリティードメインの計画
ou=Security Domain,dc=server.example.com-pki-ca
cn=KRAList,ou=Security Domain,o=pki-tomcat-CA objectClass: top objectClass: pkiSecurityGroup cn: KRAList
dn: cn=kra.example.com:8443,cn=KRAList,ou=Security Domain,o=pki-tomcat-CA objectClass: top objectClass: pkiSubsystem cn: kra.example.com:8443 host: server.example.com UnSecurePort: 8080 SecurePort: 8443 SecureAdminPort: 8443 SecureAgentPort: 8443 SecureEEClientAuthPort: 8443 DomainManager: false Clone: false SubsystemName: KRA kra.example.com 8443
- セキュリティードメインをホストする CA は外部認証局によって署名できます。
- 複数のセキュリティードメインを組織内に設定することができます。ただし、各サブシステムは 1 つのセキュリティードメインにのみ属できます。
- ドメイン内のサブシステムをクローンできます。サブシステムインスタンスは、システム負荷を分散し、フェイルオーバーポイントを提供します。
- セキュリティードメインは、CA と KRA との間の設定を合理化します。KRA は、管理者が証明書を手動で CA にコピーする必要がなく、KRA コネクター情報をプッシュして証明書を CA に自動的に転送できます。
- Certificate System セキュリティードメインを使用すると、オフラインの CA を設定できます。このシナリオでは、オフラインルートには独自のセキュリティードメインがあります。オンラインの下位 CA はすべて、異なるセキュリティードメインに属します。
- セキュリティードメインは、CA と OCSP の間の設定を簡素化します。OCSP は、CA が OCSP 公開を設定するために、その情報を CA にプッシュし、CA から CA 証明書チェーンを取得して、内部データベースに格納することもできます。
5.4. サブシステム証明書の要件の決定
5.4.1. インストールする証明書の決定
サブシステム | 証明書 |
---|---|
Certificate Manager |
|
OCSP |
|
KRA |
|
TKS |
|
TPS |
|
- ルート CA の新しい自己署名 CA 証明書を作成するときに新しいキーペアを生成すると、以前の CA 証明書で発行されたすべての証明書が無効になります。これは、古いキーを使用して CA によって発行または署名された証明書が機能しないことを意味します。下位 Certificate Manager、KRA、OCSP、TKS、および TPS は機能しなくなり、エージェントはエージェントインターフェイスにアクセスできなくなります。これと同じ状況は、下位 CA の CA 証明書が新しいキーペアを持つものに置き換えられた場合に発生します。その CA によって発行されたすべての証明書は無効になり、機能しなくなります。新しいキーペアから新しい証明書を作成する代わりに、既存の CA 署名証明書を更新することを検討してください。
- CA が OCSP に公開するように設定されていて、新しい CA 署名証明書または新しい CRL 署名証明書がある場合は、CA を OCSP に対して再識別する必要があります。
- KRA 用に新しいトランスポート証明書が作成された場合は、CA の設定ファイル
CS.cfg
で KRA 情報を更新する必要があります。既存のトランスポート証明書は、ca.connector.KRA.transportCert パラメーターの新しい証明書に置き換える必要があります。 - CA のクローンが作成されている場合は、マスター Certificate Manager の新しい TLS サーバー証明書を作成するときに、クローン CA の証明書データベースが新しい TLS サーバーの全証明書で更新する必要があります。
- Certificate Manager が証明書と CRL を LDAP ディレクトリーに公開するように設定されており、TLS クライアント認証に TLS サーバー証明書を使用する場合は、適切な拡張子を付けて新しい TLS サーバー証明書を要求する必要があります。証明書をインストールしたら、公開ディレクトリーが新しいサーバー証明書を使用するように設定する必要があります。
- サブシステムインスタンスに対して任意の数の TLS サーバー証明書を発行できますが、実際には 1 つの TLS 証明書のみが必要です。この証明書は、必要に応じて何度でも更新または交換できます。
5.4.2. CA 識別名の計画
cn=demoCA, o=Example Corporation, ou=Engineering, c=US
5.4.3. CA 署名証明書の有効期間の設定
5.4.4. 署名キーの種類と長さの選択
- SHA256withRSA
- SHA384withRSA
- SHA512withRSA
- SHA256withEC
- SHA384withEC
- SHA512withEC
5.4.5. 証明書の拡張の使用
- 信用。X.500 仕様は、厳密なディレクトリー階層を使用して信頼を確立します。対照的に、インターネットおよびエクストラネットのデプロイメントには、階層的な X.500 アプローチに準拠していない分散信頼モデルが含まれることがよくあります。
- 証明書の使用。一部の組織では、証明書の使用方法を制限しています。たとえば、一部の証明書はクライアント認証のみに制限される場合があります。
- 複数の証明書証明書ユーザーが、同じサブジェクト名でキーマテリアルが異なる複数の証明書を所有していることは珍しくありません。この場合、どのキーと証明書をどの目的に使用するかを特定する必要があります。
- 代替名。目的によっては、証明書の公開鍵にもバインドされている代替サブジェクト名があると便利です。
- 追加属性。一部の組織では、ディレクトリーで情報を検索できない場合など、追加情報を証明書に保存します。
- CA に関連 します。証明書チェーンに中間 CA が含まれる場合は、CA 間の関係に関する情報を証明書に埋め込むと便利です。
- CRL チェック。証明書の失効ステータスをディレクトリーに対して、または元の認証局で常に確認できるとは限らないため、証明書に CRL を確認する場所に関する情報を含めると便利です。
5.4.5.1. 証明書の拡張機能の構造
Extension ::= SEQUENCE { extnID OBJECT IDENTIFIER, critical BOOLEAN DEFAULT FALSE, extnValue OCTET STRING }
- 拡張のオブジェクト識別子 (OID)。この識別子は、拡張子を一意に識別します。また、値フィールドの ASN.1 タイプの値や、値が解釈される方法も決定します。拡張機能が証明書に表示されると、OID は拡張 ID フィールド(extnID)として表示され、対応する ASN.1 エンコード構造はオクテット文字列の値(extnValue)として表示されます。
- critical というフラグまたはブール値フィールドこのフィールドに割り当てられた値( true または false )は、拡張機能が証明書にとって重要かどうかを示します。
- 拡張機能が重要であり、拡張機能の ID に基づいて拡張機能を理解しないアプリケーションに証明書が送信された場合は、アプリケーションが証明書を拒否する必要があります。
- 拡張機能が重要ではなく、拡張機能の ID に基づいて拡張機能を理解しないアプリケーションに証明書が送信された場合、アプリケーションは拡張機能を無視して証明書を受け入れることができます。
- 拡張の値の DER エンコーディングを含む octet 文字列。
- 証明書の署名に使用されるキーである CA の公開キーを識別する Authority Key Identifier 拡張。
- サブジェクトの公開キーを識別するサブジェクトキー識別子拡張。キーは認証されています。
5.4.6. 証明書プロファイルの使用およびカスタマイズ
証明書プロファイル
証明書プロファイルパラメーターの変更
証明書プロファイルの管理
証明書プロファイルのカスタマイズガイドライン
- PKI で必要となる証明書プロファイルを決定します。発行される証明書のタイプごとに、少なくとも 1 つのプロファイルが必要です。証明書の種類ごとに複数の証明書プロファイルを用意して、特定の種類の証明書に対して異なる認証方法や異なるデフォルトや制約を設定することができます。管理インターフェイスで使用可能な証明書プロファイルはすべて、エージェントによって承認され、エンドエンティティーによって登録に使用されます。
- 使用されていない証明書プロファイルを削除します。
- 会社の証明書の特定の特性について、既存の証明書プロファイルを変更します。
- 証明書プロファイルに設定されているデフォルト、デフォルトに設定されているパラメーターの値、または証明書の内容を制御する制約を変更します。
- パラメーターの値を変更して、設定された制約を変更します。
- 認証方法を変更します。
- 入力ページのフィールドを制御する証明書プロファイルの入力を追加または削除して、入力を変更します。
- 出力を追加または削除します。
5.4.6.1. TLS サーバー証明書への SAN 拡張機能の追加
/usr/share/pki/ca/profiles/ca/caInternalAuthServerCert.cfg
ファイルの指示に従い、pkispawn
ユーティリティーに提供されている設定ファイルに以下のパラメーターを追加します。
pki_san_inject
- このパラメーターの値を
True
に設定します。 pki_san_for_server_cert
- 必要な SAN 拡張機能の一覧をコンマで区切って指定します。
pki_san_inject=True pki_san_for_server_cert=intca01.example.com,intca02.example.com,intca.example.com
5.4.7. 認証方法の計画
5.4.8. 証明書および CRL の公開
- 証明書がディレクトリーに公開されている場合、証明書が発行されるすべてのユーザーまたはサーバーに、LDAP ディレクトリーに対応するエントリーがある必要があります。
- CRL がディレクトリーに公開されている場合は、CRL を発行した CA のエントリーに公開する必要があります。
- TLS の場合、ディレクトリーサービスは TLS で設定する必要があり、任意で、Certificate Manager が証明書ベースの認証を使用できるように設定する必要があります。
- ディレクトリー管理者は、LDAP ディレクトリーへの DN (エントリー名) とパスワードベースの認証を制御するための適切なアクセス制御ルールを設定する必要があります。
5.4.9. CA 署名証明書の更新または再発行
- CA 証明書を 更新 するには、古い CA 証明書と同じサブジェクト名と公開鍵および秘密鍵の内容を使用し、有効期間を延長した新しい CA 証明書を発行する必要があります。古い CA 証明書の有効期限が切れる前に、新しい CA 証明書がすべてのユーザーに配布される限り、証明書を更新すると、古い CA 証明書で発行された証明書は、有効期間の全期間にわたって機能し続けることができます。
- CA 証明書を 再発行すること には、新しい名前、公開鍵と秘密鍵の内容、および有効期限を持つ新しい CA 証明書を発行することが含まれます。これにより、CA 証明書の更新に関連するいくつかの問題が回避されますが、管理者とユーザーの両方が実装するためにより多くの作業が必要になります。有効期限が切れていないものも含め、古い CA によって発行されたすべての証明書は、新しい CA によって更新する必要があります。
5.5. ネットワークおよび物理セキュリティーの計画
5.5.1. ファイアウォールの考慮事項
- 機密サブシステムを不正アクセスから保護
- ファイアウォール外部のその他のサブシステムおよびクライアントへの適切なアクセスを許可する
5.5.2. 物理セキュリティーと場所を考慮事項
5.5.3. ポートの計画
- 認証を必要としないエンドエンティティーサービスのセキュアではない HTTP ポート
- 認証を必要とするエンドエンティティーサービス、エージェントサービス、管理コンソール、および管理サービス用の安全な HTTP ポート
- Tomcat Server Management ポート
- Tomcat AJP コネクターポート
https://server.example.com:8443/ca/ee/ca
pkiconsole https://server.example.com:8443/ca
server.xml
ファイルで定義されます。ポートを使用しない場合は、そのファイルで無効にできます。以下に例を示します。
<Service name="Catalina">
<!--Connector port="8080"
... /--> unused standard port
<Connector port="8443" ... />
services
という名前のファイルで維持されます。Red Hat Enterprise Linux では、現在 SELinux コンテキストがあるすべてのポートを一覧表示する semanage port -l コマンドを実行して、ポートが SELinux によって割り当てられていないことを確認することも役立ちます。
5.6. PKI の計画に関するチェックリスト
- 問: いくつのセキュリティードメインが作成され、どのサブシステムインスタンスが各ドメインに配置されますか。
- 問: 各サブシステムに割り当てるポート。単一の TLS ポートが必要ですか。それともセキュリティーを強化するためにポートを分離する方がよいでしょうか。
- 問: ファイアウォールの内側に配置するサブシステムは何ですか。これらのファイアウォールで保護されたサブシステムにアクセスするために必要なクライアントまたは他のサブシステムと、アクセスが許可される方法LDAP データベースにファイアウォールへのアクセスが許可されているか。
- 問: 物理的にセキュア化する必要があるサブシステムアクセスが付与される方法と、アクセスを誰に付与するか。
- 問: 全エージェントと管理者の物理的な場所サブシステムの物理的な場所。管理者またはエージェントは、サブシステムサービスに適時どのようにアクセスしますか。各地理的な場所またはタイムゾーンにサブシステムが必要ですか。
- 問: インストールが必要なサブシステムの数
- 問: サブシステムのクローンを作成する必要がありますか。その場合、キーのマテリアルを安全に保管する方法は何ですか。
- 問: サブシステムの証明書とキーは、Certificate System の内部ソフトウェアトークンまたは外部ハードウェアトークンに保存されますか。
- 問: CA 署名証明書の要件Certificate System で、有効期間などの属性を制御する必要があるか。CA 証明書が配布される方法
- 問: 発行する証明書の種類どのような特性が必要であり、それらの特性に使用できるプロファイル設定は何ですか。証明書に必要な制限
- 問: 証明書要求を承認するための要件。要求側が自身を認証する方法と、要求を承認するのに必要なプロセスの種類。
- 問: 多くの外部クライアントが証明書のステータスを検証する必要があるか。Certificate Manager の内部 OCSP が負荷を処理しているか。
- 問: PKI が代替キーを許可するか ?キーアーカイブとリカバリーが必要になりますか。
- 問: 組織はスマートカードを使用しますか ?その場合は、スマートカードが置き忘れられ、キーのアーカイブとリカバリーが必要になった場合、一時的なスマートカードは許可されますか。
- 問: 証明書および CRL を公開する場所パブリッシュが機能するには、受信側でどのような設定が必要ですか。どのような種類の証明書または CRL を公開する必要があり、どのくらいの頻度で公開する必要がありますか。
パート II. Red Hat Certificate System のインストール
第6章 インストールの前提条件および準備
6.1. Red Hat Enterprise Linux のインストール
# sysctl crypto.fips_enabled
6.2. SELinux を使用したシステムのセキュリティー保護
6.2.1. SELinux が Enforcing モードで実行していることの確認
# getenforce
6.3. ファイアウォールの設定
サービス
|
ポート
|
プロトコル
|
---|---|---|
HTTP
|
8080
|
TCP
|
HTTPS
|
8443
|
TCP
|
Tomcat 管理
|
8005
|
TCP
|
pkispawn
ユーティリティーを使用して Certificate System を設定すると、ポート番号をカスタマイズできます。上記のデフォルトとは異なるポートを使用する場合は、「ファイアウォールで必要なポートを開く」の説明に従ってファイアウォールで対応して開きます。ポートの詳細は、「ポートの計画」を参照してください。
6.3.1. ファイアウォールで必要なポートを開く
firewalld
サービスが実行していることを確認します。# systemctl status firewalld
firewalld
を起動し、システムの起動時に自動的に起動するように設定するには、次のコマンドを実行します。# systemctl start firewalld # systemctl enable firewalld
firewall-cmd
ユーティリティーを使用して必要なポートを開きます。たとえば、デフォルトのファイアウォールゾーンで Certificate System のデフォルトポートを開くには、次のコマンドを実行します。# firewall-cmd --permanent --add-port={8080/tcp,8443/tcp,8009/tcp,8005/tcp}
firewall-cmd
を使用してシステムでポートを開く方法は、『Red Hat Enterprise Linux セキュリティーガイド』 または firewall-cmd(1) の man ページを参照してください。- firewall-cmd 設定を再度読み込んで、変更が即座に反映されるようにします。
# firewall-cmd --reload
6.4. ハードウェアセキュリティーモジュール
6.4.1. HSM 用の SELinux の設定
- nCipher nShield
- HSM をインストールし、Certificate System をインストールする前に、以下を行います。
/opt/nfast/
ディレクトリー内のファイルのコンテキストをリセットします。# restorecon -R /opt/nfast/
- nfast ソフトウェアを再起動します。
# /opt/nfast/sbin/init.d-ncipher restart
- Gemalto Safenet LunaSA HSM
- Certificate System をインストールする前に、SELinux 関連のアクションは必要ありません。
6.4.2. HSM での FIPS モードの有効化
- nCipher HSM
- nCipher HSM では、FIPS モードが Security World を生成する場合にのみ有効にできます。これは後で変更することはできません。Security World を生成するにはさまざまな方法がありますが、常に new-world コマンドを使用することが推奨されます。FIPS 準拠の Security World を生成する方法は、nCipher HSM ベンダーのドキュメントを参照してください。
- LunaSA HSM
- 同様に、Luna HSM で FIPS モードを有効にするには、初期設定時に行う必要があります。これは、このポリシーを変更すると、セキュリティー対策として HSM がゼロになるためです。詳細は、Luna HSM ベンダーのドキュメントを参照してください。
6.4.3. FIPS モードが HSM で有効になっているかどうかの確認
6.4.3.1. FIPS モードが nCipher HSM で有効にされているかどうかの確認
# /opt/nfast/bin/nfkminfo
StrictFIPS140
が state フラグに一覧表示されると、FIPS モードが有効になります。ただし、新しいバージョンでは、新しい mode
行を確認して fips1402level3
を検索することが推奨されます。いずれの場合も、nfkminfo
出力に hkfips
キーも存在しているはずです。
6.4.3.2. FIPS モードが Luna SA HSM で有効にされているかどうかの確認
- lunash 管理コンソールを開きます。
- hsm show コマンドを使用して、出力に The HSM is in FIPS 140-2 approved operation mode というテキストが含まれていることを確認します。
lunash:> hsm show ... FIPS 140-2 Operation: ===================== The HSM is in FIPS 140-2 approved operation mode. ...
6.4.4. HSM を使用した証明書システムのインストールの準備
pkispawn
ユーティリティーに渡す設定ファイルで以下のパラメーターを使用します。
... [DEFAULT] ########################## # Provide HSM parameters # ########################## pki_hsm_enable=True pki_hsm_libfile=hsm_libfile pki_hsm_modulename=hsm_modulename pki_token_name=hsm_token_name pki_token_password=pki_token_password ######################################## # Provide PKI-specific HSM token names # ######################################## pki_audit_signing_token=hsm_token_name pki_ssl_server_token=hsm_token_name pki_subsystem_token=hsm_token_name ...
pki_hsm_libfile
パラメーターおよびpki_token_name
パラメーターの値は、特定の HSM インストールにより異なります。これらの値により、pkispawn
ユーティリティーは HSM を設定し、Certificate System が接続できるようにします。pki_token_password
の値は、特定の HSM トークンのパスワードによって異なります。パスワードは、HSM で新しいキーを作成するためのpkispawn
ユーティリティーの読み取りおよび書き込み権限を付与します。pki_hsm_modulename
の値は、HSM を識別するために後の pkispawn 操作で使用される名前です。文字列は、任意のものとして設定できる識別子です。これにより、pkispawn
および Certificate System は、後続の操作で HSM および設定情報を名前で参照できます。
6.4.4.1. NCipher HSM パラメーター
pki_hsm_libfile=/opt/nfast/toolkits/pkcs11/libcknfast.so pki_hsm_modulename=nfast
pki_hsm_modulename
の値を任意の値に設定することができることに注意してください。上記の値は推奨値です。
例6.1 トークン名の特定
root
ユーザーで以下のコマンドを実行してください。
[root@example911 ~]# /opt/nfast/bin/nfkminfo
World
generation 2
...~snip~...
Cardset
name "NHSM6000-OCS"
k-out-of-n 1/4
flags NotPersistent PINRecoveryRequired(enabled) !RemoteEnabled
timeout none
...~snip~...
Cardset
セクションの name
フィールドの値には、トークン名が一覧表示されます。
pki_token_name=NHSM6000-OCS
6.4.4.2. SafeNet / Luna SA HSM パラメーター
pki_hsm_libfile=/usr/safenet/lunaclient/lib/libCryptoki2_64.so pki_hsm_modulename=lunasa
pki_hsm_modulename
の値を任意の値に設定することができることに注意してください。上記の値は推奨値です。
例6.2 トークン名の特定
root
ユーザーで以下のコマンドを実行してください。
# /usr/safenet/lunaclient/bin/vtl verify
The following Luna SA Slots/Partitions were found:
Slot Serial # Label
==== ================ =====
0 1209461834772 lunasaQE
label
列の値は、トークン名を表示します。
pki_token_name=lunasaQE
6.4.5. ハードウェアセキュリティーモジュールでのキーのバックアップ
.p12
ファイルにエクスポートすることはできません。このようなインスタンスをバックアップする必要がある場合には、HSM の製造元に連絡してサポートしてください。
6.5. Red Hat Directory Server のインストール
6.5.1. 証明書システム用の Directory Server インスタンスの準備
- Directory Server サブスクリプションをホストに割り当てます。
- Directory Server および openldap-clients パッケージをインストールします。
# yum install redhat-ds openldap-clients
- Directory Server インスタンスを設定します。以下に例を示します。
- 以下の内容で、
/tmp/ds-setup.inf
などの設定設定ファイルを作成します。[General] FullMachineName=server.example.com SuiteSpotUserID=dirsrv SuiteSpotGroup=dirsrv [slapd] ServerIdentifier=instance_name ServerPort=389 Suffix=dc=example,dc=org RootDN=cn=Directory Manager RootDNPwd=password
- 設定設定ファイルを使用してインスタンスを作成します。
setup-ds.pl --silent --file=/tmp/ds-setup.inf
詳細な手順は、『Red Hat Directory Server インストールガイド』 を参照してください。
6.5.2. Directory Server での TLS サポートの有効化
6.5.2.1. 例の値を使用した新規 Red Hat Certificate System サブシステムでの LDAPS の有効化方法
- NSS データベースへの同時変更を回避するために、Directory Server インスタンスを停止します。
# systemctl stop dirsrv@instance_name.service
- Directory Manager のパスワードを
/etc/dirsrv/instance_name/password.txt
ファイルに保存します。以下に例を示します。# echo password > /etc/dirsrv/slapd-instance_name/password.txt # chown dirsrv.dirsrv /etc/dirsrv/slapd-instance_name/password.txt # chmod 400 /etc/dirsrv/slapd-instance_name/password.txt
- Directory Manager のパスワードを
/etc/dirsrv/instance_name/pin.txt
ファイルに保存します。以下に例を示します。# echo "Internal (Software) Token:password" > /etc/dirsrv/slapd-instance_name/pin.txt # chown dirsrv.dirsrv /etc/dirsrv/slapd-instance_name/pin.txt # chmod 400 /etc/dirsrv/slapd-instance_name/pin.txt
- NSS データベースのパスワードを設定します。
# certutil -W -d /etc/dirsrv/slapd-instance_name/ -f /etc/dirsrv/slapd-instance_name/password.txt
- Directory Server の一時的な自己署名証明書を作成します。
$
cd /etc/dirsrv/slapd-instance_name$
openssl rand -out noise.bin 2048$
certutil -S \ -x \ -d . \ -f password.txt \ -z noise.bin \ -n "DS Certificate" \ -s "CN=$HOSTNAME" \ -t "CT,C,C" \ -m $RANDOM \ -k rsa \ -g 2048 \ -Z SHA256 \ --keyUsage certSigning,keyEncipherment - Directory Server 証明書エントリーが NSS データベースで利用可能かどうかを確認します。
# certutil -L -d /etc/dirsrv/slapd-instance_name/
- 証明書をエクスポートします。
# certutil -L -d /etc/dirsrv/slapd-instance_name -n "DS Certificate" -a > ds.crt
- Directory Server 証明書が自己署名されていることを確認します。
# certutil -L -d /etc/dirsrv/slapd-instance_name -n "DS Certificate" Issuer: "CN=server.example.com" Subject: "CN=server.example.com"
- Directory Server インスタンスを停止します。
#
systemctl start dirsrv@instance_name - セキュアな接続を有効にします。
# ldapmodify -x -p 389 -h $HOSTNAME -D "cn=Directory Manager" -w password << EOF dn: cn=config changetype: modify replace: nsslapd-security nsslapd-security: on dn: cn=RSA,cn=encryption,cn=config changetype: add objectclass: top objectclass: nsEncryptionModule cn: RSA nsSSLPersonalitySSL: DS Certificate nsSSLToken: internal (software) nsSSLActivation: on EOF
- 必要に応じて、デフォルトとは異なる LDAPS ポートを設定します(636)。
- たとえば、LDAPS ポートを 11636 に設定するには、以下を実行します。
ldapmodify -x -p 389 -h $HOSTNAME -D "cn=Directory Manager" -w password << EOF dn: cn=config changetype: modify replace: nsslapd-secureport nsslapd-secureport: 11636 EOF
- この標準以外のポートの SELinux ポリシーを設定します。
# semanage port -a -t ldap_port_t -p tcp 11636
- Directory Server インスタンスを再起動します。
# systemctl restart dirsrv@instance_name
/var/log/dirsrv/slapd-instance_name/errors
ファイルで、Directory Server が TLS モードで起動したことを確認します。[30/Jun/2016:00:23:31 +0200] - SSL alert: Security Initialization: Enabling default cipher set. [30/Jun/2016:00:23:31 +0200] - SSL alert: Configured NSS Ciphers [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256: enabled [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: enabled [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256: enabled [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256: enabled [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256: enabled [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: enabled [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: enabled [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA: enabled [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: enabled [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256: enabled [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA: enabled [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_DHE_RSA_WITH_AES_128_GCM_SHA256: enabled [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256: enabled [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_DHE_RSA_WITH_AES_128_CBC_SHA: enabled [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_DHE_DSS_WITH_AES_128_CBC_SHA: enabled [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_DHE_RSA_WITH_AES_128_CBC_SHA256: enabled [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_DHE_RSA_WITH_AES_256_CBC_SHA: enabled [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_DHE_DSS_WITH_AES_256_CBC_SHA: enabled [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256: enabled [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_RSA_WITH_AES_128_GCM_SHA256: enabled [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_RSA_WITH_AES_128_CBC_SHA: enabled [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_RSA_WITH_AES_128_CBC_SHA256: enabled [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_RSA_WITH_AES_256_CBC_SHA: enabled [30/Jun/2016:00:23:31 +0200] - SSL alert: TLS_RSA_WITH_AES_256_CBC_SHA256: enabled [30/Jun/2016:00:23:31 +0200] SSL Initialization - Configured SSL version range: min: TLS1.0, max: TLS1.2 [30/Jun/2016:00:23:31 +0200] - 389-Directory/1.3.4.11 B2016.166.1911 starting up
openldap-clients
および NSS データベースを使用して TLS 接続を確認します。$
LDAPTLS_CACERTDIR=/etc/dirsrv/slapd-instance_name \ ldapsearch -H ldaps://$HOSTNAME:11636 \ -x -D "cn=Directory Manager" -w Secret.123 \ -b "dc=example,dc=org" -s base "(objectClass=*)"
6.5.3. 証明書システムの設定の準備
pkispawn
ユーティリティーに渡す設定ファイルで以下のパラメーターを使用するように指示されます。
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 Manager
pki_ds_database
パラメーターの値は、pkispawn
ユーティリティーによって使用される名前で、Directory Server インスタンスで対応するサブシステムデータベースを作成します。
pki_ds_hostname
パラメーターの値は、Directory Server インスタンスのインストール場所によって異なります。これは、「証明書システム用の Directory Server インスタンスの準備」 および 「Directory Server での TLS サポートの有効化」 で使用される値によって異なります。
pki_ds_secure_connection_ca_pem_file
: Directory Server の CA 証明書のエクスポートされたコピーを含むファイルのファイル名を含む完全修飾パスを設定します。このファイルは、pkispawn
を使用する前に存在している必要があります。pki_ds_ldaps_port
: Directory Server がリッスンしているセキュアな LDAPS ポートの値を設定します。デフォルトは 636 です。
6.5.4. 一時的な証明書の置き換え
- 新しい Directory Server サーバー証明書を取得します。CA が署名した新規証明書の要求を送信します。CMC メソッドを使用して、新しいディレクトリーサーバー証明書を取得するには、『Red Hat Certificate System 管理ガイド (Common Criteria Edition)』 の 『システム証明書およびサーバー証明書の取得』 セクションを参照してください。上記のセクションで、TLS サーバー証明書の作成に関するガイダンスに従ってください。証明書を作成したら、Directory Server 証明書データベースにインポートし直す必要があります。
- NSS データベースにアクセスする前に、Directory Server インスタンスを停止します。
# systemctl stop dirsrv@instance_name
- 古い Directory Server 証明書を削除します。
# certutil -F -d /etc/dirsrv/slapd-instance_name -f /etc/dirsrv/slapd-instance_name/password.txt -n "DS Certificate"
- 先ほどダウンロードした CA 証明書をインポートします。
# PKICertImport -d /etc/dirsrv/slapd-instance_name -f /etc/dirsrv/slapd-instance_name/password.txt -n "CA Certificate" -t "CT,C,C" -a -i ca.crt -u L
- 先にダウンロードした新しい Directory Server 証明書をインポートします。
# PKICertImport -d /etc/dirsrv/slapd-instance_name -f /etc/dirsrv/slapd-instance_name/password.txt -n "DS Certificate" -t ",," -a -i ds.crt -u V
「HSM への証明書のインポート」も参照してください。 - Directory Server インスタンスを停止します。
systemctl start dirsrv@instance_name
- PKI CA から古い Directory Server 証明書を削除します。
- Certificate System インスタンスを停止します。
# systemctl stop pki-tomcatd@instance_name.service
- 証明書を削除します。
# certutil -D -d /var/lib/pki/instance_name/alias/ -n "DS Certificate"
- Certificate System インスタンスを起動します。
# systemctl start pki-tomcatd@instance_name.service
- 新しい Directory Server 証明書が、NSS データベースにインストールされている CA で署名されていることを確認します。
- Directory Server 証明書の表示
$ certutil -L -d /etc/dirsrv/slapd-instance_name -n "DS Certificate" Issuer: "CN=CA Signing Certificate,O=EXAMPLE" Subject: "CN=server.example.com"
- 古い Directory Server 証明書が PKI NSS データベースに存在しなくなったことを確認します。
$ certutil -L -d /var/lib/pki/instance_name/alias
- Certificate System が、新しい証明書を使用して Directory Server に接続できることを確認します。
$ pki cert-find
6.5.5. TLS クライアント認証の有効化
pkispawn
は、送信 TLS クライアント認証に使用される CS インスタンスのサブシステム証明書(subsystemCert cert-pki-ca
)がユーザーエントリーに保存される内部ディレクトリーサーバーにpkidbuser
を自動的に作成しています。したがって、TLS クライアント認証用に別の LDAP ユーザーまたは別の証明書を作成する必要はありません。/etc/dirsrv/slapd-instance_name/certmap.conf
のコンテンツを作成する場合は、以下の形式を使用します。certmap rhcs <certificate issuer DN> rhcs:CmapLdapAttr seeAlso rhcs:verifyCert on
以下に例を示します。certmap rhcs CN=CA Signing Certificate,OU=pki-tomcat-ca,O=pki-tomcat-ca-SD rhcs:CmapLdapAttr seeAlso rhcs:verifyCert on
- 設定後に、Directory Server を再起動します。
directory> / <subsystem type> /conf/ CS.cfg
にある RHCS インスタンスの CS.cfg
ファイルを編集する必要があります。例: /var/lib/pki/pki-tomcat/ca/conf/CS.cfg
CS.cfg
で、RHCS インスタンスのサブシステム証明書のニックネームを internaldb.ldapauth.clientCertNickname
に追加し、2 つの未使用のエントリーを削除します。
internaldb.ldapauth.bindDN internaldb.ldapauth.bindPWPrompt
internaldb._000=## internaldb._001=## Internal Database internaldb._002=## internaldb.basedn=o=pki-tomcat-ca-SD internaldb.database=pki-tomcat-ca internaldb.maxConns=15 internaldb.minConns=3 internaldb.ldapauth.authtype=SslClientAuth internaldb.ldapauth.clientCertNickname=HSM-A:subsystemCert pki-tomcat-ca internaldb.ldapconn.host=example.com internaldb.ldapconn.port=11636 internaldb.ldapconn.secureConn=true
internaldb.basedn
パラメーターおよび internaldb.database
パラメーターを設定する必要があります。
internaldb.ldapauth.clientCertNickname
の値は、NSS DB の を使用して LDAP に対して認証するために TLS クライアント証明書のニックネームと一致する必要があります。
6.6. Red Hat サブスクリプションの添付および Certificate System パッケージリポジトリーの有効化
- Red Hat サブスクリプションをシステムに割り当てます。システムがすでに登録されているか、Certificate Server サブスクリプションが割り当てられている場合は、この手順をスキップしてください。
- システムを Red Hat サブスクリプション管理サービスに登録する
#
subscription-manager register --auto-attach
Username: admin@example.com Password: The system has been registered with id: 566629db-a4ec-43e1-aa02-9cbaa6177c3f Installed Product Current Status: Product Name: Red Hat Enterprise Linux Server Status: Subscribed--auto-attach
オプションを使用して、オペレーティングシステムのサブスクリプションを自動的に適用します。 - 利用可能なサブスクリプションをリストし、Red Hat Certificate System を提供するプール ID をメモします。以下に例を示します。
#
subscription-manager list --available --all
... Subscription Name: Red Hat Enterprise Linux Developer Suite Provides: ... Red Hat Certificate System ... Pool ID: 7aba89677a6a38fc0bba7dac673f7993 Available: 1 ...サブスクリプションが多数ある場合は、コマンドの出力が非常に長くなることがあります。必要に応じて、出力をファイルにリダイレクトできます。#
subscription-manager list --available --all > /root/subscriptions.txt
- 前の手順でプール ID を使用して、Certificate System のサブスクリプションをシステムに割り当てます。
#
subscription-manager attach --pool=7aba89677a6a38fc0bba7dac673f7993
Successfully attached a subscription for: Red Hat Enterprise Linux Developer Suite
- Certificate Server リポジトリーを有効にします。
#
subscription-manager repos --enable=rhel-7-server-rhcmsys-9-rpms
Repository 'rhel-7-server-rhcmsys-9-rpms' is enabled for this system.
subscription-manager
ユーティリティーを使用して有効にできるのは、Red Hat 承認済みのリポジトリーのみです。
6.7. Certificate System のオペレーティングシステムのユーザーおよびグループ
pkiuser
アカウントと対応する pkiuser
グループが自動的に作成されます。Certificate System は、このアカウントとグループを使用してサービスを起動します。
第7章 Certificate System のインストールおよび設定
- 認証局 (CA)
- キーリカバリー認証局 (KRA)
- OCSP (Online Certificate Status Protocol) レスポンダーの使用
- トークンキーサービス (TKS)
- トークン処理システム (TPS)
7.1. サブシステムの設定順序
- 他の公開鍵インフラストラクチャー (PKI) サブシステムをインストールするには、少なくとも 1 つの CA が必要です。
- CA の設定後に OCSP をインストールします。
- KRA サブシステムおよび TKS サブシステムは、CA および OCSP の設定後にいつでもインストールできます。
- TPS サブシステムは CA および TKS に依存し、任意で KRA サブシステムおよび OCSP サブシステムに依存します。
7.2. Certificate System パッケージ
- pki-ca: 認証局 (CA) サブシステムを提供します。
- pki-kra: Key Recovery Authority (KRA) サブシステムを提供します。
- pki-ocsp: OCSP (Online Certificate Status Protocol) レスポンダーの使用
- pki-tks: Token Key Service (TKS) を提供します。
- pki-tps: Token Processing Service (TPS) を提供します。
- pki-console および redhat-pki-console-theme: Java ベースの Red Hat PKI コンソールを提供します。両方のパッケージをインストールする必要があります。
- pki-server および redhat-pki-server-theme: Web ベースの Certificate System インターフェイスを提供します。両方のパッケージをインストールする必要があります。pki-ca、pki-kra、pki-ocsp、pki-tks、pki-tps のパッケージのいずれかをインストールすると、このパッケージは依存関係としてインストールされます。
7.2.1. 非 TMS 環境での証明書システムパッケージのインストール
# yum install pki-ca redhat-pki-server-theme pki-console \ redhat-pki-console-theme pki-kra pki-ocsp
7.2.2. TMS 環境への証明書システムパッケージのインストール
# yum install redhat-pki
7.2.3. Certificate System パッケージの更新
- 「Certificate System の製品バージョンの特定」 の手順に従って、製品バージョンを確認します。
- # yum updateを実行します。上記のコマンドは、RHCS パッケージを含むシステム全体を更新します。注記PKI インフラストラクチャーをオフラインにして更新をインストールできるメンテナーンスウィンドウをスケジュールすることが推奨します。重要Certificate System を更新するには、PKI インフラストラクチャーを再起動する必要があります。
- 次に、「Certificate System の製品バージョンの特定」 でバージョンを再度確認します。バージョン番号は、更新が正常にインストールされていることを確認する必要があります。
yum update --downloadonly
/var/cache/yum/
ディレクトリーに保存されます。yum update は、最新バージョンであれば後でパッケージを使用します。
7.2.4. Certificate System の製品バージョンの特定
/usr/share/pki/CS_SERVER_VERSION
ファイルに保存されます。バージョンを表示するには、以下を実行します。
# cat /usr/share/pki/CS_SERVER_VERSION Red Hat Certificate System 9.4 (Batch Update 3)
- http://host_name:port_number/ca/admin/ca/getStatus
- http://host_name:port_number/kra/admin/kra/getStatus
- http://host_name:port_number/ocsp/admin/ocsp/getStatus
- http://host_name:port_number/tks/admin/tks/getStatus
- http://host_name:port_number/tps/admin/tps/getStatus
7.3. pkispawn ユーティリティーを使用したインストール
7.3.1. pkispawn ユーティリティーについて
pkispawn
ユーティリティーには設定ファイルが必要です。このファイルには、セクションにグループ化されたパラメーターが含まれています。これらのセクションは積み重ねられているため、前のセクションで定義されたパラメーターを後のセクションで定義されたパラメーターでオーバーライドできます。セクションは次の順序で読まれます。
[DEFAULT]
[Tomcat]
- サブシステム固有のセクション:
[CA]
、KRA
、OCSP[OCSP]
、TKS
、またはTPS
pkispawn
- まず、
/etc/pki/default.cfg
ファイルからデフォルト値を読み取ります。重要/etc/pki/default.cfg
ファイルは編集しないでください。pkispawn
ユーティリティーに渡されるときにデフォルトを上書きする設定ファイルを作成するように指示されます。設定ファイルで設定されていないパラメーターは、デフォルト値を使用します。設定ファイルの使用方法は、「pkispawn
を使用した 2 ステップのインストール」を参照してください。 - 上記の管理者が提供する設定ファイルを読み取り、デフォルト値をオーバーライドします。
- 要求された PKI サブシステムのインストールを実行します。
- 設定に基づいて設定を行う Java サーブレットに設定を渡します。
pkispawn
を使用した 2 ステップのインストール」
pkispawn
を使用した単一ステップのインストール(TMS のみ)」
7.3.2. pkispawn
を使用した 2 ステップのインストール
pkispawn
の 2 ステップインストールを使用して、管理者がインストールの 2 つの部分間で設定ファイルを手動で更新できるようにします。
two-step installation
という名前は、インストールを完了するために上書き設定ファイルに若干異なるパラメーターセットを使用し、pkispawn
ユーティリティーが 2 回実行されることが多いという事実から来ています。
pkispawn
ユーティリティーを使用したインストール (ステップ 1)このステップでは、pkispawn
は設定ファイルを/usr/share/pki/
ディレクトリーからインスタンス固有の/etc/pki/instance_name/
ディレクトリーにコピーします。さらに、pkispawn
は、デプロイメント設定ファイルで定義された値に基づいて設定を行います。インストールのこの部分には、以下のサブステップが含まれます。- ステップ間の設定とカスタマイズ詳細は、「2 つの
pkispawn
インストール手順間の設定」を参照してください。 pkispawn
ユーティリティーを使用した設定 (ステップ 2)このステップでは、pkispawn
を実行して、インスタンス固有の/etc/pki/instance_name/
ディレクトリーの設定ファイルに基づいてインストールを続行します。インストールのこの部分の詳細については、「pkispawn
ステップ 2 インストールの開始」 を参照してください。
7.3.2.1. インストールの最初ステップ用の設定ファイルの作成
/root/pki/config.subsystem.txt
などの pkispawn
設定用のテキストファイルを作成し、これを以下の設定で入力します。すべての設定を追加する必要があります。
サブシステムに依存しない設定
[DEFAULT]
セクション:- 一意のインスタンス名を設定します。
pki_instance_name=instance_name
- ホスト名とセキュリティードメイン名を設定します。
pki_host=server.example.com pki_security_domain_name=example.com Security Domain pki_security_domain_user=caadmin pki_security_domain_password=SD password
注記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 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 を使用した証明書システムのインストールの準備」 を参照してください。 - 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=SHA256withRSA
key_algorithm
パラメーターの選択肢は次のとおりです。- SHA256withRSA
- SHA384withRSA
- SHA512withRSA
注記このパラメーターは、CA のCS.cfg
ファイルのca.profiles.defaultSigningAlgsAllowed
パラメーターで指定された各値に設定できます。詳細は、『Red Hat Certificate System 管理ガイド (Common Criteria Edition)』 の 『署名アルゴリズムの制約』 セクションを参照してください。署名アルゴリズム(RSA)はkey_type
(rsa)と一致する必要があります。key_type
で許可されている選択肢は rsa のみです。key_size
で許可されている選択肢は 2048 と 4096 です。 - 証明書の作成時に 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=SHA256withEC
key_algorithm
パラメーターの選択肢は次のとおりです。- SHA256withEC
- SHA384withEC
- SHA512withEC
注記このパラメーターは、CA のCS.cfg
ファイルのca.profiles.defaultSigningAlgsAllowed
パラメーターで指定された各値に設定できます。詳細は、『Red Hat Certificate System 管理ガイド (Common Criteria Edition)』 の 『署名アルゴリズムの制約』 セクションを参照してください。署名アルゴリズム(EC)はkey_type
(ecc)と一致する必要があります。key_size
に許可されている選択肢は次のとおりです。- nistp256
- nistp384
- nistp521
key_type
に対して許可される選択肢は eccです。 - ブートストラップ
admin
ユーザーのクライアントディレクトリーを設定します。pki_client_dir=bootstrap_admin_directory
デフォルトでは、パスは~/.dogtag/instance_name/
に設定されます。重要pki_admin_*
パラメーターおよびpki_client_*
パラメーターは、インストールプロセスによって自動的に作成されるブートストラップユーザーに属します。デフォルトのロール (権限) とブートストラップユーザーの詳細については、次を参照してください。「ユーザー、認可、およびアクセス制御」このセクションで説明するパラメーターの説明は、pki_default.cfg(5) の man ページを参照してください。 - ブートストラップ
admin
ユーザーのさまざまなパスワードを設定します。pki_admin_password=password pki_client_database_password=password pki_client_pkcs12_password=password
- 同じホストで実行されている Directory Server への LDAPS 接続のパラメーターを設定します。
pki_ds_database=back-end database name pki_ds_hostname=hostname pki_ds_secure_connection=True pki_ds_secure_connection_ca_pem_file=path_to_CA_or_self-signed_certificate pki_ds_password=password
- Directory Server で自己署名証明書を使用する場合は、以下のコマンドを使用して Directory Server の Network Security Services (NSS) データベースからエクスポートします。
# certutil -L -d /etc/dirsrv/slapd-instance_name/ \ -n "server-cert" -a -o /root/ds.crt
[Tomcat]
セクション:- Tomcat JServ Protocol (AJP) ポートを設定します。
pki_ajp_port=Tomcat_AJP_port
- Tomcat サーバーポートを設定します。
pki_tomcat_server_port=Tomcat_server_port
重要同じホストで複数の PKI サブシステムインスタンスを実行するには、ホスト上の他のサービスで使用されていないpki_ajp_port
パラメーターおよびpki_tomcat_server_port
パラメーターにポートを設定する必要があります。デフォルトでは、pki_ajp_port
は 8009 に、pki_tomcat_server_port
は 8005 に設定されています。
pkispawn
シングルステップインストール用の設定ファイルの作成を続行するには、「pkispawn シングルステップインストール用の設定ファイルの作成」 を参照してください。
CA 設定
[CA]
セクションに以下の設定が必要です。
- 次の設定を追加して、ランダムなシリアル番号を有効にします。
pki_random_serial_numbers_enable=true
- 次のパラメーターを設定して、インストール中に自動的に作成されるブートストラップ
admin
ユーザーのデータを指定します。pki_admin_nickname=bootstrap_CA_admin pki_admin_name=bootstrap_CA_administrator_name pki_admin_uid=caadmin pki_admin_email=caadmin@example.com
Certificate System は、このブートストラップアカウントに管理者とエージェントの権限を割り当てます。インストール後にこのアカウントを使用して、実際の管理者、エージェント、および監査者のアカウントを作成します。 - サブシステム依存の証明書の HSM トークンを指定します。
pki_ca_signing_token=HSM_token_name pki_ocsp_signing_token=HSM_token_name
- RSA ベースの CA を構築する場合は、次の設定を使用します。
pki_ca_signing_key_algorithm=SHA256withRSA pki_ca_signing_key_size=4096 pki_ca_signing_key_type=rsa pki_ca_signing_signing_algorithm=SHA256withRSA pki_ocsp_signing_key_algorithm=SHA256withRSA pki_ocsp_signing_key_size=4096 pki_ocsp_signing_key_type=rsa pki_ocsp_signing_signing_algorithm=SHA256withRSA
key_algorithm
パラメーターの選択肢は次のとおりです。- SHA256withRSA
- SHA384withRSA
- SHA384withRSA
注記このパラメーターは、CA のCS.cfg
ファイルのca.profiles.defaultSigningAlgsAllowed
パラメーターで指定された各値に設定できます。詳細は、『Red Hat Certificate System 管理ガイド (Common Criteria Edition)』 の 『署名アルゴリズムの制約』 セクションを参照してください。署名アルゴリズム(RSA)はkey_type
(rsa)と一致する必要があります。key_size
パラメーターの選択肢は次のとおりです。- 2048
- 4096
key_type
パラメーターで許可される選択肢は rsa のみです。 - デフォルトでは、システム証明書のキータイプは rsa で、キーの長さは 2048 ビットです。証明書の作成時に RSA の代わりに楕円曲線暗号 (ECC) を使用するには、次のように設定します。
pki_ocsp_signing_key_algorithm=SHA256withEC pki_ocsp_signing_key_size=nisp256 pki_ocsp_signing_key_type=ecc pki_ocsp_signing_signing_algorithm=SHA256withEC
key_algorithm
パラメーターの選択肢は次のとおりです。- SHA256withEC
- SHA384withEC
- SHA512withEC
注記このパラメーターは、CA のCS.cfg
ファイルのca.profiles.defaultSigningAlgsAllowed
パラメーターで指定された各値に設定できます。詳細は、『Red Hat Certificate System 管理ガイド (Common Criteria Edition)』 の 『署名アルゴリズムの制約』 セクションを参照してください。署名アルゴリズム(EC)はkey_type
(ecc)と一致する必要があります。key_size
パラメーターの選択肢は次のとおりです。- nistp256
- nistp384
- nistp521
key_type
パラメーターで許可される選択肢は ecc です。
他のサブシステムの設定
- ルート CA ではないサブシステムは、外部 CA と呼ばれることもある 2 ステップインストールメカニズムを使用します。最初のステップとして、それぞれのサブシステム固有のセクションの下に次のパラメーターを追加します。
pki_external=True pki_external_step_two=False
- この手順は、インストールするサブシステムによって異なります。
- Subordinate CA
[CA]
セクションに以下の設定を追加します。- ルート CA の
CA
セクションからすべての設定を追加します。 - システム証明書署名要求 (CSR) の出力パスを設定します。
pki_ca_signing_csr_path=path pki_ocsp_signing_csr_path=path pki_audit_signing_csr_path=path pki_sslserver_csr_path=path pki_subsystem_csr_path=path pki_admin_csr_path=path
- OCSP
OCSP セクションで次のように設定し
ます。- 次のパラメーターを指定して、インストール中に自動的に作成されるブートストラップ OCSP
管理
ユーザーのデータを設定します。pki_admin_nickname=bootstrap_OCSP_admin pki_admin_name=bootstrap_OCSP_administrator_name pki_admin_uid=ocspadmin pki_admin_email=ocspadmin@example.com
Certificate System は、このブートストラップアカウントに管理者とエージェントの権限を割り当てます。インストール後にこのアカウントを使用して、実際の管理者、エージェント、および監査者のアカウントを作成します。 - サブシステム依存の証明書の HSM トークンを指定します。
pki_ocsp_signing_token=HSM_token_name
- RSA Certificate System インスタンスを構築する場合は、次の設定を使用します。
pki_ocsp_signing_key_algorithm=SHA256withRSA pki_ocsp_signing_key_size=4096 pki_ocsp_signing_key_type=rsa pki_ocsp_signing_signing_algorithm=SHA256withRSA
key_algorithm
パラメーターの選択肢は次のとおりです。- SHA256withRSA
- SHA384withRSA
- SHA384withRSA
注記このパラメーターは、CA のCS.cfg
ファイルのca.profiles.defaultSigningAlgsAllowed
パラメーターで指定された各値に設定できます。詳細は、『Red Hat Certificate System 管理ガイド (Common Criteria Edition)』 の 『署名アルゴリズムの制約』 セクションを参照してください。署名アルゴリズム(RSA)はkey_type
(rsa)と一致する必要があります。key_size
パラメーターの選択肢は次のとおりです。- 2048
- 4096
key_type
パラメーターで許可される選択肢は rsa のみです。注記CA インスタンスタイプ (RSA または ECC) を OCSP レスポンダータイプ (RSA または ECC) と一致させることをお勧めします。 - 証明書の作成時に RSA の代わりに楕円曲線暗号 (ECC) を使用するには、次のように設定します。
pki_ocsp_signing_key_algorithm=SHA256withEC pki_ocsp_signing_key_size=nisp256 pki_ocsp_signing_key_type=ecc pki_ocsp_signing_signing_algorithm=SHA256withEC
key_algorithm
パラメーターの選択肢は次のとおりです。- SHA256withEC
- SHA384withEC
- SHA512withEC
注記このパラメーターは、CA のCS.cfg
ファイルのca.profiles.defaultSigningAlgsAllowed
パラメーターで指定された各値に設定できます。詳細は、『Red Hat Certificate System 管理ガイド (Common Criteria Edition)』 の 『署名アルゴリズムの制約』 セクションを参照してください。署名アルゴリズム(EC)はkey_type
(ecc)と一致する必要があります。key_size
パラメーターの選択肢は次のとおりです。- nistp256
- nistp384
- nistp521
key_type
パラメーターで許可される選択肢は ecc のみです。注記CA インスタンスタイプ (RSA または ECC) を OCSP レスポンダータイプ (RSA または ECC) と一致させることをお勧めします。 - システム証明書署名リクエスト (CSR) の出力パスを設定します。
pki_ocsp_signing_csr_path=path pki_audit_signing_csr_path=path pki_sslserver_csr_path=path pki_subsystem_csr_path=path pki_admin_csr_path=path
- KRA
KRA セクションで以下を設定し
ます。- 次のパラメーターを指定して、インストール中に自動的に作成されるブートストラップ KRA
管理
ユーザーのデータを設定します。pki_admin_nickname=bootstrap_KRA_admin pki_admin_name=bootstrap_KRA_administrator_name pki_admin_uid=kraadmin pki_admin_email=kraadmin@example.com
Certificate System は、このブートストラップアカウントに管理者とエージェントの権限を割り当てます。インストール後にこのアカウントを使用して、実際の管理者、エージェント、および監査者のアカウントを作成します。 - サブシステム依存の証明書の HSM トークンを指定します。
pki_transport_token=HSM_token_name pki_storage_token=HSM_token_name
- RSA は、KRA ストレージ証明書とトランスポート証明書の両方でサポートされている唯一のキータイプです。デフォルトでは、キーの長さは 2048 ビットです。代わりに 4096 ビットキーを選択するには、以下のパラメーターを追加します。
pki_transport_key_size=4096 pki_storage_key_size=4096
- システム証明書署名リクエスト (CSR) の出力パスを設定します。
pki_kra_signing_csr_path=path pki_audit_signing_csr_path=path pki_sslserver_csr_path=path pki_subsystem_csr_path=path pki_admin_csr_path=path
7.3.2.2. pkispawn
ステップ 1 インストールの開始
- ルート CA の場合:
# pkispawn -f /root/pki/config.root-CA.txt -s CA
- 下位 CA またはその他の非 CA サブシステムの場合:
# pkispawn -f /root/pki/config.subsystem.txt -s subsystem
サブシステムを次のいずれかの サブシステム に置き換えます:CA
、KRA
、またはOCSP
。たとえば、KRA インストールの場合:# pkispawn -f /root/pki/config.KRA.txt -s KRA
7.3.2.3. 2 つの pkispawn
インストール手順間の設定
pkispawn
ステップ 1 インストールの開始」 で説明されているインストール手順が修了したら、「pkispawn
ステップ 2 インストールの開始」 が実行され、実際の設定を開始する前にインスタンス固有の設定ファイルを手動で更新できます。
pkispawn
手順の手順 1 を完了した後に、本セクションで説明されているアクションを実行します。
7.3.2.3.1. 署名監査ログの有効化
7.3.2.3.2. KRA の暗号化モードへの設定
7.3.2.3.3. OCSP の有効化
7.3.2.4. pkispawn
ステップ 2 インストールの開始
pkispawn
インストール手順間の設定」 を完了したら、pkispawn
インストールの 2 番目のステップを開始します。
- Root CA:
# pkispawn -f /root/pki/config.root-CA.txt -s CA --skip-installation
設定手順に成功すると、pkispawn
ユーティリティーにインストールの概要が表示されます。以下に例を示します。================================================================ INSTALLATION SUMMARY ================================================================ Administrator's username: caadmin Administrator's PKCS #12 file: /root/.dogtag/instance_name/ca_admin_cert.p12 To check the status of the subsystem: systemctl status pki-tomcatd@instance_name.service To restart the subsystem: systemctl restart pki-tomcatd@instance_name.service The URL for the subsystem is: https://server.example.com:8443/ca/ PKI instances will be enabled upon system boot ================================================================
- 下位 CA またはその他の非 CA サブシステム:
- CSR を CA に送信して、証明書を発行します。非ルート CA サブシステムとルート CA のインストールの主な違いの 1 つは、
pkispawn
ユーティリティーのステップ 2 を実行する前に、他のサブシステムがシステム証明書署名要求(CSR)を CA に送信する必要があることです。「他のサブシステムの設定」 の最初のステップで、インストールするサブシステムのpkispawn
設定ファイルに*_csr_path
パラメーターを追加しました。pkispawn
の最初のステップに成功すると、Certificate System は CSR を生成し、指定されたパスに保存します。これらの証明書リクエストは PKCS#10 形式であり、CA に送信する前に、Certificate Management over CMS (CMC) 形式に変換する必要があります。4.2 で指定された指示に従ってください。Red Hat Certificate System 管理ガイドの証明書署名リクエストの作成。pkispawn
コマンドの 2 番目のステップを実行するときに、作成されるシステム証明書が必要です。さらに、PKCS#7 形式の発行元 CA の証明書チェーンが必要です。取得するには:- 発行 CA の EE URL にアクセスします。
- Display the CA certificate chain in PKCS#7 をクリックしてサーバーにインポートし ます。→ に移動し、
- 表示された PKCS#7- 形式の出力を、Certificate System ホストの
/root/pki/cert_chain.p7b
などのテキストファイルにコピーします。
pkispawn
コマンドの 2 番目のステップの設定ファイルを作成します。- 最初の手順から
pkispawn
設定ファイルをコピーし、新しく作成されたファイルを pkispawn コマンドのステップ 2 用に編集します。DEFAULT セクションで
、前の手順で準備した発行元の CA の証明書チェーンファイルへのパスと、CA 署名証明書のニックネームを設定します。以下に例を示します。[DEFAULT] pki_ca_signing_nickname=CA Signing Certificate pki_ca_signing_cert_path=/root/pki/cert_chain.p7b
- インストールするサブシステムに応じて、サブシステム固有のセクション(
CA
、KRA
、またはOCSP
)に次の設定を追加します。- Subordinate CA
pki_ca_signing_crt_path=/root/pki/subsystem/ocsp_signing.crt pki_subsystem_crt_path=/root/pki/subsystem/subsystem.crt pki_sslserver_crt_path=/root/pki/subsystem/sslserver.crt pki_audit_signing_crt_path=/root/pki/subsystem/ca_audit_signing.crt pki_admin_crt_path=/root/pki/subsystem/ca_admin.crt pki_external_step_two=True
- OCSP
pki_ocsp_signing_crt_path=/root/pki/subsystem/ocsp_signing.crt pki_subsystem_crt_path=/root/pki/subsystem/subsystem.crt pki_sslserver_crt_path=/root/pki/subsystem/sslserver.crt pki_audit_signing_crt_path=/root/pki/subsystem/ocsp_audit_signing.crt pki_admin_crt_path=/root/pki/subsystem/ocsp_admin.crt pki_external_step_two=True
- KRA
pki_storage_crt_path=/root/pki/subsystem/kra_storage.crt pki_transport_crt_path=/root/pki/subsystem/kra_transport.crt pki_subsystem_crt_path=/root/pki/subsystem/subsystem.crt pki_sslserver_crt_path=/root/pki/subsystem/sslserver.crt pki_audit_signing_crt_path=/root/pki/subsystem/kra_audit_signing.crt pki_admin_crt_path=/root/pki/subsystem/kra_admin.crt pki_external_step_two=True
- pkispawn コマンドを実行します。
# pkispawn -f /root/pki/config.subsystem.txt -s subsystem
サブシステムを次のいずれかの サブシステム に置き換えます:CA
、KRA
、またはOCSP
。たとえば、KRA インストールの場合:# pkispawn -f /root/pki/config.KRA.txt -s KRA
7.3.3. pkispawn
を使用した単一ステップのインストール(TMS のみ)
pkispawn
シングルステップインストールプロセスを使用してインストール
できます。
pkispawn
には設定ファイルが必要です。
7.3.3.1. pkispawn シングルステップインストール用の設定ファイルの作成
pkispawn
設定ファイルのサブシステムに依存しない部分を入力します。
DEFAULT セクションの下
に以下を追加します。
pki_security_domain_hostname=example.redhat.com pki_security_domain_https_port=8443 pki_security_domain_user=caadmin pki_security_domain_password=[SD password]
TKS
または TPS
) を次のように追加します。
- TKS
TKS セクションで以下を設定し
ます。- 次のパラメーターを指定して、インストール中に自動的に作成されるブートストラップ
TKS
管理者ユーザーのデータを設定します。pki_admin_nickname=bootstrap_TKS_admin pki_admin_name=bootstrap_TKS_administrator_name pki_admin_uid=tksadmin pki_admin_email=tksadmin@example.com
Red Hat Certificate System は、このブートストラップアカウントに管理者とエージェントの権限を割り当てます。インストール後にこのアカウントを使用して、管理者および監査者のアカウントを作成します。
- TPS
TPS セクションで次のように設定し
ます。- 次のパラメーターを指定して、インストール中に自動的に作成されるブートストラップ
TPS
管理ユーザーのデータを設定します。pki_admin_nickname=bootstrap_TPS_admin pki_admin_name=bootstrap_TPS_administrator_name pki_admin_uid=tpsadmin pki_admin_email=tpsadmin@example.com
Red Hat Certificate System は、このブートストラップアカウントに管理者とエージェントの権限を割り当てます。インストール後にこのアカウントを使用して、管理者アカウントと監査者アカウントを作成します。 TPS
認証データベースの LDAP ベース DN を設定します。pki_authdb_basedn=base_DN_of_the_TPS_authentication_database
- サーバー側の鍵の生成とアーカイブを有効にします。
pki_enable_server_side_keygen=True
7.3.3.2. シングルステップインストールでの pkispawn の実行
7.3.3.3. シングルステップインストールのインストール後
7.4. インストール後のタスク
pkispawn
ユーティリティーを使用したインストールが完了したら、インストール後に特定のアクションが必要になります。さらに、サイトの設定によっては、いくつかのオプションのアクションも役立ちます。
- 証明書登録プロファイル (CA) の設定または追加。詳細は、「ファイルシステムで直接証明書プロファイルの作成および編集」 を参照してください。
7.4.1. RHCS の日付/時刻の設定
7.4.2. Directory Server (CA) での一時的な自己署名証明書の置き換え
7.4.3. 内部 LDAP サーバーの TLS クライアント認証の有効化
7.4.4. セッションタイムアウトの設定
7.4.5. CRL または証明書の発行
7.4.6. 証明書登録プロファイル (CA) の無効化
7.4.7. アクセスバナーの有効化
7.4.8. Watchdog サービスの有効化
7.4.9. CMC 登録および失効 (CA) の設定
- CMC Shared Token Feature の有効化に関する詳細は、「CMC 共有シークレット機能の有効化」を参照してください。
PopLinkWittness
機能の有効化に関する詳細は、「PopLinkWittnessV2
機能の有効化」 を参照してください。- Web ユーザーインターフェイスの
CMCRevoke
を有効にする方法は、「Web ユーザーインターフェイスの CMCRevoke の有効化」 を参照してください。
7.4.10. Java コンソールに TLS クライアント認証を要求する
pkiconsole
の要件設定」を参照してください。
7.4.11. ロールユーザーの作成
7.4.12. Bootstrap ユーザーの削除
7.4.13. マルチロールサポートの無効化
7.4.14. KRA の設定
7.4.14.1. KRA (Key Recovery Authority) に複数のエージェント承認の要件の追加
7.4.14.2. KRA 暗号化設定の設定
7.4.15. ユーザーインターフェイスを使用するようにユーザーを設定
第8章 インストールのトラブルシューティング
8.1. よくある質問 (FAQ)
- 8.1.1. インストールシステム
- 8.1.2. Java コンソール
8.1.1. インストールシステム
journal
ログを確認します。
journalctl -u pki-tomcatd@instance_name.service
journalctl -u pki-tomcatd-nuxwdog@instance_name.service (if using the nuxwdog watchdog
)
/var/log/pki/instance_name/subsystem_type/debug にあるデバッグログ
ファイルを調べます。
catalina.out
ファイルに返されます。
Oct 29, 2010 4:15:44 PM org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-9080 java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:615) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:243) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:408) Caused by: java.lang.UnsatisfiedLinkError: jss4
libnss3.so
が必要です。以下のコマンドでこれを確認します。
ldd /usr/lib64/libjss4.so
libnss3.so
が見つからない場合は、/etc/sysconfig/instance_name
設定ファイルで正しいクラスパスを設定します。次に、次のコマンドを使用して CA を再起動します。
systemctl restart pki-tomcatd@instance_name.service
systemctl restart pki-tomcatd-nuxwdog@instance_name.service (if using the nuxwdog watchdog
)
pkispawn
対話インストールモードを使用してこれを行う方法は表示されません。
/etc/pki/default.cfg
ファイルへのデルタリンクを表す設定ファイルが必要です。pkispawn(8) および pki_default.cfg(5) の man ページを参照してください。
ジャーナル
、システム
、および デバッグ
ログファイルでインスタンスに対して、発生したエラーを確認します。これは、いくつかの一般的なエラーを示していますが、他の方法は多数あります。
エラー #1: LDAP データベースは実行していない
journal
ファイルで例外が明らかになります。
java.io.IOException: CS server is not ready to serve. com.netscape.cms.servlet.base.CMSServlet.service(CMSServlet.java:409) javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
5558.main - [29/Oct/2010:11:13:40 PDT] [8] [3] In Ldap (bound) connection pool to host ca1 port 389, Cannot connect to LDAP server. Error: netscape.ldap.LDAPException: failed to connect to server ldap://ca1.example.com:389 (91)
デバッグ
ログは以下のようになります。
[29/Oct/2010:11:39:10][main]: CMS:Caught EBaseException Internal Database Error encountered: Could not connect to LDAP server host ca1 port 389 Error netscape.ldap.LDAPException: failed to connect to server ldap://ca1:389 (91) at com.netscape.cmscore.dbs.DBSubsystem.init(DBSubsystem.java:262)
エラー #2: VPN がアクセスをブロックしている
journal
ログファイルに、HTTP 500 エラーが発生する一連の接続エラーが表示されます。
May 26, 2010 7:09:48 PM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet services threw exception java.io.IOException: CS server is not ready to serve. at com.netscape.cms.servlet.base.CMSServlet.service(CMSServlet.java:441) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:542) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685) at java.lang.Thread.run(Thread.java:636)
8.1.2. Java コンソール
server.xml
の設定が間違っている)か、管理者インターフェイスにアクセスするために間違ったポートが付与されたかのいずれかです。
NSS Cipher Supported '0xff04' java.io.IOException: SocketException cannot read on socket at org.mozilla.jss.ssl.SSLSocket.read(SSLSocket.java:1006) at org.mozilla.jss.ssl.SSLInputStream.read(SSLInputStream.java:70) at com.netscape.admin.certsrv.misc.HttpInputStream.fill(HttpInputStream.java:303) at com.netscape.admin.certsrv.misc.HttpInputStream.readLine(HttpInputStream.java:224) at com.netscape.admin.certsrv.connection.JSSConnection.readHeader(JSSConnection.java:439) at com.netscape.admin.certsrv.connection.JSSConnection.initReadResponse(JSSConnection.java:430) at com.netscape.admin.certsrv.connection.JSSConnection.sendRequest(JSSConnection.java:344) at com.netscape.admin.certsrv.connection.AdminConnection.processRequest(AdminConnection.java:714) at com.netscape.admin.certsrv.connection.AdminConnection.sendRequest(AdminConnection.java:623) at com.netscape.admin.certsrv.connection.AdminConnection.sendRequest(AdminConnection.java:590) at com.netscape.admin.certsrv.connection.AdminConnection.authType(AdminConnection.java:323) at com.netscape.admin.certsrv.CMSServerInfo.getAuthType(CMSServerInfo.java:113) at com.netscape.admin.certsrv.CMSAdmin.run(CMSAdmin.java:499) at com.netscape.admin.certsrv.CMSAdmin.run(CMSAdmin.java:548) at com.netscape.admin.certsrv.Console.main(Console.java:1655)
/usr/bin/pkiconsole
ファイルを開き、以下の行を追加します。
============================================ ${JAVA} ${JAVA_OPTIONS} -cp ${CP} -Djava.util.prefs.systemRoot=/tmp/.java -Djava.util.prefs.userRoot=/tmp/java com.netscape.admin.certsrv.Console -s instanceID -D 9:all -a $1 ---------- note: "-D 9:all" is for verbose output on the console. ============================================
8.2. ハードウェアセキュリティーモジュール
8.2.1. トークンの検出
alias
ディレクトリーを参照します。これは、Certificate System パッケージのインストール後に利用できる Certificate System ツールです。
# TokenInfo /var/lib/pki/pki-tomcat/alias
8.2.2. トークンの表示
- インスタンスの
alias
ディレクトリーに移動します。以下に例を示します。# cd /var/lib/pki/pki-tomcat/alias
- インストールされている PKCS #11 モジュールに関する情報と、modutil ツールを使用して、対応するトークンに関する情報を表示します。
# modutil -dbdir . -nocertdb -list
パート III. Certificate System の設定
第9章 Certificate System の設定ファイル
CS.cfg
ファイルです。本章では、CS.cfg
ファイルを編集するための基本情報とルールについて説明します。この章では、パスワードや Web サービスファイルなど、サブシステムで使用されるその他の便利な設定ファイルについても説明します。
9.1. Certificate System サブシステムのファイルおよびディレクトリーの場所
9.1.1. インスタンス固有の情報
ポートタイプ | ポート番号 | 注記 |
---|---|---|
セキュアなポート | 8443 | HTTPS 経由でエンドユーザー、エージェント、および管理者により PKI サービスにアクセスするために使用される主要なポート。 |
セキュアなポート | 8080 | HTTP を介した一部のエンドエンティティー機能のために、安全ではないサーバーにアクセスするために使用されます。たとえば、すでに署名されているため暗号化する必要のない CRL を提供するために使用されます。 |
AJP ポート | 8009 | フロントエンドの Apache プロキシーサーバーから AJP 接続を介してサーバーにアクセスするために使用されます。HTTPS ポートにリダイレクトします。 |
Tomcat ポート | 8005 | Web サーバーによって使用されます。 |
9.1.2. CA サブシステム情報
設定 | 値 |
---|---|
メインディレクトリー | /var/lib/pki/pki-tomcat/ca/ |
設定ディレクトリー | /var/lib/pki/pki-tomcat/ca/conf/[a] |
設定ファイル | /var/lib/pki/pki-tomcat/ca/conf/CS.cfg |
サブシステム証明書 | CA 署名証明書 |
OCSP 署名証明書 (CA の内部 OCSP サービス用) | |
TLS サーバー証明書 | |
監査ログ署名証明書 | |
サブシステム証明書[b] | |
セキュリティーデータベース | /var/lib/pki/pki-tomcat/alias/[c] |
ログファイル | /var/lib/pki/pki-tomcat/ca/logs/[d] |
ログのインストール | /var/log/pki/pki-ca-spawn.date.log |
ログのアンインストール | /var/log/pki/pki-ca-destroy.date.log |
監査ログ | /var/log/pki/pki-tomcat/ca/signedAudit/ |
プロファイルファイル | /var/lib/pki/pki-tomcat/ca/profiles/ca/ |
メール通知テンプレート | /var/lib/pki/pki-tomcat/ca/emails/ |
Web サービスファイル | エージェントサービス: /var/lib/pki/pki-tomcat/ca/webapps/ca/agent/ |
管理サービス: /var/lib/pki/pki-tomcat/ca/webapps/ca/admin/ | |
エンドユーザーサービス: /var/lib/pki/pki-tomcat/ca/webapps/ca/ee/ | |
[a]
/etc/pki/pki-tomcat/ca/ のエイリアス
[b]
サブシステム証明書はセキュリティードメインによって常に発行されるため、クライアント認証を必要とするドメインレベルの操作はこのサブシステム証明書をベースにします。
[c]
すべてのサブシステム証明書がインスタンスセキュリティーデータベースに保存されることに注意してください。
[d]
/var/log/pki/pki-tomcat/ca/ へのエイリアス
|
9.1.3. KRA サブシステム情報
設定 | 値 |
---|---|
メインディレクトリー | /var/lib/pki/pki-tomcat/kra/ |
設定ディレクトリー | /var/lib/pki/pki-tomcat/kra/conf/[a] |
設定ファイル | /var/lib/pki/pki-tomcat/kra/conf/CS.cfg |
サブシステム証明書 | トランスポート証明書 |
ストレージ証明書 | |
TLS サーバー証明書 | |
監査ログ署名証明書 | |
サブシステム証明書[b] | |
セキュリティーデータベース | /var/lib/pki/pki-tomcat/alias/[c] |
ログファイル | /var/lib/pki/pki-tomcat/kra/logs/ |
ログのインストール | /var/log/pki/pki-kra-spawn-date.log |
ログのアンインストール | /var/log/pki/pki-kra-destroy-date.log |
監査ログ | /var/log/pki/pki-tomcat/kra/signedAudit/ |
Web サービスファイル | エージェントサービス: /var/lib/pki/pki-tomcat/kra/webapps/kra/agent/ |
管理サービス: /var/lib/pki/pki-tomcat/kra/webapps/kra/admin/ | |
[a]
/etc/pki/pki-tomcat/kra/ にリンク
[b]
サブシステム証明書はセキュリティードメインによって常に発行されるため、クライアント認証を必要とするドメインレベルの操作はこのサブシステム証明書をベースにします。
[c]
すべてのサブシステム証明書がインスタンスセキュリティーデータベースに保存されることに注意してください。
|
9.1.4. OCSP サブシステム情報
設定 | 値 |
---|---|
メインディレクトリー | /var/lib/pki/pki-tomcat/ocsp/ |
設定ディレクトリー | /var/lib/pki/pki-tomcat/ocsp/conf/[a] |
設定ファイル | /var/lib/pki/pki-tomcat/ocsp/conf/CS.cfg |
サブシステム証明書 | トランスポート証明書 |
ストレージ証明書 | |
TLS サーバー証明書 | |
監査ログ署名証明書 | |
サブシステム証明書[b] | |
セキュリティーデータベース | /var/lib/pki/pki-tomcat/alias/[c] |
ログファイル | /var/lib/pki/pki-tomcat/ocsp/logs/ |
ログのインストール | /var/log/pki/pki-ocsp-spawn-date.log |
ログのアンインストール | /var/log/pki/pki-ocsp-destroy-date.log |
監査ログ | /var/log/pki/pki-tomcat/ocsp/signedAudit/ |
Web サービスファイル | エージェントサービス: /var/lib/pki/pki-tomcat/ocsp/webapps/ocsp/agent/ |
管理サービス: /var/lib/pki/pki-tomcat/ocsp/webapps/ocsp/admin/ | |
[a]
/etc/pki/pki-tomcat/ocsp/ へのリンク
[b]
サブシステム証明書はセキュリティードメインによって常に発行されるため、クライアント認証を必要とするドメインレベルの操作はこのサブシステム証明書をベースにします。
[c]
すべてのサブシステム証明書がインスタンスセキュリティーデータベースに保存されることに注意してください。
|
9.1.5. TKS サブシステム情報
設定 | 値 |
---|---|
メインディレクトリー | /var/lib/pki/pki-tomcat/tks/ |
設定ディレクトリー | /var/lib/pki/pki-tomcat/tks/conf/[a] |
設定ファイル | /var/lib/pki/pki-tomcat/tks/conf/CS.cfg |
サブシステム証明書 | トランスポート証明書 |
ストレージ証明書 | |
TLS サーバー証明書 | |
監査ログ署名証明書 | |
サブシステム証明書[b] | |
セキュリティーデータベース | /var/lib/pki/pki-tomcat/alias/[c] |
ログファイル | /var/lib/pki/pki-tomcat/tks/logs/ |
ログのインストール | /var/log/pki/pki-tks-spawn-date.log |
ログのアンインストール | /var/log/pki/pki-tks-destroy-date.log |
監査ログ | /var/log/pki/pki-tomcat/tks/signedAudit/ |
Web サービスファイル | エージェントサービス: /var/lib/pki/pki-tomcat/tks/webapps/tks/agent/ |
管理サービス: /var/lib/pki/pki-tomcat/tks/webapps/tks/admin/ | |
[a]
/etc/pki/pki-tomcat/tks/ にリンク
[b]
サブシステム証明書はセキュリティードメインによって常に発行されるため、クライアント認証を必要とするドメインレベルの操作はこのサブシステム証明書をベースにします。
[c]
すべてのサブシステム証明書がインスタンスセキュリティーデータベースに保存されることに注意してください。
|
9.1.6. TPS サブシステム情報
設定 | 値 |
---|---|
メインディレクトリー | /var/lib/pki/pki-tomcat/tps/ |
設定ディレクトリー | /var/lib/pki/pki-tomcat/tps/conf/[a] |
設定ファイル | /var/lib/pki/pki-tomcat/tps/conf/CS.cfg |
サブシステム証明書 | トランスポート証明書 |
ストレージ証明書 | |
TLS サーバー証明書 | |
監査ログ署名証明書 | |
サブシステム証明書[b] | |
セキュリティーデータベース | /var/lib/pki/pki-tomcat/alias/[c] |
ログファイル | /var/lib/pki/pki-tomcat/tps/logs/ |
ログのインストール | /var/log/pki/pki-tps-spawn-date.log |
ログのアンインストール | /var/log/pki/pki-tps-destroy-date.log |
監査ログ | /var/log/pki/pki-tomcat/tps/signedAudit/ |
Web サービスファイル | エージェントサービス: /var/lib/pki/pki-tomcat/tps/webapps/tps/agent/ |
管理サービス: /var/lib/pki/pki-tomcat/tps/webapps/tps/admin/ | |
[a]
/etc/pki/pki-tomcat/tps/ にリンク
[b]
サブシステム証明書はセキュリティードメインによって常に発行されるため、クライアント認証を必要とするドメインレベルの操作はこのサブシステム証明書をベースにします。
[c]
すべてのサブシステム証明書がインスタンスセキュリティーデータベースに保存されることに注意してください。
|
9.1.7. 共有 Certificate System サブシステムファイルの場所
ディレクトリーの場所 | コンテンツ | |||||
---|---|---|---|---|---|---|
/var/lib/instance_name | ユーザー固有のディレクトリーの場所およびカスタマイズされた設定ファイル、プロファイル、証明書データベース、Web ファイル、およびサブシステムインスタンスの他のファイルの場所であるメインインスタンスディレクトリーが含まれます。 | |||||
/usr/share/java/pki | Certificate System サブシステムによって共有される Java アーカイブファイルが含まれます。すべてのサブシステムの共有ファイルとともに、サブディレクトリーにサブシステム固有のファイルがあります。
| |||||
/usr/share/pki | Certificate System インスタンスの作成に使用する一般的なファイルとテンプレートが含まれます。すべてのサブシステムの共有ファイルとともに、サブディレクトリーにサブシステム固有のファイルがあります。
| |||||
/usr/bin | Certificate System サブシステムが共有する pkispawn および pkidestroy インスタンス設定スクリプトおよびツール(Java、ネイティブ、およびセキュリティー)が含まれます。 | |||||
/var/lib/tomcat5/common/lib | ローカルの Tomcat Web アプリケーションで共有される Java アーカイブファイルへのリンクが含まれ、Certificate System サブシステムによって共有されます。TPS サブシステムが使用していない。 | |||||
/var/lib/tomcat5/server/lib | ローカルの Tomcat Web サーバーによって使用される Java アーカイブファイルへのリンクが含まれ、Certificate System サブシステムによって共有されます。TPS サブシステムが使用していない。 | |||||
/usr/shared/pki | Tomcat サーバーおよび Certificate System インスタンスが使用するアプリケーションが使用する Java アーカイブファイルが含まれます。TPS サブシステムが使用していない。 | |||||
| TPS サブシステムによって使用される Apache モジュールが含まれます。CA、KRA、OCSP、または TKS サブシステムでは使用されません。 | |||||
| TPS サブシステムが使用する Mozilla LDAP SDK ツール。CA、KRA、OCSP、または TKS サブシステムでは使用されません。 |
9.2. CS.cfg ファイル
CS.cfg
ファイルに保存されます。
CS.cfg
(ASCII ファイル)が作成され、サブシステムの初回インストール時に適切な設定パラメーターが入力されます。インスタンスの機能の変更方法は、サブシステムコンソールで変更することが推奨されます。これが推奨される方法です。管理コンソールで行った変更は、設定ファイルに反映されます。
9.2.1. CS.cfg ファイルの検索
CS.cfg
があります。各サブシステムインスタンスのファイルの内容は、サブシステムの設定方法、追加の設定および設定 (新規プロファイルの追加、セルフテストの有効化など)、サブシステムのタイプによって異なります。
CS.cfg
ファイルは、インスタンスの設定ディレクトリーにあります。
/var/lib/pki/instance_name/conf
/var/lib/pki/pki-tomcat/ca/conf
9.2.2. 設定ファイルの編集
CS.cfg
ファイルを変更するには、以下を実行します。
- サブシステムインスタンスを停止します。
systemctl stop pki-tomcatd@instance_name.service
またはsystemctl stop pki-tomcatd-nuxwdog@instance_name.service (if using
nuxwdog watchdog
)設定ファイルは、インスタンスの起動時にキャッシュに保存されます。コンソールを介してインスタンスに加えた変更は、ファイルのキャッシュバージョンに変更されます。サーバーが停止または再起動されると、キャッシュに保存されている設定ファイルがディスクに書き込まれます。設定ファイルを編集する前にサーバーを停止すると、サーバーが停止するとキャッシュバージョンの変更が上書きされます。 /var/lib/pki/instance_name/conf
ディレクトリーを開きます。- テキストエディターで
CS.cfg
ファイルを開きます。 - ファイル内のパラメーターを編集して、変更を保存します。
- サブシステムインスタンスを開始します。
systemctl start pki-tomcatd@instance_name.service
またはsystemctl start pki-tomcatd-nuxwdog@instance_name.service (if using
nuxwdog watchdog
)
9.2.3. CS.cfg 設定ファイルの概要
CS.cfg
があります。パラメーターと特定の設定はサブシステムのタイプによって異なりますが、一般的に CS.cfg
ファイルはサブシステムインスタンスの以下の部分を定義します。
- 名前、ポート割り当て、インスタンスディレクトリー、ホスト名などの基本サブシステムインスタンス情報
- ログ
- インスタンスのユーザーディレクトリー (authorization) に対して認証するプラグインおよびメソッド
- インスタンスが属するセキュリティードメイン
- サブシステム証明書
- サブシステムインスタンスによって使用される他のサブシステム
- サブシステムによって使用されるデータベースタイプおよびインスタンス
- TKS のキープロファイル、CA の証明書プロファイル、KRA のキーリカバリーに必要なエージェントなどの PKI 関連タスクの設定
CS.cfg
ファイルは基本的な parameter=value 形式です。
#comment parameter=value
CS.cfg
ファイルでは、パラメーターブロックの多くに pound (#)文字でコメントアウトされた説明的なコメントがあります。コメント、空白行、不明なパラメーター、またはスペルミスのパラメーターはサーバーによって無視されます。
例9.1 CS.cfg ファイルのログ設定
log.instance.System._000=## log.instance.System._001=## System Logging log.instance.System._002=## log.instance.System.bufferSize=512 log.instance.System.enable=true log.instance.System.expirationTime=0 log.instance.System.fileName=/var/lib/pki/pki-tomcat/ca/logs/system log.instance.System.flushInterval=5 log.instance.System.level=3 log.instance.System.maxFileSize=2000 log.instance.System.pluginName=file log.instance.System.rolloverInterval=2592000 log.instance.System.type=system
例9.2 サブシステム認証設定
authz.impl._000=## authz.impl._001=## authorization manager implementations authz.impl._002=## authz.impl.BasicAclAuthz.class=com.netscape.cms.authorization.BasicAclAuthz authz.instance.BasicAclAuthz.pluginName=BasicAclAuthz
- ローカライズする必要のある値は、UTF8 文字である必要があります。
CS.cfg
ファイルは、パラメーター値のスラッシュ(/)をサポートします。値にバックスラッシュ (\) が必要な場合は、スラッシュでエスケープする必要があります。つまり、2 つのバックスラッシュを続けて使用する必要があります。
CS.cfg
ファイル設定およびパラメーターのスナップショットです。これらは完全な参照または CS.cfg
ファイルパラメーターの例ではありません。また、各サブシステム設定ファイルで利用可能なパラメーターと使用されるパラメーターは異なりますが、類似しています。
9.2.3.1. CA の基本インスタンスパラメーター: pkispawn ファイル ca.cfg
例9.3 CA の基本的なインスタンスパラメーター
[DEFAULT] pki_admin_password=Secret.123 pki_client_pkcs12_password=Secret.123 pki_ds_password=Secret.123 # Optionally keep client databases pki_client_database_purge=False # Separated CA instance name and ports pki_instance_name=pki-ca pki_http_port=18080 pki_https_port=18443 # This Separated CA instance will be its own security domain pki_security_domain_https_port=18443 [Tomcat] # Separated CA Tomcat ports pki_ajp_port=18009 pki_tomcat_server_port=18005
CS.cfg
ファイルに 含ま れますが、CS.cfg
には 設定 されません。サーバー設定は server.xml
ファイルに設定されます。
CS.cfg
および server.xml
のポートは、稼働中の RHCS インスタンスと一致している 必要があり ます。
9.2.3.2. ログ設定
CS.cfg
ファイルに独自の設定エントリーがあります。
log.instance.Transactions._000=## log.instance.Transactions._001=## Transaction Logging log.instance.Transactions._002=## log.instance.Transactions.bufferSize=512 log.instance.Transactions.enable=true log.instance.Transactions.expirationTime=0 log.instance.Transactions.fileName=/var/log/pki-ca/logs/transactions log.instance.Transactions.flushInterval=5 log.instance.Transactions.level=1 log.instance.Transactions.maxFileSize=2000 log.instance.Transactions.pluginName=file log.instance.Transactions.rolloverInterval=2592000 log.instance.Transactions.type=transaction
9.2.3.3. 認証および認可の設定
CS.cfg
ファイルは、ユーザーがサブシステムインスタンス(認証)にアクセスする方法および認証された各ユーザーに対して承認(承認)されるアクションを設定します。
SharedSecret
という名前の JAVA プラグインをインスタンス化する SharedToken
という名前の認証インスタンスを示しています。
auths.impl.SharedToken.class=com.netscape.cms.authentication.SharedSecret auths.instance.SharedToken.pluginName=SharedToken auths.instance.SharedToken.dnpattern= auths.instance.SharedToken.ldap.basedn=ou=People,dc=example,dc=org auths.instance.SharedToken.ldap.ldapauth.authtype=BasicAuth auths.instance.SharedToken.ldap.ldapauth.bindDN=cn=Directory Manager auths.instance.SharedToken.ldap.ldapauth.bindPWPrompt=Rule SharedToken auths.instance.SharedToken.ldap.ldapauth.clientCertNickname= auths.instance.SharedToken.ldap.ldapconn.host=server.example.com auths.instance.SharedToken.ldap.ldapconn.port=636 auths.instance.SharedToken.ldap.ldapconn.secureConn=true auths.instance.SharedToken.ldap.ldapconn.version=3 auths.instance.SharedToken.ldap.maxConns= auths.instance.SharedToken.ldap.minConns= auths.instance.SharedToken.ldapByteAttributes= auths.instance.SharedToken.ldapStringAttributes= auths.instance.SharedToken.shrTokAttr=shrTok
authz.impl.DirAclAuthz.class=com.netscape.cms.authorization.DirAclAuthz authz.instance.DirAclAuthz.ldap=internaldb authz.instance.DirAclAuthz.pluginName=DirAclAuthz authz.instance.DirAclAuthz.ldap._000=## authz.instance.DirAclAuthz.ldap._001=## Internal Database authz.instance.DirAclAuthz.ldap._002=## authz.instance.DirAclAuthz.ldap.basedn=dc=server.example.com-pki-ca authz.instance.DirAclAuthz.ldap.database=server.example.com-pki-ca authz.instance.DirAclAuthz.ldap.maxConns=15 authz.instance.DirAclAuthz.ldap.minConns=3 authz.instance.DirAclAuthz.ldap.ldapauth.authtype=SslClientAuth authz.instance.DirAclAuthz.ldap.ldapauth.bindDN=cn=Directory Manager authz.instance.DirAclAuthz.ldap.ldapauth.bindPWPrompt=Internal LDAP Database authz.instance.DirAclAuthz.ldap.ldapauth.clientCertNickname= authz.instance.DirAclAuthz.ldap.ldapconn.host=localhost authz.instance.DirAclAuthz.ldap.ldapconn.port=11636 authz.instance.DirAclAuthz.ldap.ldapconn.secureConn=true authz.instance.DirAclAuthz.ldap.multipleSuffix.enable=false
auths.impl.AgentCertAuth.class=com.netscape.cms.authentication.AgentCertAuthentication auths.instance.AgentCertAuth.agentGroup=Certificate Manager Agents auths.instance.AgentCertAuth.pluginName=AgentCertAuth
9.2.3.4. サブシステム証明書の設定
ca.sslserver.cert=MIIDmDCCAoCgAwIBAgIBAzANBgkqhkiG9w0BAQUFADBAMR4wHAYDVQQKExVSZWR... ca.sslserver.certreq=MIICizCCAXMCAQAwRjEeMBwGA1UEChMVUmVkYnVkY29tcHV0ZXIgRG9tYWluMSQwIgYDV... ca.sslserver.nickname=Server-Cert cert-pki-ca ca.sslserver.tokenname=Internal Key Storage Token
9.2.3.5. 必要なサブシステムの設定
conn.ca1.clientNickname=subsystemCert cert-pki-tps conn.ca1.hostadminport=server.example.com:9445 conn.ca1.hostagentport=server.example.com:9444 conn.ca1.hostport=server.example.com:9443 conn.ca1.keepAlive=true conn.ca1.retryConnect=3 conn.ca1.servlet.enrollment=/ca/ee/ca/profileSubmitSSLClient conn.ca1.servlet.renewal=/ca/ee/ca/profileSubmitSSLClient conn.ca1.servlet.revoke=/ca/subsystem/ca/doRevoke conn.ca1.servlet.unrevoke=/ca/subsystem/ca/doUnrevoke conn.ca1.timeout=100
9.2.3.6. データベース設定
internaldb._000=## internaldb._000=## internaldb._001=## Internal Database internaldb._002=## internaldb.basedn=o=pki-tomcat-ca-SD internaldb.database=pki-tomcat-ca internaldb.maxConns=15 internaldb.minConns=3 internaldb.ldapauth.authtype=SslClientAuth internaldb.ldapauth.clientCertNickname=HSM-A:subsystemCert pki-tomcat-ca internaldb.ldapconn.host=example.com internaldb.ldapconn.port=11636 internaldb.ldapconn.secureConn=true internaldb.multipleSuffix.enable=false
9.2.3.7. キューの有効化および設定
CS.cfg
ファイルを編集してパブリッシュキューを有効にすると、管理者はパブリッシュ操作に使用するスレッドの数やキューページサイズなど、パブリッシュする他のオプションを設定できます。
- 設定ファイルを編集できるように CA サーバーを停止します。
# systemctl stop pki-tomcatd-nuxwdog@instance_name.service
- CA の
CS.cfg
ファイルを開きます。vim /var/lib/pki/instance_name/ca/conf/CS.cfg
ca.publish.queue.enable
を true に設定します。パラメーターが存在しない場合は、パラメーターで行を追加します。ca.publish.queue.enable=true
- その他の関連するパブリッシュキューパラメーターを設定します。
ca.publish.queue.maxNumberOfThreads
パブリッシュ操作に対して開くことができるスレッドの最大数を設定します。デフォルトは 3 です。ca.publish.queue.priorityLevel
は、パブリッシュ操作の優先度を設定します。優先度の値の範囲は、-2 (最も低い優先度)から 2 (最も高い優先度)までです。ゼロ (0) は通常の優先度で、デフォルトはデフォルトです。ca.publish.queue.pageSize
は、パブリッシュキューページに格納できるリクエストの最大数を設定します。デフォルトは 40 です。ca.publish.queue.saveStatus
は、指定された公開操作の数ごとにステータスを保存する間隔を設定します。これにより、CA が再起動またはクラッシュした場合にパブリッシュキューを復元できます。デフォルトは 200 ですが、CA の再起動時にゼロ以外の番号がキューを復旧します。このパラメーターを 0 に設定すると、キューの復元が無効になります。
ca.publish.queue.maxNumberOfThreads=1 ca.publish.queue.priorityLevel=0 ca.publish.queue.pageSize=100 ca.publish.queue.saveStatus=200
ヒントca.publish.queue.enable
を false に設定し、ca.publish.queue.maxNumberOfThreads
を 0 に設定すると、公開キューと、発行した証明書の公開に別のスレッドが使用されます。 - CA サーバーを起動します。
systemctl start pki-tomcatd-nuxwdog@instance_name.service
9.2.3.8. PKI タスクの設定
CS.cfg
ファイルは、すべてのサブシステムに PKI タスクを設定するために使用されます。パラメーターは、重複のないサブシステムごとに異なります。
kra.noOfRequiredRecoveryAgents=1
CS.cfg
ファイルを確認して、PKI タスク設定について理解してください。ファイル内のコメントは、さまざまなパラメーターが何であるかを学習するための適切なガイドです。
- CA 設定ファイルには、すべての証明書プロファイルおよびポリシー設定と、CRL を生成するルールが一覧表示されます。
- TPS は、さまざまなトークン操作を設定します。
- TKS は、さまざまな鍵タイプからの鍵を取得するプロファイルを一覧表示します。
- OCSP は、さまざまな鍵セットの鍵情報を設定します。
9.2.3.9. CA 発行証明書の DN 属性の変更
属性 | 値のタイプ | オブジェクト識別子 |
---|---|---|
cn | DirectoryString | 2.5.4.3 |
ou | DirectoryString | 2.5.4.11 |
o | DirectoryString | 2.5.4.10 |
c | PrintableString、2 文字 | 2.5.4.6 |
l | DirectoryString | 2.5.4.7 |
st | DirectoryString | 2.5.4.8 |
street | DirectoryString | 2.5.4.9 |
title | DirectoryString | 2.5.4.12 |
uid | DirectoryString | 0.9.2342.19200300.100.1.1 |
IA5String | 1.2.840.113549.1.9.1 | |
dc | IA5String | 0.9.2342.19200300.100.1.2.25 |
serialnumber | PrintableString | 2.5.4.5 |
unstructuredname | IA5String | 1.2.840.113549.1.9.2 |
unstructuredaddress | PrintableString | 1.2.840.113549.1.9.8 |
X500Name.NEW_ATTRNAME.oid=n.n.n.n X500Name.NEW_ATTRNAME.class=string_to_DER_value_converter_class
- Netscape.security.x509.PrintableConverter は、文字列を PrintableString 値に変換します。この文字列は、印刷可能な文字のみでなければなりません。
- Netscape.security.x509.IA5StringConverter は文字列を IA5String 値に変換します。この文字列は IA5String 文字のみである必要があります。
- Netscape.security.x509.DirStrConverter は文字列を DirectoryString に変換します。この文字列は、RFC 2253 に従って DirectoryString 形式であることが予想されます。
- Netscape.security.x509.GenericValueConverter は、最小の文字セットから最大の文字セットへ、以下の順序で文字列文字を文字ごとに変換します。
- 印刷可能
- IA5String
- BMPString
- 汎用文字列
X500Name.MY_ATTR.oid=1.2.3.4.5.6 X500Name.MY_ATTR.class=netscape.security.x509.DirStrConverter
9.2.3.9.1. 新規属性またはカスタム属性の追加
- Certificate Manager を停止します。
systemctl stop pki-tomcatd-nuxwdog@instance_name.service
/var/lib/pki/cs_instance/conf/
ディレクトリーを開きます。- 設定ファイル
CS.cfg
を開きます。 - 設定ファイルに新しい属性を追加します。たとえば、DirectoryString である MYATTR1、IA5String であるMYATTR2、および PrintableString である MYATTR3 の 3 つのプロプライエタリー属性を追加するには、設定ファイルの最後に以下の行を追加します。
X500Name.attr.MYATTR1.oid=1.2.3.4.5.6 X500Name.attr.MYATTR1.class=netscape.security.x509.DirStrConverter X500Name.attr.MYATTR2.oid=11.22.33.44.55.66 X500Name.attr.MYATTR2.class=netscape.security.x509.IA5StringConverter X500Name.attr.MYATTR3.oid=111.222.333.444.555.666 X500Name.attr.MYATTR3.class=netscape.security.x509.PrintableConverter
- 変更を保存して、ファイルを閉じます。
- Certificate Manager を再起動します。
systemctl start pki-tomcatd-nuxwdog@instance_name.service
- 登録ページを再読み込みして変更を確認します。フォームに新しい属性が表示されるはずです。
- 新しい属性が有効になっていることを確認するには、手動登録フォームを使用して証明書を要求します。新しい属性に値を入力します。これにより、証明書のサブジェクト名に表示されることを確認できます。たとえば、以下の値を入力して、新しい属性の値を入力し、サブジェクト名で確認します。
MYATTR1: a_value MYATTR2: a.Value MYATTR3: aValue cn: John Doe o: Example Corporation
- エージェントサービスページを開き、要求を承認します。
- 証明書の発行時に、発行先名を確認します。証明書には、サブジェクト名に新しい属性値が表示されるはずです。
9.2.3.9.2. DER エンコード順序の変更
X500Name.directoryStringEncodingOrder=encoding_list_separated_by_commas
- 印刷可能
- IA5String
- UniversalString
- BMPString
- UTF8String
X500Name.directoryStringEncodingOrder=Printable,BMPString
- Certificate Manager を停止します。
systemctl stop pki-tomcatd-nuxwdog@instance_name.service
/var/lib/pki/cs_instance/conf/
ディレクトリーを開きます。CS.cfg
設定ファイルを開きます。- 設定ファイルにエンコーディング順序を追加します。たとえば、PrintableString と UniversalString の 2 つのエンコーディング値を指定し、エンコーディング順序が最初に PrintableString、次に UniversalString を指定するには、設定ファイルの最後に以下の行を追加します。
X500Name.directoryStringEncodingOrder=PrintableString, UniversalString
- 変更を保存して、ファイルを閉じます。
- Certificate Manager を開始します。
systemctl start pki-tomcatd-nuxwdog@instance_name.service
- エンコーディングの順序が有効であることを確認するには、手動登録フォームを使用して証明書を登録します。cn には John_Doe を使用します。
- エージェントサービスページを開き、要求を承認します。
- 証明書が発行されたら、dumpasn1 ツールを使用して証明書のエンコーディングを検証します。サブジェクト名の cn コンポーネントは UniversalString としてエンコードする必要があります。
- cn に John Smith を使用して新しいリクエストを作成して提出します。サブジェクト名の cn コンポーネントは、PrintableString としてエンコードする必要があります。
9.2.3.10. 異なる証明書を使用するように CA を設定して CRL を署名
- CMC を使用して、Certificate Manager の CRL 署名証明書を要求してインストールします。システム証明書の要求の詳細については、5.3.2.1 を参照してください。システム証明書とサーバー証明書の取得 (Red Hat Certificate System の管理ガイド)。証明書の取得に使用されるプロファイルは keyUsageExtDefaultImpl クラス ID を使用し、対応する
keyUsageCrlSign
パラメーターを true に設定する必要があります。policyset.userCertSet.6.default.class_id=keyUsageExtDefaultImpl policyset.userCertSet.6.default.params.keyUsageCrlSign=true
- CRL 署名証明書が生成されたら、コンソールの システムキーおよび証明書 を使用して、Certificate Manager のデータベースに証明書をインストールします。
- Certificate Manager を停止します。
# systemctl stop pki-tomcatd-nuxwdog@instance_name.service
- Certificate Manager の設定を更新して、新しいキーペアと証明書を認識します。
- Certificate Manager インスタンス設定ディレクトリーに移動します。
]# cd
/var/lib/pki/instance_name/ca/conf/
CS.cfg
ファイルを開き、以下の行を追加します。ca.crl_signing.cacertnickname=nickname cert-instance_ID ca.crl_signing.defaultSigningAlgorithm=signing_algorithm ca.crl_signing.tokenname=token_name
ニックネーム は、CRL 署名証明書に割り当てられた名前です。instance_ID は、Certificate Manager インスタンスの名前です。インストールされている CA が RSA ベースの CA の場合、signing_algorithm は SHA256withRSA、SHA384withRSA、または SHA512withRSA になります。インストールされた CA が EC ベースの CA の場合、signing_algorithm は SHA256withEC、SHA384withEC、SHA512withEC になります。token_name は、キーペアの生成に使用されるトークンの名前と証明書です。内部/ソフトウェアトークンが使用される場合は、内部 キーストレージトークン を値とし て使用します。たとえば、エントリーは以下のようになります。ca.crl_signing.cacertnickname=crlSigningCert cert-pki-ca ca.crl_signing.defaultSigningAlgorithm=SHAMD512withRSA ca.crl_signing.tokenname=Internal Key Storage Token
- 変更を保存して、ファイルを閉じます。
- Certificate Manager を再起動します。
# systemctl restart pki-tomcatd-nuxwdog@instance_name.service
これで、Certificate Manager は CRL 署名証明書を使用して、生成した CRL に署名できるようになりました。
9.2.3.11. CS.cfg のキャッシュからの CRL 生成の設定
- 認証局サーバーを停止します。
systemctl stop pki-tomcatd-nuxwdog@instance_name.service
- CA 設定ディレクトリーを開きます。
# cd /var/lib/instance_name/conf/
CS.cfg
ファイルを編集し、enableCRLCache
およびenableCacheRecovery
パラメーターを true に設定します。ca.crl.MasterCRL.enableCRLCache=true ca.crl.MasterCRL.enableCacheRecovery=true
- CA サーバーを起動します。
systemctl start pki-tomcatd-nuxwdog@instance_name.service
9.2.3.12. CS.cfg での CRL の更新間隔の設定
ca.crl.MasterCRL.updateSchema=3 ca.crl.MasterCRL.enableDailyUpdates=true ca.crl.MasterCRL.enableUpdateInterval=true ca.crl.MasterCRL.autoUpdateInterval=240 ca.crl.MasterCRL.dailyUpdates=1:00 ca.crl.MasterCRL.nextUpdateGracePeriod=0
CS.cfg
ファイルで完全な CRL およびデルタ CRL の設定を行うには、パラメーターを編集する必要があります。
パラメーター | 説明 | 許可される値 |
---|---|---|
updateSchema | 完全な CRL ごとに生成されるデルタ CRL 数の比率を設定します。 | 整数値 |
enableDailyUpdates | 設定された時間に基づいて CRL 更新の設定を有効または無効にします。 | true または false |
enableUpdateInterval | 設定された間隔に基づいて CRL 更新の設定を有効または無効にします。 | true または false |
dailyUpdates | CRL の更新時間を設定します。 | コンマ区切りの時間リスト |
autoUpdateInterval | CRL を更新する間隔を分単位で設定します。 | 整数値 |
nextUpdateGracePeriod | CRL の有効期間に分単位を追加し、公開またはレプリケーション期間全体で CRL が有効である状態にする期間を追加します。 | 整数値 |
refreshInSec | クローン OCSP のスレッドの周期を秒単位で設定して、LDAP で CRL の更新を確認します。 | 整数値 |
手順9.1 CS.cfg での CRL 更新間隔の設定方法
- 認証局サーバーを停止します。
# systemctl stop pki-tomcatd-nuxwdog@instance_name.service
- CA 設定ディレクトリーに移動します。
# cd /var/lib/instance_name/conf/
CS.cfg
ファイルを編集し、以下の行を追加して更新間隔を設定します。ca.crl.MasterCRL.updateSchema=3
デフォルトの間隔は 1 です。これは、CRL が生成されるたびに完全な CRL が生成されることを意味します。updateSchema
の間隔は、任意の整数に設定できます。- 周期的な間隔を指定するか、更新を実行する時間を設定して、更新頻度を設定します。
enableDailyUpdates
パラメーターを有効にして設定する時間を指定し、dailyUpdates
パラメーターに希望する時間を追加します。ca.crl.MasterCRL.enableDailyUpdates=true ca.crl.MasterCRL.enableUpdateInterval=false ca.crl.MasterCRL.dailyUpdates=0:50,04:55,06:55
このフィールドは、CRL を更新する必要がある毎日の時間を設定します。複数回指定するには、01:50,04:55,06:55 などのコンマ区切りリストを入力します。複数日のスケジュールを入力するには、コンマ区切りのリストを入力して同じ日の時間を設定し、セミコロンで区切ったリストを入力して異なる日の時間を識別します。たとえば、01:50,04:55,06:55;02:00,05:00,17:00 を設定して、サイクルの 1 日目の 1:50am、4:55am、および 6:55am に失効を設定し、2am、5am、および 5pm に失効を設定します。enableUpdateInterval
パラメーターを有効にして間隔を指定し、autoUpdateInterval
パラメーターに必要な間隔を分単位で追加します。ca.crl.MasterCRL.enableDailyUpdates=false ca.crl.MasterCRL.enableUpdateInterval=true ca.crl.MasterCRL.autoUpdateInterval=240
- 環境に応じて以下のパラメーターを設定します。
- OCSP サブシステムなしで CA を実行する場合は、以下を設定します。
ca.crl.MasterCRL.nextUpdateGracePeriod=0
- OCSP サブシステムで CA を実行する場合は、以下を設定します。
ca.crl.MasterCRL.nextUpdateGracePeriod=time_in_minutes
ca.crl.MasterCRL.nextUpdateGracePeriod
パラメーターは時間 (分単位) を定義します。この値は、CA が新しい CRL を OCSP に伝播するのに十分な大きさである必要があります。パラメーターをゼロ以外の値に設定する必要があります。お使いの環境に OCSP クローンが追加されている場合は、以下も設定します。ocsp.store.defStore.refreshInSec=time_in_seconds
ocsp.store.defStore.refreshInSec
パラメーターは、マスター OCSP インスタンスからの LDAP レプリケーション更新を使用して、クローン OCSP インスタンスが CRL 更新に通知する頻度を秒単位で設定します。
パラメーターの詳細は、表9.9「CRL 拡張間隔パラメーター」を参照してください。 - CA サーバーを起動します。
systemctl start pki-tomcatd-nuxwdog@instance_name.service
enableDailyUpdates
パラメーターと enableUpdateInterval
パラメーターを true に設定し、必要な値を autoUpdateInterval
および dailyUpdates
に追加します。
ca.crl.MasterCRL.enableDailyUpdates=true ca.crl.MasterCRL.enableUpdateInterval=true ca.crl.MasterCRL.autoUpdateInterval=240 ca.crl.MasterCRL.dailyUpdates=1:00
dailyUpdates
値を 1 つだけ受け入れます。
dailyUpdates
の値と再同期され、スケジュールのドリフトを防ぐことができます。
9.2.3.13. サブシステムのアクセス制御設定の変更
CS.cfg
の authz.evaluateOrder
パラメーターを変更します。
authz.evaluateOrder=deny,allow
web.xml
ファイル(基本 ACL)から評価することも、LDAP データベースを確認してより複雑な ACL にアクセスすることもできます。authz.sourceType
パラメーターは、使用する承認のタイプを特定します。
authz.sourceType=web.xml
CS.cfg
ファイルを編集して更新された設定を読み込んだら、サブシステムを常に再起動します。
9.2.3.14. TLS クライアント証明書認証を使用するための pkiconsole
の要件設定
CS.cfg
ファイルを編集し、authType
パラメーターを検索し、以下のように設定します。
authType=sslclientauth
9.3. システムパスワードの管理
password.conf
ファイルは、システムパスワードをプレーンテキストで保存します。ただし、一部の管理者は、パスワードファイルを完全に削除して、nuxwdog
が各パスワードの手動エントリーを要求し、予定外のシャットダウンの場合は自動再起動を保存することを希望する場合があります。
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 サブシステムが正常に起動できるようになります。
- internal (NSS データベースの場合)
- internaldb (内部 LDAP データベースの場合)
- replicationdb (レプリケーションパスワード)
- パブリッシュ用に外部 LDAP データベースにアクセスするためのパスワード (CA のみ)注記パブリッシャーが
password.conf
ファイルの削除後に設定されている場合は、password.conf
ファイルに書き込まれません。nuxwdog
が設定されていない場合、サーバーは、次回インスタンスを再起動したときに新しい公開パスワードを要求するプロンプトにアクセスできません。 - 外部のハードウェアトークンのパスワード
- internal (NSS データベースの場合)
- tokendbpass (内部 LDAP データベースの場合)
- 外部のハードウェアトークンのパスワード
password.conf
ファイル(デフォルト)- nuxwdog (watchdog)
9.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
password.conf
ファイルのパスワードエントリーの形式は以下のとおりです。
name=password
internal=413691159497
hardware-name=password
hardware-NHSM6000=MyHSM$S8cret
password.conf
ファイルの内容の例:
internal=376577078151 internaldb=secret12 replicationdb=1535106826 hardware-NHSM6000=MyHSM$S8cret
9.3.2. Certificate System の Watchdog サービスの使用
- サーバーの起動時に関連するパスワードを要求し、そのメッセージをキャッシュします。
- クラッシュが原因でサーバーが自動的に再起動される場合に、キャッシュされたパスワードを使用します。
9.3.2.1. Watchdog サービスの有効化
- このホストで共有秘密機能も使用する場合は、『Certificate System 管理ガイド (Common Criteria Edition)』 の 『CMC 共有秘密機能の有効化』 セクションの説明に従って、共有秘密機能を有効にします。
/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/
- Certificate System インスタンスのサービスを停止し、無効にします。
# systemctl stop pki-tomcatd@instance_name.service # systemctl disable pki-tomcatd@instance_name.service
- Hardware Security Module (HSM) を使用する場合は、ウォッチドッグサービスを有効にして、ハードウェアトークンのパスワードを入力するようにします。
- ハードウェアトークンの名前を表示します。
# egrep "^hardware-" /var/lib/pki/instance_name/conf/password.conf hardware-HSM_token_name=password
上記の例で強調表示された文字列は、ハードウェアトークン名です。 cms.tokenList
パラメーターを/var/lib/pki/instance_name/conf/ca/CS.cfg
ファイルに追加し、ハードウェアトークンの名前に設定します。以下に例を示します。cms.tokenList=HMS_token_name
- インスタンスのウォッチドッグ設定を有効にします。
# pki-server instance-nuxwdog-enable instance_name
または、すべてのインスタンスでウォッチドッグを有効にします。# pki-server nuxwdog-enable
詳細は、pki-server-nuxwdog(8) の man ページを参照してください。 - デフォルトでは、
nuxwdog
は/etc/sysconfig/pki-tomcat
ファイルのTOMCAT_USER
変数で設定したユーザーとしてサーバーを起動します。必要に応じて、ユーザーおよびグループを変更する場合は、次のコマンドを実行します。- インスタンスの watchdog
systemd
ユニットファイルを/etc/systemd/system/
ディレクトリーにコピーします。# cp -p /usr/lib/systemd/system/instance_name-nuxwdog@.service /etc/systemd/system/
注記/etc/systemd/system/
ディレクトリー内のユニットファイルの優先度は高く、更新中は置き換えられません。 /etc/pki/instance_name/nuxwdog.conf
ファイルの[Service]
セクションに、以下のエントリーを追加します。User new_user_name
systemd
設定を再読み込みします。# systemctl daemon-reload
- ウォッチドッグを使用する Certificate System サービスを有効にします。
# systemctl enable pki-tomcatd-nuxwdog@instance_name.service
- 必要に応じて、「Certificate System の Watchdog が有効になっていることの確認」を参照してください。
- Certificate System インスタンスを起動するには、以下のコマンドを実行してプロンプトを入力します。
# systemctl start pki-tomcatd-nuxwdog@instance_name.service
9.3.2.2. Watchdog が有効になっている Certificate System の起動および停止
9.3.2.3. Certificate System の Watchdog が有効になっていることの確認
- pki-tomcatd-nuxwdog サービスが有効になっていることを確認します。
# systemctl is-enabled pki-tomcatd-nuxwdog@instance_name.service enabled
- pki-tomcatd サービスが無効になっていることを確認します。
# systemctl is-disabled pki-tomcatd@instance_name.service disabled
/etc/pki/instance_name/server.xml
ファイルで以下を行います。passwordFile
パラメーターがCS.cfg
ファイルを参照することを確認します。以下に例を示します。passwordFile="/var/lib/pki/instance_name/ca/CS.cfg"
passwordClass
パラメーターがcom.netscape.cms.tomcat.NuxwdogPasswordStore
に設定されていることを確認します。passwordClass="com.netscape.cms.tomcat.NuxwdogPasswordStore"
9.3.2.4. Watchdog サービスの無効化
- ウォッチドッグを使用する Certificate System インスタンスのサービスを停止して無効にします。
# systemctl stop pki-tomcatd-nuxwdog@instance_name.service # systemctl disable pki-tomcatd-nuxwdog@instance_name.service
- インスタンスのウォッチドッグなしで通常のサービスを有効にします。
# pki-server instance-nuxwdog-disable instance_name
- インスタンスのウォッチドッグ設定を無効にします。
# systemctl enable pki-tomcatd@instance_name.service
詳細は、pki-server-nuxwdog(8) の man ページを参照してください。 password.conf
ファイルを元の場所に復元します。以下に例を示します。# cp /root/password.conf.bak /var/lib/pki/instance_name/conf/password.conf
- Certificate System インスタンスを起動します。
# systemctl start pki-tomcatd@instance_name.service
9.4. Tomcat Engine および Web サービスの設定ファイル
/var/lib/pki/instance_name/conf/server.xml
は、Tomcat エンジンの設定を提供します。/usr/share/pki/subsystem_type/webapps/WEB-INF/web.xml
は、このインスタンスが提供する Web サービスの設定を提供します。
9.4.1. Tomcatjss
pki-tomcat/conf
ディレクトリーにある server.xml
ファイルの以下の設定は、Tomcat js が Certificate System エコシステム全体にどのように適合するかを説明するために使用できます。シークレットポートの Connector エントリーの一部を以下に示します。
<Connector name="Secure" # Info about the socket itself port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" sslProtocol="SSL" scheme="https" secure="true" connectionTimeout="80000" maxHttpHeaderSize="8192" acceptCount="100" maxThreads="150" minSpareThreads="25" enableLookups="false" disableUploadTimeout="true" # Points to our tomcat jss implementation sslImplementationName="org.apache.tomcat.util.net.jss.JSSImplementation" # OCSP responder configuration can be enabled here enableOCSP="true" ocspCacheSize="1000" ocspMinCacheEntryDuration="60" ocspMaxCacheEntryDuration="120" ocspTimeout="10" # A collection of cipher related settings that make sure connections are secure. strictCiphers="true" # The "clientAuth" parameter configures the client authentication scheme # for this server socket. If you set "clientAuth" to "want", the client # authentication certificate is optional. Alternatively, set the # parameter to "required" to configure that the certificate is is mandatory. clientAuth="want" sslVersionRangeStream="tls1_1:tls1_2" sslVersionRangeDatagram="tls1_1:tls1_2" sslRangeCiphers="+TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,+TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,+TLS_DHE_RSA_WITH_AES_128_CBC_SHA,+TLS_DHE_RSA_WITH_AES_256_CBC_SHA,+TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,+TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,+TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,+TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,+TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,+TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,+TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,+TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 serverCertNickFile="/var/lib/pki/pki-tomcat/conf/serverCertNick.conf" passwordFile="/var/lib/pki/pki-tomcat/conf/password.conf" passwordClass="org.apache.tomcat.util.net.jss.PlainPasswordFile" certdbDir="/var/lib/pki/pki-tomcat/alias" />
server.xml
設定ファイルに、この Connector 設定要素には、この Connector オブジェクトの sslImplementation
プロパティーにプラグインできる tomcatjss 実装へのポインターが含まれるこの Connector 設定要素があります。
9.4.1.1. TLS 暗号の設定
server.xml
ファイルで設定された TLS 暗号は、Red Hat Certificate システムがクライアントおよびサーバーとして機能する際にシステム全体のデフォルトを提供します。これには、サーバーとして機能する場合 (たとえば、Tomcat から HTTPS 接続を提供する場合) およびクライアントとして機能する場合 (たとえば、LDAP サーバーと通信する場合または別の Certificate System インスタンスと通信する場合) が含まれます。
/var/lib/pki/instance_name/conf/server.xml
ファイルにあります。以下のパラメーターは、提供される暗号を制御します。
strictCiphers
を true に設定すると、sslRangeCiphers
に + 記号が付いた暗号のみが有効になります。strictCiphers="true"
デフォルト値を変更しないでください(true)。sslVersionRangeStream
およびsslVersionRangeDatagram
は、サーバーがサポートする TLS バージョンを設定します。パラメーターのデフォルト値は以下のとおりです。sslVersionRangeStream="tls1_1:tls1_2" sslVersionRangeDatagram="tls1_1:tls1_2"
パラメーターのデフォルト値は変更しないでください。sslRangeCiphers
は、有効または無効にする暗号を設定します。+ 記号のある暗号は有効になり、- 記号を持つ暗号は有効になります。RSA 暗号を以下のように設定します。sslRangeCiphers="+TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,+TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,+TLS_DHE_RSA_WITH_AES_128_CBC_SHA,+TLS_DHE_RSA_WITH_AES_256_CBC_SHA,+TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,+TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,+TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,+TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,+TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,+TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,+TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,+TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
EC 暗号を以下のように設定します。sslRangeCiphers="+TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,+TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,+TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,+TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,+TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,+TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,+TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
許可される暗号の一覧は、「許可された TLS 暗号スイート」を参照してください。- RSA で FIPS モードが有効になっているシステムに LunaSA または nCipher の Hardware Security Module (HSM) のいずれかを使用した Certificate System をインストールする場合は、FIPS モードの HSM ではサポートされていないため、以下の暗号を無効にします。
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
9.4.1.2. サブシステムの証明書失効チェックの有効化
server.xml
ファイルを編集して、すべてのサブシステムに対して OCSP チェックを有効にできます。
- 許可されている方法: 証明書システムサブシステムが、ピア証明書の機関情報アクセス (AIA) 拡張で指定された OCSP レスポンダー URL を使用できるようにする: この方法により、ピア証明書が複数の CA によって発行される、より動的な環境が可能になります。たとえば、LDAP サーバーの証明書が他の証明書とは異なる CA によって発行されている場合です。詳細は、「Certificate System サブシステムが、ピア証明書の機関情報アクセス (AIA) 拡張で指定された OCSP レスポンダー URL を使用できるようにする」 を参照してください。
server.xml
ファイルのさまざまな OCSP パラメーターが使用される、許可される OCSP チェック方法の設定について説明します。
server.xml
ファイルの OCSP に関連する各パラメーターに関する情報を提供します。
パラメーター | 説明 |
---|---|
enableOCSP | サブシステムの OCSP チェックを有効 (または無効) にします。 |
ocspResponderURL | 該当なし |
ocspResponderCertNickname | 該当なし |
ocspCacheSize |
ネットワークセキュリティーサービス (NSS) によって保持される OCSP 応答キャッシュエントリーの最大数を設定します。
2 つの特別な値があります。
|
ocspMinCacheEntryDuration | 別のフェッチを試行するまでの最小秒数を設定します。たとえば、これが 120 に設定された場合は、最後の有効期間をチェックから 2 分以上経たないと証明書の有効性を再度確認することができません。 |
ocspMaxCacheEntryDuration | 次のフェッチを試みる前に待機する最大秒数を設定します。これにより、有効期間チェック間でウィンドウが大きくなり過ぎないようにできます。 |
ocspTimeout | OCSP 要求のタイムアウト期間を秒単位で設定します。 |
ocspMinCacheEntryDuration
および ocspMaxCacheEntryDuration
で次のフェッチ時間に影響を与える可能性があります。
ocspMinCacheEntryDuration
に設定された値の前に nextUpdate の値に達すると、ocspMinCacheEntryDuration
に設定された値に達するまでフェッチは開始されません。ocspMinCacheEntryDuration
に達すると、サーバーは nextUpdate の値に達したかどうかを確認します。値に達すると、フェッチが発生します。- nextUpdate の値に関係なく、
ocspMaxCacheEntryDuration
の設定に達すると、フェッチが発生します。
9.4.1.2.1. OCSP 署名証明書の信頼の設定
9.4.1.2.2. Certificate System サブシステムが、ピア証明書の機関情報アクセス (AIA) 拡張で指定された OCSP レスポンダー URL を使用できるようにする
server.xml
ファイルを編集し、
enableOCSP
を true に設定します。ocspResponderURL
パラメーターを削除します。ocspResponderCertNickname
パラメーターを削除します。
例9.4 server.xml
<Connector name="Secure" enableOCSP="true" ocspCacheSize="1000" ocspMinCacheEntryDuration="60" ocspMaxCacheEntryDuration="120" ocspTimeout="10" ... />
9.4.1.2.3. AIA 拡張機能の登録プロファイルへの追加
policyset.cmcUserCertSet.5.default.params.authInfoAccessADLocation_0=http://example.com:8080/ocsp/ee/ocsp
9.4.1.3. セッションのタイムアウト
- TLS セッションのタイムアウト
- HTTP セッションのタイムアウト
9.4.1.3.1. TLS セッションのタイムアウト
/etc/pki/<instance>/server.xml ファイルの Secure <Connector> 要素の keepAliveTimeout パラメーターで設定されます。
... <Server> <Service> <Connector name="Secure" ... keepAliveTimeout="300000" ... /> </Service> </Server> ...
/etc/pki/<instance>/server.xml
ファイルを編集し、サーバーを再起動します。
9.4.1.3.2. HTTP セッションのタイムアウト
/etc/pki/<instance>/web.xml ファイルの <session -timeout > 要素で設定できます。
... <web-app> <session-config> <session-timeout>30</session-timeout> </session-config> </web-app> ...
/etc/pki/<instance>/web.xml
ファイルを編集し、サーバーを再起動します。
9.4.1.3.3. PKI Web UI のセッションタイムアウト
9.4.1.3.4. PKI コンソールのセッションタイムアウト
9.4.1.3.5. PKI CLI のセッションタイムアウト
9.4.2. web.xml
9.4.2.1. web.xml からの未使用インターフェイスの削除 (CA のみ)
web.xml
ファイルに含まれます。ただし、これらの機能は非推奨となり、使用されなくなりました。したがって、CA 設定から削除してセキュリティーを強化することができます。
- CA を停止します。
systemctl stop pki-tomcatd@instance_name.service
またはsystemctl stop pki-tomcatd-nuxwdog@instance_name.service (if using
nuxwdog watchdog
) - CA の Web ファイルディレクトリーを開きます。以下に例を示します。
cd /var/lib/pki/pki-tomcat/ca/webapps/ca/WEB-INF
- 現在の
web.xml
ファイルをバックアップします。cp web.xml web.xml.servlets
web.xml
ファイルを編集し、非推奨となった以下の各サーブレットの <servlet > エントリー全体を削除します。- caadminEnroll
- cabulkissuance
- cacertbasedenrollment
- caenrollment
- caProxyBulkIssuance
たとえば、caadminEnroll サーブレットエントリーを削除します。<servlet> <servlet-name> caadminEnroll </servlet-name> <servlet-class> com.netscape.cms.servlet.cert.EnrollServlet </servlet-class> <init-param><param-name> GetClientCert </param-name> <param-value> false </param-value> </init-param> <init-param><param-name> successTemplate </param-name> <param-value> /admin/ca/EnrollSuccess.template </param-value> </init-param> <init-param><param-name> AuthzMgr </param-name> <param-value> BasicAclAuthz </param-value> </init-param> <init-param><param-name> authority </param-name> <param-value> ca </param-value> </init-param> <init-param><param-name> interface </param-name> <param-value> admin </param-value> </init-param> <init-param><param-name> ID </param-name> <param-value> caadminEnroll </param-value> </init-param> <init-param><param-name> resourceID </param-name> <param-value> certServer.admin.request.enrollment </param-value> </init-param> <init-param><param-name> AuthMgr </param-name> <param-value> passwdUserDBAuthMgr </param-value> </init-param> </servlet>
- サーブレットエントリーを削除したら、対応する < servlet-mapping> エントリーを削除 します。
<servlet-mapping> <servlet-name> caadminEnroll </servlet-name> <url-pattern> /admin/ca/adminEnroll </url-pattern> </servlet-mapping>
- エンドエンティティー要求インターフェイスの < filter-mapping > エントリーを 3 つ削除します。
<filter-mapping> <filter-name> EERequestFilter </filter-name> <url-pattern> /certbasedenrollment </url-pattern> </filter-mapping> <filter-mapping> <filter-name> EERequestFilter </filter-name> <url-pattern> /enrollment </url-pattern> </filter-mapping> <filter-mapping> <filter-name> EERequestFilter </filter-name> <url-pattern> /profileSubmit </url-pattern> </filter-mapping>
- CA を再度起動します。
systemctl start pki-tomcatd@instance_name.service
またはsystemctl start pki-tomcatd-nuxwdog@instance_name.service (if using
nuxwdog watchdog
)
9.4.3. Web サービスのカスタマイズ
9.4.3.1. サブシステム Web アプリケーションのカスタマイズ
- テキスト、JavaScript コード、ページレイアウト、CSS フォーマットなどを含む HTML ページ
- サーブレット、パス、セキュリティー制約などを定義する
web.xml
ファイル - PKI ライブラリーへのリンク。
/var/lib/pki/pki-tomcat/conf/Catalina/localhost/
ディレクトリーにあるコンテキストファイル( ca.xml
ファイルなど)を使用してデプロイされます。
<Context docBase="/usr/share/pki/ca/webapps/ca" crossContext="true" allowLinking="true"> ... </Context>
docBase
は、デフォルトの Web アプリケーションディレクトリー /usr/share/pki/
の場所を参照します。
webapps
ディレクトリーにコピーします。
$ cp -r /usr/share/pki/ca/webapps/ca /var/lib/pki/pki-tomcat/webapps
webapps
ディレクトリーから相対的なカスタム Web アプリケーションディレクトリーを参照するように、docBase
を変更します。
<Context docBase="ca" crossContext="true" allowLinking="true"> ... </Context>
docBase
を元に戻して、カスタム Web アプリケーションディレクトリーを削除します。
$ rm -rf /var/lib/pki/pki-tomcat/webapps/ca
9.4.3.2. Web UI テーマのカスタマイズ
- CSS ファイル (グローバルの外観を決定する)
- ロゴ、アイコン、およびその他のイメージファイル
- ページタイトル、ロゴリンク、タイトルの色などを判断するブランディングプロパティー。
/var/lib/pki/pki-tomcat/conf/Catalina/localhost/
ディレクトリーの pki.xml
コンテキストファイルを使用してデプロイされます。
<Context docBase="/usr/share/pki/common-ui" crossContext="true" allowLinking="true"> ... </Context>
/usr/share/pki/
の場所を参照します。
webapps
ディレクトリーの pki
ディレクトリーにコピーします。
$ cp -r /usr/share/pki/common-ui /var/lib/pki/pki-tomcat/webapps/pki
webapps
ディレクトリーから相対的なカスタムテーマのディレクトリーを参照するように、docBase
を変更します。
<Context docBase="pki" crossContext="true" allowLinking="true"> ... </Context>
docBase
を元に戻して、カスタムテーマのディレクトリーを削除します。
$ rm -rf /var/lib/pki/pki-tomcat/webapps/pki
9.4.3.3. TPS トークンの状態ラベルのカスタマイズ
/usr/share/pki/tps/conf/token-states.properties
ファイルに保存され、「トークンの状態および遷移ラベル」 で説明されています。
$ cp /usr/share/pki/tps/conf/token-states.properties /var/lib/pki/pki-tomcat/tps/conf
$ rm /var/lib/pki/pki-tomcat/tps/conf/token-states.properties
9.5. アクセスバナーの使用
アプリケーション | バナーが表示されるタイミング |
---|---|
PKI コンソール |
|
Web インターフェイス |
|
pki コマンドラインユーティリティー |
|
[a]
セッションタイムアウトの変更に関する詳細は、「セッションのタイムアウト」を参照してください。
|
例9.5 アクセスバナーの表示時
pki
ユーティリティーを使用している場合は、アクセスバナーが表示されるタイミングを示しています。
# $ pki cert-show 0x1
WARNING! Access to this service is restricted to those individuals with specific permissions. If you are not an authorized user, disconnect now. Any attempts to gain unauthorized access will be prosecuted to the fullest extent of the law. Do you want to proceed (y/N)? y
-----------------
Certificate "0x1"
-----------------
Serial Number: 0x1
Issuer: CN=CA Signing Certificate,OU=instance_name,O=EXAMPLE
Subject: CN=CA Signing Certificate,OU=instance_name,O=EXAMPLE
Status: VALID
Not Before: Mon Feb 20 18:21:03 CET 2017
Not After: Fri Feb 20 18:21:03 CET 2037
9.5.1. アクセスバナーの有効化
/etc/pki/instance_name/banner.txt
ファイルを作成し、表示するテキストを入力します。
/etc/pki/instance_name/banner.txt
ファイルのテキストは、UTF-8 形式を使用する必要があります。検証するには、「バナーの検証」を参照してください。
9.5.2. バナーの表示
# pki-server banner-show -i instance_name
9.5.3. バナーの検証
# pki-server banner-validate -i instance_name --------------- Banner is valid ---------------
9.6. CMC の設定
9.6.1. CMC の仕組み
- 『Certificate System 管理ガイド (Common Criteria Edition)』 の 『CMC を使用した証明書のリクエストと受信』。
- 『Certificate System 管理ガイド (Common Criteria Edition)』 の 『証明書の発行に関するルールの作成 (証明書プロファイル)』 を参照してください。
9.6.2. PopLinkWittnessV2
機能の有効化
/var/lib/pki/instance_name/ca/conf/CS.cfg
ファイルで以下のオプションを有効にします。
cmc.popLinkWitnessRequired=true
9.6.4. Web ユーザーインターフェイスの CMCRevoke の有効化
CMCRevoke
ユーティリティーを使用して、Web UI で送信される失効要求を作成する場合は、以下の設定を /var/lib/pki/instance_name/ca/conf/CS.cfg
ファイルに追加します。
cmc.bypassClientAuth=true
第10章 証明書/キー暗号トークンの管理
暗号トークンについて
10.1. certutil および PKICertImport
10.1.1. certutil の基本的な使用方法
[options]
10.1.2. PKICertImport の基本的な使用方法
[options]
10.1.3. certutil の一般的なコマンド
certutil -A
certutil -V
certutil -D
certutil -M
certutil -L
証明書のニックネーム
|
Trust Attributes |
---|---|
caSigningCert pki-ca1
|
CT、C、C
|
10.1.4. 一般的な certutil および PKICertImport オプション
-n <nickname>
-d <directory>
-t <trust>
- TLS の信頼
- メールの信頼
- オブジェクト署名の信頼
- C は、この証明書が認証局(CA)である必要があります。
- C は、サーバー証明書に署名するための信頼できる認証局であることを示しています(C は小文字の c であるため、両方を指定する必要はありません)。
- T は、この証明書がクライアント証明書に署名するための信頼できる認証局であることを示しています(は小文字の c であるため、T と cの両方を指定する必要はありません)。
- これにより、この証明書が別の証明書に署名し、それがオブジェクト署名に使用されると、その証明書が無効になります。
- certutil -L -d
- 各証明書のニックネームが一覧表示され、行の最後に信頼フラグが指定されます。
-h <HSM>
-e
-e
オプションを理解しません。
-a
-i <certificate>
-u <usage>
- -u C は、クライアント TLS 証明書の検証を表します。これは証明書を許可しますが、有効期限と署名を確認することに注意してください。
- -u V は、サーバーの TLS 証明書の検証を表します。これにより CA 証明書が拒否され、有効期限と署名を確認することに注意してください。
- -u L は CA TLS 証明書の検証を表します。これにより信頼フラグが検証され( c が存在するか確認)、鍵の使用方法を確認して、キーが CA キーであることを確認します。これは、有効期限および署名も確認します。
- -u O は OCSP ステータスレスポンダー証明書の検証を表します。これにより、期限切れと署名を確認することに注意してください。
- -u J はオブジェクト署名証明書の検証を表します。これにより、期限切れと署名を確認することに注意してください。
10.2. ルート証明書のインポート
- cd /path/to/nssdb
ca_root.crt
という名前のファイルにすでに存在していることを前提とします。お好みのシナリオに合わせて、正しい名前とパスを置き換えます。
ルート証明書をインポートするには、次のコマンドを実行します。
- PKICertImport -d . -n "CA Root" -t "CT,C,C" -a -i ca_root.crt -u L コマンドを実行します。このコマンドは、ルート証明書を NSS DB に検証し、インポートします。エラーメッセージが出力されず、戻りコードが 0 の場合は、検証が成功します。戻りコードを確認するには、上記のコマンド実行直後に echo $? を実行します。ほとんどの場合は、視覚的なエラーメッセージが出力されます。証明書は通常、有効期限が切れるか、または CA 証明書であるかから検証に失敗します。したがって、証明書ファイルが正しいことを確認し、最新の状態にしてください。発行者に連絡し、すべての中間証明書およびルート証明書がシステムに存在することを確認します。
10.3. 中間証明書チェーンのインポート
- cd /path/to/nssdb
ca_sub_<num>.crt
という名前のファイルにあると仮定します(例: ca_sub_1.crt
、ca_sub_2.crt
など)。デプロイメントに合わせて、証明書の名前とパスを置き換えます。
fullchain.crt
、fullchain.pem
、または同様の名前の単一ファイルが指定されており、これには複数の証明書が含まれ、各ブロック(----BEGIN CERTIFICATE----- および -----END CERTIFICATE----- マーカーと -----END CERTIFICATE----- マーカーを含む)を独自のファイルにコピーして上記の形式に分割します。最初のものは ca_sub_<num>.crt
という名前で、最後のものは service.crt
という名前のサーバー証明書になります。サーバー証明書については、以降のセクションで説明します。
チェーン内のすべての中間証明書に対して、以下を行います。
- Execute PKICertImport -d . -n "CA Sub $num" -t "CT,C,C" -a -i ca_sub_$num.crt -u Lこのコマンドは、中間 CA 証明書を NSS DB に検証し、インポートします。エラーメッセージが出力されず、戻りコードが 0 の場合は、検証が成功します。戻りコードを確認するには、上記のコマンド実行直後に echo $? を実行します。ほとんどの場合は、視覚的なエラーメッセージが出力されます。検証に成功しなかった場合は、発行者に連絡し、すべての中間証明書およびルート証明書がシステムに存在することを確認します。
10.4. HSM への証明書のインポート
- cd /path/to/nssdb (例: cd /var/lib/pki/pki-ca/alias)
- すべての PKI サブスキームの TLS サーバー証明書については、サーバー証明書の手順 に従います。
- サブシステムの監査署名証明書については、以下の手順に従って オブジェクト署名証明書 を検証してください。
- CA サブシステムの署名証明書については、上記の手順に従って 中間証明書チェーン をインポートして検証しますが、caSigningCert でのみ行います。
- CA サブシステムの OCSP 署名証明書については、以下の手順に従って OCSP 証明書 を検証してください。
- PKI サブシステムのその他のシステム証明書については、Client Certificate の手順 に従います。
HSM にサーバー証明書をインポートするには、以下を行います。
- PKICertImport -d . -h HSM -n "host.name.example.com" -t "," -a -i service.crt -u V を実行します。このコマンドは、サーバー証明書を検証して HSM にインポートします。エラーメッセージが出力されず、戻りコードが 0 の場合は、検証が成功します。戻りコードを確認するには、上記のコマンド実行直後に echo $? を実行します。ほとんどの場合は、視覚的なエラーメッセージが出力されます。通常、親証明書の有効期限または CA 信頼チェーンの欠落 (中間証明書の欠落や CA ルートの欠落など) が原因で、証明書の検証に失敗します。検証に成功しなかった場合は、発行者に連絡し、すべての中間証明書およびルート証明書がシステムに存在することを確認します。
HSM にクライアント証明書をインポートするには、以下を実行します。
- Execute PKICertImport -d . -h HSM -n "client name" -t ",," -a -i client.crt -u Cこのコマンドは、クライアント証明書を HSM に検証し、インポートします。エラーメッセージが出力されず、戻りコードが 0 の場合は、検証が成功します。戻りコードを確認するには、上記のコマンド実行直後に echo $? を実行します。ほとんどの場合は、視覚的なエラーメッセージが出力されます。検証に成功しなかった場合は、発行者に連絡し、すべての中間証明書およびルート証明書がシステムに存在することを確認します。
HSM にオブジェクト署名証明書をインポートするには、以下を実行します。
- PKICertImport -d . -h HSM -n "certificate name" -t ",,P" -a -i objectsigning.crt -u Jを実行します。このコマンドは、オブジェクト署名証明書を HSM に検証し、インポートします。エラーメッセージが出力されず、戻りコードが 0 の場合は、検証が成功します。戻りコードを確認するには、上記のコマンド実行直後に echo $? を実行します。ほとんどの場合は、視覚的なエラーメッセージが出力されます。検証に成功しなかった場合は、発行者に連絡し、すべての中間証明書およびルート証明書がシステムに存在することを確認します。
HSM で OCSP 応答署名証明書をインポートするには、次を実行します。
- Execute PKICertImport -d . -h HSM -n "certificate name" -t ",," -a -i ocsp.crt -u Oこのコマンドは、OCSP レスポンダー証明書を HSM に検証し、インポートします。エラーメッセージが出力されず、戻りコードが 0 の場合は、検証が成功します。戻りコードを確認するには、上記のコマンド実行直後に echo $? を実行します。ほとんどの場合は、視覚的なエラーメッセージが出力されます。検証に成功しなかった場合は、発行者に連絡し、すべての中間証明書およびルート証明書がシステムに存在することを確認します。
10.5. NSS データベースでの証明書のインポート
- サブシステムの auditSigningCert については、以下の手順に従って オブジェクト署名証明書 を検証してください。
- CA サブシステムの caSigningCert については、中間証明書チェーン をインポートして検証するための上記の手順に従いますが、caSigningCert でのみ行います。
- CA サブシステムの ocspSigningCert については、以下の手順に従って OCSP 証明書 を検証してください。
- ユーザーのクライアントまたは S/MIME 証明書の場合は、Client Certificate の手順 を実行します。
NSS データベースへのクライアント証明書のインポート
- NSS データベースディレクトリーに移動します。以下に例を示します。
# cd /path/to/nssdb/
- ルート証明書をまだインポートおよび信頼していない場合は、インポートして信頼します。詳細は、「ルート証明書のインポート」を参照してください。
- 中間証明書をインポートおよび検証していない場合は、中間証明書をインポートおよび検証します。詳細は、「中間証明書チェーンのインポート」を参照してください。
- クライアント証明書を検証し、インポートします。
#
PKICertImport -d . -n "client name" -t ",," -a -i client.crt -u Cエラーメッセージが出力されず、戻りコードが 0 の場合は、検証が成功します。戻りコードを確認するには、上記のコマンド実行直後に echo $? を実行します。ほとんどの場合は、視覚的なエラーメッセージが出力されます。検証に成功しなかった場合は、発行者に連絡し、すべての中間証明書およびルート証明書がシステムに存在することを確認します。
オブジェクト署名証明書のインポート
- NSS データベースディレクトリーに移動します。以下に例を示します。
# cd /path/to/nssdb/
- ルート証明書をまだインポートおよび信頼していない場合は、インポートして信頼します。詳細は、「ルート証明書のインポート」を参照してください。
- 中間証明書をインポートおよび検証していない場合は、中間証明書をインポートおよび検証します。詳細は、「中間証明書チェーンのインポート」を参照してください。
- オブジェクト署名証明書を検証し、インポートします。
#
PKICertImport -d . -n "certificate name" -t ",,P" -a -i objectsigning.crt -u Jエラーメッセージが出力されず、戻りコードが 0 の場合は、検証が成功します。戻りコードを確認するには、上記のコマンド実行直後に echo $? を実行します。ほとんどの場合は、視覚的なエラーメッセージが出力されます。検証に成功しなかった場合は、発行者に連絡し、すべての中間証明書およびルート証明書がシステムに存在することを確認します。
OCSP レスポンダーのインポート
- NSS データベースディレクトリーに移動します。以下に例を示します。
# cd /path/to/nssdb/
- ルート証明書をまだインポートおよび信頼していない場合は、インポートして信頼します。詳細は、「ルート証明書のインポート」を参照してください。
- 中間証明書をインポートおよび検証していない場合は、中間証明書をインポートおよび検証します。詳細は、「中間証明書チェーンのインポート」を参照してください。
- OCSP レスポンダー証明書を検証およびインポートします。
#
PKICertImport -d . -n "certificate name" -t ",," -a -i ocsp.crt -u Oエラーメッセージが出力されず、戻りコードが 0 の場合は、検証が成功します。戻りコードを確認するには、上記のコマンド実行直後に echo $? を実行します。ほとんどの場合は、視覚的なエラーメッセージが出力されます。検証に成功しなかった場合は、発行者に連絡し、すべての中間証明書およびルート証明書がシステムに存在することを確認します。
第11章 証明書プロファイルの設定
11.1. ファイルシステムで直接証明書プロファイルの作成および編集
/ca/profiles/ca/
に保存されます(例: /var/lib/pki/pki-ca/ca/profiles/ca/
)。ファイルの名前は profile_name.cfg
です。プロファイルルールのパラメーターはすべて、これらのプロファイル設定ファイルで設定または変更できます。プロファイルルールは、入力、出力、認証、承認、デフォルト、および制約を使用できます。
*.profile
という名前の /var/lib/pki/instance_name/ca/conf
ディレクトリーにあります。
11.1.1. CA 以外のシステム証明書プロファイルの設定
11.1.1.1. プロファイル設定パラメーター
policyset.cmcUserCertSet.6.constraint.class_id=noConstraintImpl policyset.cmcUserCertSet.6.constraint.name=No Constraint policyset.cmcUserCertSet.6.default.class_id=userExtensionDefaultImpl policyset.cmcUserCertSet.6.default.name=User Supplied Key Default policyset.cmcUserCertSet.6.default.params.userExtOID=2.5.29.15
パラメーター | 説明 |
---|---|
desc | エンドエンティティーページに表示される証明書プロファイルのフリーテキストの説明を提供します。たとえば、desc=This certificate profile is for enrolling server certificates with agent authentication. です。 |
enable | プロファイルを有効にするかどうかを設定します。したがって、エンドエンティティーページからアクセスできます。たとえば、enable=true とします。 |
auth.instance_id | プロファイルを介して送信された証明書要求の認証に使用する認証マネージャープラグインを設定します。自動登録では、認証に成功すると CA は証明書をすぐに発行します。認証が失敗した場合、または認証プラグインが指定されていない場合、リクエストはキューに入れられ、エージェントによって手動で承認されます。たとえば、auth.instance_id=CMCAuth となります。認証方法は、CS.cfg から登録された認証インスタンスの 1 つである必要があります。 |
authz.acl |
承認制約を指定します。最も一般的なものは、グループ評価 ACL を設定するのに使用されます。たとえば、この caCMCUserCert パラメーターでは、CMC 要求の署名者が Certificate Manager Agents グループに属している必要があります。
authz.acl=group="Certificate Manager Agents"
ディレクトリーベースのユーザー証明書の更新では、このオプションを使用して、元の要求元と現在の認証ユーザーが同じであることを確認します。
エンティティーは、承認を評価する前に、認証 (バインド、または基本的にシステムへのログイン) を行う必要があります。認証メソッドは、
CS.cfg から登録された承認インスタンスの 1 つである必要があります。
|
name | プロファイルの名前を指定します。たとえば、name=Agent-Authenticated サーバー証明書の登録 などです。この名前は、エンドユーザーの登録または更新ページに表示されます。 |
input.list | 名前でプロファイルに許可されている入力を一覧表示します。たとえば、input.list=i1,i2 です。 |
input.input_id.class_id | 入力 ID (input.list にリストされている入力の名前) によって入力の Java クラス名を指定します。たとえば、input.i1.class_id=cmcCertReqInputImpl です。 |
output.list | プロファイルの可能な出力形式を名前でリストします。たとえば、output.list=o1 です。 |
output.output_id.class_id | output.list で指定された出力形式の Java クラス名を指定します。たとえば、output.o1.class_id=certOutputImpl です。 |
policyset.list | 設定したプロファイルルールを一覧表示します。二重証明書の場合は、1 セットのルールが署名キーに適用され、もう 1 セットが暗号化キーに適用されます。1 つの証明書で使用するプロファイルは、1 つのプロファイルルールセットだけです。たとえば、policyset.list=serverCertSet です。 |
policyset.policyset_id.list | プロファイル用に設定されたポリシーセット内のポリシーを、評価する必要のある順序でポリシー ID 番号別に一覧表示します。たとえば、policyset.serverCertSet.list=1,2,3,4,5,6,7,8 のようになります。 |
policyset.policyset_id.policy_number.constraint.class_id | プロファイルルールで設定されたデフォルトに設定された制約プラグインの Java クラス名を指定します。たとえば、policyset.serverCertSet.1.constraint.class_id=subjectNameConstraintImpl です。 |
policyset.policyset_id.policy_number.constraint.name | 制約のユーザー定義の名前を指定します。たとえば、policyset.serverCertSet.1.constraint.name=Subject Name Constraint などです。 |
policyset.policyset_id.policy_number.constraint.params.attribute | 制約に許可される属性値を指定します。設定可能な属性は、制約の種類によって異なります。たとえば、policyset.serverCertSet.1.constraint.params.pattern=CN=.* です。 |
policyset.policyset_id.policy_number.default.class_id | プロファイルルールに、デフォルトセットの java クラス名を指定します。たとえば、policyset.serverCertSet.1.default.class_id=userSubjectNameDefaultImpl です。 |
policyset.policyset_id.policy_number.default.name | デフォルトのユーザー定義の名前を指定します。たとえば、policyset.serverCertSet.1.default.name=Subject Name Default です。 |
policyset.policyset_id.policy_number.default.params.attribute | デフォルトに対して許可される属性の値を指定します。設定可能な属性は、デフォルトの種類によって異なります。たとえば、policyset.serverCertSet.1.default.params.name=CN=(Name)$request.requestor_name$ です。 |
11.1.1.2. ファイルシステムで直接証明書拡張機能の変更
policyset.cmcUserCertSet.6.constraint.class_id=keyUsageExtConstraintImpl
policyset.cmcUserCertSet.6.constraint.name=Key Usage Extension Constraint
policyset.cmcUserCertSet.6.constraint.params.keyUsageCritical=true
policyset.cmcUserCertSet.6.constraint.params.keyUsageCrlSign=false
policyset.cmcUserCertSet.6.constraint.params.keyUsageDataEncipherment=false
policyset.cmcUserCertSet.6.constraint.params.keyUsageDecipherOnly=false
policyset.cmcUserCertSet.6.constraint.params.keyUsageDigitalSignature=true
policyset.cmcUserCertSet.6.constraint.params.keyUsageEncipherOnly=false
policyset.cmcUserCertSet.6.constraint.params.keyUsageKeyAgreement=false
policyset.cmcUserCertSet.6.constraint.params.keyUsageKeyCertSign=false
policyset.cmcUserCertSet.6.constraint.params.keyUsageKeyEncipherment=true
policyset.cmcUserCertSet.6.constraint.params.keyUsageNonRepudiation=true
policyset.cmcUserCertSet.6.default.class_id=keyUsageExtDefaultImpl policyset.cmcUserCertSet.6.default.name=Key Usage Default policyset.cmcUserCertSet.6.default.params.keyUsageCritical=true policyset.cmcUserCertSet.6.default.params.keyUsageCrlSign=false policyset.cmcUserCertSet.6.default.params.keyUsageDataEncipherment=false policyset.cmcUserCertSet.6.default.params.keyUsageDecipherOnly=false policyset.cmcUserCertSet.6.default.params.keyUsageDigitalSignature=true policyset.cmcUserCertSet.6.default.params.keyUsageEncipherOnly=false policyset.cmcUserCertSet.6.default.params.keyUsageKeyAgreement=false policyset.cmcUserCertSet.6.default.params.keyUsageKeyCertSign=false policyset.cmcUserCertSet.6.default.params.keyUsageKeyEncipherment=true policyset.cmcUserCertSet.6.default.params.keyUsageNonRepudiation=true
policyset.cmcUserCertSet.6.default.class_id=userExtensionDefaultImpl policyset.cmcUserCertSet.6.default.name=User Supplied Key Default policyset.cmcUserCertSet.6.default.params.userExtOID=2.5.29.15
11.1.1.2.1. 主な使用方法および拡張キー使用の一貫性
目的/拡張キー使用方法 | 主な使用方法 |
---|---|
TLS サーバー認証コマンド
id-kp-serverAuth
| digitalSignature、keyEncipherment、または KeyAgreement |
TLS クライアント (相互) 認証
id-kp-clientAuth
| digitalSignature、keyEncipherment、および/または KeyAgreement |
コード署名
id-kp-codeSigning
| digitalSignature |
メール保護
id-kp-emailProtection
| digitalSignature、Repudiation、および/または(keyEncipherment または keyAgreement) |
OCSP レスポンスの署名
id-kp-OCSPSigning
| KeyAgreement および/または nonRepudiation |
- OCSP 応答署名を目的とした登録プロファイルには、拡張キー使用法 id-kp-OCSPSigning が含まれますが、keyEncipherment キーの使用ビットがあります。
policyset.ocspCertSet.6.default.class_id=keyUsageExtDefaultImpl policyset.ocspCertSet..6.default.name=Key Usage Default policyset.ocspCertSet..6.default.params.keyUsageCritical=true policyset.ocspCertSet..6.default.params.keyUsageCrlSign=false policyset.ocspCertSet..6.default.params.keyUsageDataEncipherment=false policyset.ocspCertSet..6.default.params.keyUsageDecipherOnly=false policyset.ocspCertSet..6.default.params.keyUsageDigitalSignature=true policyset.ocspCertSet..6.default.params.keyUsageEncipherOnly=false policyset.ocspCertSet..6.default.params.keyUsageKeyAgreement=false policyset.ocspCertSet..6.default.params.keyUsageKeyCertSign=false policyset.ocspCertSet..6.default.params.keyUsageKeyEncipherment=true policyset.ocspCertSet..6.default.params.keyUsageNonRepudiation=true policyset.ocspCertSet.7.constraint.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.9 policyset.ocspCertSet.7.default.class_id=extendedKeyUsageExtDefaultImpl policyset.ocspCertSet.7.default.name=Extended Key Usage Default policyset.ocspCertSet.7.default.params.exKeyUsageCritical=false policyset.ocspCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.9
- TLS サーバー認証の目的を目的とした登録プロファイルには、拡張キー 使用法 id-kp-serverAuth が含まれますが、CRL 署名鍵の使用ビットがあります。
policyset.serverCertSet.6.default.name=Key Usage Default policyset.serverCertSet.6.default.params.keyUsageCritical=true policyset.serverCertSet.6.default.params.keyUsageDigitalSignature=true policyset.serverCertSet.6.default.params.keyUsageNonRepudiation=false policyset.serverCertSet.6.default.params.keyUsageDataEncipherment=true policyset.serverCertSet.6.default.params.keyUsageKeyEncipherment=false policyset.serverCertSet.6.default.params.keyUsageKeyAgreement=true policyset.serverCertSet.6.default.params.keyUsageKeyCertSign=false policyset.serverCertSet.6.default.params.keyUsageCrlSign=true policyset.serverCertSet.6.default.params.keyUsageEncipherOnly=false policyset.serverCertSet.6.default.params.keyUsageDecipherOnly=false policyset.cmcUserCertSet.7.default.class_id=extendedKeyUsageExtDefaultImpl policyset.cmcUserCertSet.7.default.name=Extended Key Usage Extension Default policyset.cmcUserCertSet.7.default.params.exKeyUsageCritical=false policyset.serverCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.1
- 『Red Hat Certificate System 管理ガイド (Common Criteria Edition)』 の 『拡張キー使用制約』 セクション。
- 『Red Hat Certificate System 管理ガイド (Common Criteria Edition)』 の 『keyUsage』 セクション。
- 『Red Hat Certificate System 管理ガイド (Common Criteria Edition)』 の 『拡張キー使用制約』 セクション。
- 『Red Hat Certificate System 管理ガイド (Common Criteria Edition)』 の 『extKeyUsage』 セクション。
11.1.1.3. ファイルシステムへのプロファイル入力の直接追加
profiles/ca
ディレクトリーの証明書プロファイル設定ファイルには、その特定の証明書プロファイルフォームの入力情報が含まれます。入力は、エンドエンティティーページ登録フォームのフィールドです。そのプロファイルに含まれる入力を一覧表示するパラメーター input.list があります。他のパラメーターは入力を定義します。これらはフォーマット 入力で識別されます。ID は です。たとえば、これにより一般的な入力がプロファイルに追加されます。
input.list=i1,i2,i3,i4 ... input.i4.class_id=genericInputImpl input.i4.params.gi_display_name0=Name0 input.i4.params.gi_display_name1=Name1 input.i4.params.gi_display_name2=Name2 input.i4.params.gi_display_name3=Name3 input.i4.params.gi_param_enable0=true input.i4.params.gi_param_enable1=true input.i4.params.gi_param_enable2=true input.i4.params.gi_param_enable3=true input.i4.params.gi_param_name0=gname0 input.i4.params.gi_param_name1=gname1 input.i4.params.gi_param_name2=gname2 input.i4.params.gi_param_name3=gname3 input.i4.params.gi_num=4
11.1.2. 証明書のデフォルト有効期間の変更
/var/lib/pki/instance_name/ca/profiles/ca/caCACert.cfg
ファイルを開き、以下を設定します。
policyset.caCertSet.2.default.params.range=825
11.1.3. CA システム証明書プロファイルの設定
/var/lib/pki/[instance name]/ca/conf
ファイルに保持されます。これらのプロファイルは以下のとおりです。
caAuditSigningCert.profile
eccAdminCert.profile
rsaAdminCert.profile
caCert.profile
eccServerCert.profile
saServerCert.profile
caOCSPCert.profile
eccSubsystemCert.profile
rsaSubsystemCert.profile
pkispawn
ステップ 2 インストールの開始」 手順を実行する前にプロファイルを変更します。以下は、次のことを示す例です。
- 効力を CA 署名証明書に変更する方法。
- エクステンションの追加方法 (証明書ポリシー拡張機能など)。
pkispawn
が使用する元の CA 証明書プロファイルをバックアップします。cp -p /usr/share/pki/ca/conf/caCert.profile /usr/share/pki/ca/conf/caCert.profile.orig
- 設定ウィザードが使用する CA 証明書プロファイルを開きます。
vim /usr/share/pki/ca/conf/caCert.profile
- Validity Default の有効期限を任意の値にリセットします。たとえば、期間を 2 年に変更するには、次のコマンドを実行します。
2.default.class=com.netscape.cms.profile.def.ValidityDefault 2.default.name=Validity Default 2.default.params.range=7200
- プロファイルに新しいデフォルトエントリーを作成し、これをリストに追加して、エクステンションを追加します。たとえば、証明書ポリシー拡張機能を追加するには、デフォルト (この例ではデフォルト #9) を追加します。
9.default.class_id=certificatePoliciesExtDefaultImpl 9.default.name=Certificate Policies Extension Default 9.default.params.Critical=false 9.default.params.PoliciesExt.certPolicy0.enable=false 9.default.params.PoliciesExt.certPolicy0.policyId= 9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.CPSURI.enable=true 9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.CPSURI.value=CertificatePolicies.example.com 9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.enable=false 9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.explicitText.value= 9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.noticeReference.noticeNumbers= 9.default.params.PoliciesExt.certPolicy0.PolicyQualifiers0.usernotice.noticeReference.organization=
次に、新しいデフォルトを使用するデフォルトの一覧にデフォルトの番号を追加します。list=2,4,5,6,7,8,
9
11.1.4. スマートカード CA プロファイルの管理
/var/lib/pki/instance_name/profiles/ca/
ディレクトリーと他の CA プロファイルにあります。デフォルトのプロファイルは 表11.2「デフォルトのトークン証明書プロファイル」 に一覧表示されます。
プロファイル名 | 設定ファイル | 説明 |
---|---|---|
通常の登録プロファイル | ||
トークンデバイスのキー登録 | caTokenDeviceKeyEnrollment.cfg | デバイスまたはサーバーに使用するトークンの登録 |
トークンユーザー暗号化証明書の登録 | caTokenUserEncryptionKeyEnrollment.cfg | ユーザーのトークンで暗号化証明書を登録する場合。 |
トークンユーザーの署名証明書登録 | caTokenUserSigningKeyEnrollment.cfg | ユーザーのトークンに署名証明書を登録する場合。 |
トークンユーザー MS ログイン証明書の登録 | caTokenMSLoginEnrollment.cfg | Windows ドメインまたは PC へのシングルサインオンに使用するユーザー証明書を登録する場合。 |
一時トークンプロファイル | ||
一時的なデバイス証明書の登録 | caTempTokenDeviceKeyEnrollment.cfg | 一時的なトークンでデバイスの証明書を登録する場合 |
一時的なトークン暗号化証明書の登録 | caTempTokenUserEncryptionKeyEnrollment.cfg | ユーザーの一時的なトークンに暗号化証明書を登録する場合。 |
一時的なトークンユーザー署名証明書 | caTempTokenUserSigningKeyEnrollment.cfg | ユーザーの一時的なトークンに署名証明書を登録する場合。 |
プロファイルの更新[a] | ||
トークンユーザー暗号化証明書の登録 (更新) | caTokenUserEncryptionKeyRenewal.cfg | 更新が許可される場合に、ユーザーのトークンで暗号化証明書を更新する場合。 |
トークンユーザー署名証明書の登録 (更新) | caTokenUserSigningKeyRenewal.cfg | 更新が許可される場合に、トークンの署名証明書を更新するため。 |
[a]
更新プロファイルは、元の証明書を発行したプロファイルと組み合わせてのみ使用できます。メリットには 2 つの設定があります。
|
11.1.4.1. TPS の登録プロファイルの編集
policyset.set1.p1.default.params.dnpattern=UID=$request.uid$, O=Token Key User policyset.set1.p1.default.params.ldap.enable=true policyset.set1.p1.default.params.ldap.basedn=ou=people,dc=host,dc=example,dc=com policyset.set1.p1.default.params.ldapStringAttributes=uid,mail policyset.set1.p1.default.params.ldap.ldapconn.host=localhost.example.com policyset.set1.p1.default.params.ldap.ldapconn.port=389
ldapStringAttributes
パラメーターは、会社ディレクトリーから取得する LDAP 属性を CA に指示します。たとえば、ディレクトリーに LDAP 属性名として uid
が含まれており、証明書のサブジェクト名に使用される場合、uid
は ldapStringAttributes
パラメーターにリストされ、request.uid は、dnpattern
のコンポーネントの一つとしてリストされなければなりません。
dnpattern
パラメーターの形式は B.2.11 で説明されています。サブジェクト名の制約と B.1.28。Red Hat Certificate System 管理ガイド のサブジェクト名のデフォルト。
11.1.4.2. カスタム TPS プロファイルの作成
- 発行する CA 用の新しいトークンプロファイルを作成します。プロファイルの設定は 3.2 で説明されています。Red Hat Certificate System の管理ガイドの証明書プロファイルの設定。
- プロファイルを CA のプロファイルディレクトリー
/var/lib/instance_name/ca/profiles/ca/
にコピーします。 - CA の
CS.cfg
ファイルを編集し、新しいプロファイル参照とプロファイル名を CA のプロファイル一覧に追加します。以下に例を示します。vim etc/pki/instance_name/ca/CS.cfg profile.list=caUserCert,...,caManualRenewal,
tpsExampleEnrollProfile
... profile.caTokenMSLoginEnrollment.class_id=caUserCertEnrollImpl profile.caTokenMSLoginEnrollment.config=/var/lib/pki/instance_name/profiles/ca/tpsExampleEnrollProfile.cfg - TPS
CS.cfg
ファイルを編集し、新しい CA 登録プロファイルを参照する行を追加します。以下に例を示します。vim /etc/pki/instance_name/tps/CS.cfg op.enroll.userKey.keyGen.signing.ca.profileId=tpsExampleEnrollProfile
- スマートカードプロファイルを編集したら、インスタンスを再起動します。
systemctl restart pki-tomcatd-nuxwdog@instance_name.service
CA と TPS が別のインスタンスにある場合は、両方のインスタンスを再起動します。
externalReg
)設定の登録プロファイルは、ユーザー LDAP エントリーで設定されます。
11.1.4.3. Windows スマートカードのログオンプロファイルの使用
caTokenMSLoginEnrollment.cfg
)。
- TLS に対して設定されていない場合は、ドメインコントローラーに証明書を発行します。
- グローバルポリシーではなく、ユーザーごとのスマートカードログインを設定して、ドメイン管理者のロックアウトを防止します。
- ドメインコントローラーはログインのたびに CRL をチェックするため、Active Directory サーバーへの CRL 公開を有効にします。
11.1.5. 証明書の登録プロファイルの無効化
/var/lib/pki/instance_name/ca/profiles/ca/
ディレクトリーの対応する *.cfg
ファイルを編集し、visible
および enable
パラメーターを false に設定します。
- CMC 以外のプロファイルの一覧を表示します。
# ls -l /var/lib/pki/instance_name/ca/profiles/ca/ | grep -v "CMC"
- 表示される各ファイルで、以下のパラメーターを false に設定します。
visible=false enable=false
- CMC プロファイルの一覧を表示します。
# ls -l /var/lib/pki/instance_name/ca/profiles/ca/*CMC*
- 表示される各ファイルで、以下を設定します。
visible=false
第12章 キーリカバリー認証局の設定
12.1. キーアーカイブの手動設定
- CA と KRA との間に信頼される関係がある。
- キーアーカイブ用に登録フォームが有効になっていると、鍵のアーカイブが設定され、KRA トランスポート証明書がフォームに保存されます。
- 必要に応じて、信頼できるマネージャーを作成して、Certificate Manager と KRA との間に関係を確立します。CA が KRA のキーアーカイブを要求できるようにするには、2 つのサブシステムが相互に認識、信頼、および通信するように設定されている必要があります。証明書マネージャーが、KRA の内部データベースで、適切な TLS クライアント認証証明書を使用して特権ユーザーとして設定されていることを確認します。デフォルトでは、Certificate Manager は、KRA への TLS クライアント認証にサブシステム証明書を使用します。
- KRA の base-64 でエンコードされたトランスポート証明書をコピーします。トランスポート証明書は KRA の証明書データベースに保存され、certutil ユーティリティーを使用して取得できます。トランスポート証明書が Certificate Manager によって署名されている場合、証明書のコピーは、Retrieval タブの Certificate Manager エンドエンティティーページから入手できます。または、pki ユーティリティーを使用してトランスポート証明書をダウンロードします。
# pki cert-find --name "KRA Transport certificate's subject common name" # pki cert-show serial_number --output transport.pem
- CA の
CS.cfg
ファイルにトランスポート証明書を追加します。ca.connector.KRA.enable=true ca.connector.KRA.host=server.example.com ca.connector.KRA.local=false ca.connector.KRA.nickName=subsystemCert cert-pki-ca ca.connector.KRA.port=8443 ca.connector.KRA.timeout=30 ca.connector.KRA.transportCert=MIIDbDCCAlSgAwIBAgIBDDANBgkqhkiG9w0BAQUFADA6MRgwFgYDVQQKEw9Eb21haW4gc28gbmFtZWQxHjAcBgNVBAMTFUNlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0wNjExMTQxODI2NDdaFw0wODEwMTQxNzQwNThaMD4xGDAWBgNVBAoTD0RvbWFpbiBzbyBuYW1lZDEiMCAGA1UEAxMZRFJNIFRyYW5zcG9ydCBDZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKnMGB3WkznueouwZjrWLFZBLpKt6TimNKV9iz5s0zrGUlpdt81/BTsU5A2sRUwNfoZSMs/d5KLuXOHPyGtmC6yVvaY719hr9EGYuv0Sw6jb3WnEKHpjbUO/vhFwTufJHWKXFN3V4pMbHTkqW/x5fu/3QyyUre/5IhG0fcEmfvYxIyvZUJx+aQBW437ATD99Kuh+I+FuYdW+SqYHznHY8BqOdJwJ1JiJMNceXYAuAdk+9t70RztfAhBmkK0OOP0vH5BZ7RCwE3Y/6ycUdSyPZGGc76a0HrKOz+lwVFulFStiuZIaG1pv0NNivzcj0hEYq6AfJ3hgxcC1h87LmCxgRWUCAwEAAaN5MHcwHwYDVR0jBBgwFoAURShCYtSg+Oh4rrgmLFB/Fg7X3qcwRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzABhihodHRwOi8vY2x5ZGUucmR1LnJlZGhhdC5jb206OTE4MC9jYS9vY3NwMA4GA1UdDwEB/wQEAwIE8DANBgkqhkiG9w0BAQUFAAOCAQEAFYz5ibujdIXgnJCbHSPWdKG0T+FmR67YqiOtoNlGyIgJ42fi5lsDPfCbIAe3YFqmF3wU472h8LDLGyBjy9RJxBj+aCizwHkuoH26KmPGntIayqWDH/UGsIL0mvTSOeLqI3KM0IuH7bxGXjlION83xWbxumW/kVLbT9RCbL4216tqq5jsjfOHNNvUdFhWyYdfEOjpp/UQZOhOM1d8GFiw8N8ClWBGc3mdlADQp6tviodXueluZ7UxJLNx3HXKFYLleewwIFhC82zqeQ1PbxQDL8QLjzca+IUzq6Cd/t7OAgvv3YmpXgNR0/xoWQGdM1/YwHxtcAcVlskXJw5ZR0Y2zA== ca.connector.KRA.uri=/kra/agent/kra/connector
- 登録フォームを編集し、keyTransportCert メソッドでトランスポート証明書の値を追加または置き換えます。
vim /var/lib/pki/pki-tomcat/ca/webapps/ca/ee/ca/ProfileSelect.template var keyTransportCert = MIIDbDCCAlSgAwIBAgIBDDANBgkqhkiG9w0BAQUFADA6MRgwFgYDVQQKEw9Eb21haW4gc28gbmFtZWQxHjAcBgNVBAMTFUNlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0wNjExMTQxODI2NDdaFw0wODEwMTQxNzQwNThaMD4xGDAWBgNVBAoTD0RvbWFpbiBzbyBuYW1lZDEiMCAGA1UEAxMZRFJNIFRyYW5zcG9ydCBDZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKnMGB3WkznueouwZjrWLFZBLpKt6TimNKV9iz5s0zrGUlpdt81/BTsU5A2sRUwNfoZSMs/d5KLuXOHPyGtmC6yVvaY719hr9EGYuv0Sw6jb3WnEKHpjbUO/vhFwTufJHWKXFN3V4pMbHTkqW/x5fu/3QyyUre/5IhG0fcEmfvYxIyvZUJx+aQBW437ATD99Kuh+I+FuYdW+SqYHznHY8BqOdJwJ1JiJMNceXYAuAdk+9t70RztfAhBmkK0OOP0vH5BZ7RCwE3Y/6ycUdSyPZGGc76a0HrKOz+lwVFulFStiuZIaG1pv0NNivzcj0hEYq6AfJ3hgxcC1h87LmCxgRWUCAwEAAaN5MHcwHwYDVR0jBBgwFoAURShCYtSg+Oh4rrgmLFB/Fg7X3qcwRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzABhihodHRwOi8vY2x5ZGUucmR1LnJlZGhhdC5jb206OTE4MC9jYS9vY3NwMA4GA1UdDwEB/wQEAwIE8DANBgkqhkiG9w0BAQUFAAOCAQEAFYz5ibujdIXgnJCbHSPWdKG0T+FmR67YqiOtoNlGyIgJ42fi5lsDPfCbIAe3YFqmF3wU472h8LDLGyBjy9RJxBj+aCizwHkuoH26KmPGntIayqWDH/UGsIL0mvTSOeLqI3KM0IuH7bxGXjlION83xWbxumW/kVLbT9RCbL4216tqq5jsjfOHNNvUdFhWyYdfEOjpp/UQZOhOM1d8GFiw8N8ClWBGc3mdlADQp6tviodXueluZ7UxJLNx3HXKFYLleewwIFhC82zqeQ1PbxQDL8QLjzca+IUzq6Cd/t7OAgvv3YmpXgNR0/xoWQGdM1/YwHxtcAcVlskXJw5ZR0Y2zA==;
12.2. KRA 操作の暗号化
- アーカイブ:
- KRA に転送するために Certificate Request Message Format (CRMF) パッケージにアーカイブするキーの暗号化。
- KRA LDAP データベースのストレージの鍵の暗号化。
- リカバリー:
- キーに転送するためにユーザーが提供したセッションキーの暗号化。
- シークレットの復号と、ユーザー提供のセッションキーを使用した再暗号化、または PKCS #12 パッケージの作成。
- 生成:
- ストレージの生成される鍵の暗号化。
12.2.1. クライアントによるキー操作暗号化の管理方法
12.2.2. KRA での暗号化アルゴリズムの設定
/var/lib/pki/pki-instance_name/conf/kra/CS.cfg
ファイルで、キー操作暗号化に関連する設定パラメーターのグループを定義します。以下のパラメーターのセットを推奨します (他のオプションについては上記を参照)。
kra.allowEncDecrypt.archive=false kra.allowEncDecrypt.recovery=false kra.storageUnit.wrapping.1.sessionKeyLength=256 kra.storageUnit.wrapping.1.sessionKeyWrapAlgorithm=RSA kra.storageUnit.wrapping.1.payloadEncryptionPadding=PKCS5Padding kra.storageUnit.wrapping.1.sessionKeyKeyGenAlgorithm=AES kra.storageUnit.wrapping.1.payloadEncryptionAlgorithm=AES kra.storageUnit.wrapping.1.payloadEncryptionMode=CBC kra.storageUnit.wrapping.1.payloadWrapAlgorithm=AES KeyWrap kra.storageUnit.wrapping.1.sessionKeyType=AES kra.storageUnit.wrapping.1.payloadWrapIVLen=16 kra.storageUnit.wrapping.choice=1
/var/lib/pki/pki-instance_name/conf/kra/CS.cfg
ファイルの kra.storageUnit.wrapping.choice
パラメーターで設定されます。
12.2.2.1. パラメーターとその値の説明
- payloadWrapAlgorithm は、使用されるラッピングアルゴリズムを決定します。有効な選択肢は AES KeyWrap のみです。
- payloadWrapAlgorithm=AES/CBC/PKCS5Padding の場合、payloadWrapIVLength=16 を指定して IV を生成する必要があることを PKI に指示する必要があります(CBC には 1 つ必要)。
- payloadEncryptionAlgorithm は、使用される暗号化アルゴリズムを決定します。唯一の有効な選択肢は AES です。
- payloadEncryptionMode は、ブロックチェーンモードを決定します。唯一の有効な選択肢は CBC です。
- payloadEncryptionPadding は、パディングスキームを決定します。唯一の有効な選択肢は PKCS5Padding です。
- sessionKeyType は、生成するキーのタイプです。唯一の有効な選択肢は AES です。
- sessionKeyLength は、生成されたセッションキーの長さです。有効な選択肢は 128 と 256 で、ペイロードをそれぞれ 128 ビット AES または 256 ビット AES で暗号化します。
- sessionKeyWrapAlgorithm は、KRA ストレージ証明書が置かれるキーのタイプです。本ガイドで唯一の有効な選択肢は RSA です。
12.2.2.2. KRA で AES 暗号化を使用する場合の HSM の制約の解決
キーラッピングの差分アルゴリズムの選択
AES-128-CBC
をキーラッピングアルゴリズムとして使用するには、次のコマンドを実行します。
/var/lib/pki/pki-instance_name/conf/kra/CS.cfg
ファイルで以下のパラメーターを設定します。kra.storageUnit.wrapping.1.payloadWrapAlgorithm=AES KeyWrap kra.storageUnit.wrapping.1.payloadWrapIVLen=16 kra.storageUnit.wrapping.1.sessionKeyLength=128
- インスタンスを再起動します。
# systemctl restart pki-tomcatd@instance_name.service
または# systemctl restart pki-tomcatd-nuxwdog@instance_name.service (if using
nuxwdog watchdog
)KRA が異なるインスタンスで実行されている場合、CA は両方のインスタンスを再起動する必要があります。
kra.storageUnit.wrapping.1.payloadWrap{Algorithm,IVLen}
および kra.storageUnit.wrapping.1.payloadEncryption{Algorithm,Mode,Padding}
パラメーターを使用します。
KRA の暗号化モードへの設定
/var/lib/pki/pki-instance_name/conf/kra/CS.cfg
ファイルの以下のパラメーターを true に設定します。kra.allowEncDecrypt.archive=true kra.allowEncDecrypt.recovery=true
- サービスを再起動します。
# systemctl restart pki-tomcatd@instance_name.service
または# systemctl restart pki-tomcatd-nuxwdog@instance_name.service (if using
nuxwdog watchdog
)KRA が CA 以外のインスタンスで実行している場合は、両方のインスタンスを再起動する必要があります。
kra.storageUnit.wrapping.1.payloadEncryption{Algorithm,Mode,Padding}
および kra.storageUnit.wrapping.1.payloadWrap{Algorithm,IVLen}
パラメーターを使用します。
12.3. エージェント承認キーリカバリースキームの設定
12.3.1. コンソールでのエージェント承認キーリカバリーの設定
CS.cfg
ファイルで直接設定できます。コンソールはデフォルトで Key Recovery Authority Agents Group
を使用します。
- KRA のコンソールを開きます。以下に例を示します。
pkiconsole https://server.example.com:8443/kra
- 左側のナビゲーションツリーの Key Recovery Authority のリンクをクリックします。
- Required Number of Agents フィールドに、キー復元を承認するのに使用するエージェントの数を入力します。
12.3.2. コマンドラインでのエージェント承認キーリカバリーの設定
- リカバリーの承認に必要なリカバリーマネージャーの数を設定します。
- これらのユーザーが属する必要のあるグループを設定します。
CS.cfg
設定ファイルで設定されます。
- 設定ファイルを編集する前にサーバーを停止します。
systemctl stop pki-tomcatd@instance_name.service
またはsystemctl stop pki-tomcatd-nuxwdog@instance_name.service (if using
nuxwdog watchdog
) - KRA の
CS.cfg
ファイルを開きます。vim /var/lib/pki/pki-tomcat/kra/conf/CS.cfg
- 2 つのリカバリースキームパラメーターを編集します。
kra.noOfRequiredRecoveryAgents=3 kra.recoveryAgentGroup=Key Recovery Authority Agents
- サービスを再起動します。
systemctl start pki-tomcatd@instance_name.service
またはsystemctl start pki-tomcatd-nuxwdog@instance_name.service
12.3.3. キーリカバリーフォームのカスタマイズ
confirmRecover.html
と呼ばれる /var/lib/pki/pki-tomcat/kra/webapps/kra/agent/kra/
ディレクトリーにあります。
第13章 ログの設定
13.1. 証明書システムログの設定
13.1.1. ログに記録されるサービス
サービス | 説明 |
---|---|
ACL | アクセス制御リストに関連するイベントをログに記録します。 |
管理 | コンソールとインスタンス間の HTTPS 通信など、管理アクティビティーに関連するイベントをログに記録します。 |
すべて | すべてのサービスに関連するイベントをログに記録します。 |
認証 | 認証モジュールに関連するアクティビティーに関連するイベントをログに記録します。 |
認証局 | Certificate Manager に関連するイベントをログに記録します。 |
データベース | 内部データベース関連のアクティビティーに関連するイベントをログに記録します。 |
HTTP |
サーバーの HTTP アクティビティーに関連するイベントをログに記録します。HTTP イベントは実際には、HTTP サービスを提供するために Certificate System に組み込まれる Apache サーバーに属するエラーログに記録されることに注意してください。
|
キーリカバリー認証局 | KRA に関連するイベントをログに記録します。 |
LDAP | 証明書と CRL の公開に使用される LDAP ディレクトリーを使用してアクティビティーに関連するイベントをログに記録します。 |
OCSP | OCSP ステータスの GET 要求など、OCSP に関連するイベントをログに記録します。 |
その他 | コマンドラインユーティリティーやその他のプロセスなどの他のアクティビティーに関連するイベントをログに記録します。 |
要求キュー | 要求キューアクティビティーに関連するイベントをログに記録します。 |
ユーザーおよびグループ | インスタンスのユーザーおよびグループに関連するイベントをログに記録します。 |
13.1.2. ログレベル (メッセージカテゴリー)
0
から 10
で表され、各番号はサーバーによって実行されるログのレベルを示します。このレベルは、ロギングの詳細を設定します。
ログレベル | メッセージカテゴリー | 説明 |
---|---|---|
0 | デバッグ | これらのメッセージにはデバッグ情報が含まれます。このレベルは、非常に多くの情報を生成するため、通常の使用には推奨されません。 |
1 | すべてのロギングレベル | このログレベルは、すべてのログレベルを有効にします。 |
2 | 警告 | これらのメッセージは警告のみであり、サーバーの通常の操作に障害があることを示すものではありません。 |
3 | 失敗 - システムおよびエラーログのデフォルト選択 | これらのメッセージは、証明書サービス操作の実行の失敗 (User authentication failed または Certificate revoked) や、取り消せないエラーを引き起こす可能性のある予期しない状況 (リクエストがクライアントからされた同じチャネルでクライアントに対して処理された要求を返信できない) など、サーバーが正常に動作することを妨げるエラーおよび障害を示します。 |
4 | 誤った設定 | これらのメッセージは、サーバーの設定が間違っていることが原因でエラーが発生していることを示します。 |
5 | 壊滅的な失敗 | これらのメッセージは、エラーにより、サービスの実行を継続できないことを示しています。 |
6 | セキュリティー関連のイベント | これらのメッセージは、サーバーのセキュリティーに影響する発生内容を特定します。たとえば、失効した証明書または一覧表示されていない証明書を使用してユーザーが試行する特権アクセス。 |
7 | PDU 関連イベント (デバッグ) | これらのメッセージには、PDU イベントのデバッグ情報が含まれます。このレベルは、通常より有用な情報を超える情報を生成するため、通常の使用には推奨していません。 |
8 | PDU 関連イベント | これらのメッセージは、MAC トークンの作成など、PDU で処理されるトランザクションおよびルールに関連するものです。 |
9 | PDU 関連イベント | このログレベルは、MAC トークンの作成など、PDU で処理されるイベントの詳細ログメッセージを提供します。 |
10 | 情報提供 (監査ログのデフォルト選択) | これらのメッセージは、Certificate System の初期化完了 や 成功した操作要求 などのステータスメッセージを含む、Certificate System の状態に関する一般的な情報を提供します。 |
13.1.3. バッファー付きおよびバッファーなしのロギング
- バッファーが満杯になった場合。バッファーサイズが bufferSize 設定パラメーターで指定された値以上になると、バッファーが満杯になります。このパラメーターのデフォルト値は 512 KB です。
- バッファーのフラッシュ間隔に到達した場合。最後のバッファーフラッシュからの経過時間、または flushInterval 設定パラメーターで指定された値と同じか大きい場合は、フラッシュ間隔に到達します。このパラメーターのデフォルト値は 5 秒です。
- 現在のログがコンソールから読み取られる場合。サーバーは現在のログについてクエリーされる際に最新のログを取得します。
13.1.4. ログファイルローテーション
- 対応するファイルのサイズ制限に到達した場合。対応するログファイルのサイズは、maxFileSize 設定パラメーターで指定された値以下である必要があります。このパラメーターのデフォルト値は 100 KB です。
- 対応するファイルの経過時間制限に到達した場合。対応するログファイルは、rolloverInterval 設定パラメーターで指定された間隔以上です。このパラメーターのデフォルト値は 2592000 秒 (30 日ごと) です。
log
ディレクトリー全体をアーカイブメディアにコピーして、これらのファイルを定期的に一部のバックアップメディアにアーカイブする必要があります。
13.2. オペレーティングシステム (RHCS の外部) のログ設定
13.2.1. OS レベルの監査ログの有効化
auditd
ロギングフレームワークは、多くの監査機能を提供します。これらの OS レベル監査ログは、Certificate System が提供する機能を補完します。本セクションの手順を実行する前に、audit
パッケージがインストールされていることを確認してください。
#
sudo yum install audit
yum
および rpm
を使用して、Certificate System を含む)システムパッケージの更新の監査が自動的に行われ、追加の設定は必要ありません。
# auditctl -l
13.2.1.1. 証明書システムの監査ログ削除の監査
/etc/audit/rules.d/rhcs-audit-log-deletion.rules
ファイルを作成します。
-a always,exit -F arch=b32 -S unlink -F dir=/var/log/pki -F key=rhcs_audit_deletion -a always,exit -F arch=b32 -S rename -F dir=/var/log/pki -F key=rhcs_audit_deletion -a always,exit -F arch=b32 -S rmdir -F dir=/var/log/pki -F key=rhcs_audit_deletion -a always,exit -F arch=b32 -S unlinkat -F dir=/var/log/pki -F key=rhcs_audit_deletion -a always,exit -F arch=b32 -S renameat -F dir=/var/log/pki -F key=rhcs_audit_deletion -a always,exit -F arch=b64 -S unlink -F dir=/var/log/pki -F key=rhcs_audit_deletion -a always,exit -F arch=b64 -S rename -F dir=/var/log/pki -F key=rhcs_audit_deletion -a always,exit -F arch=b64 -S rmdir -F dir=/var/log/pki -F key=rhcs_audit_deletion -a always,exit -F arch=b64 -S unlinkat -F dir=/var/log/pki -F key=rhcs_audit_deletion -a always,exit -F arch=b64 -S renameat -F dir=/var/log/pki -F key=rhcs_audit_deletion
auditd
を再起動します。
#
service auditd restart
13.2.1.2. 秘密鍵の使用が承認されていない Certificate System の監査
/etc/audit/rules.d/rhcs-audit-nssdb-access.rules
ファイルを作成します。
-w /etc/pki/<instance name>/alias -p warx -k rhcs_audit_nssdb
/etc/pki/<instance name>/alias
の各ファイル('<file>')について、以下の行を /etc/audit/rules.d/rhcs-audit-nssdb-access.rules
に追加します。
-w /etc/pki/<instance name>/alias/<file> -p warx -k rhcs_audit_nssdb
pki-ca121318ec
で、cert8.db、key3.db
、NHSM6000-OCScert8.db
、NHSM6000-OCSkey3.db、および secmod.db
がファイルである場合、設定ファイルには以下が含まれます。
-w /etc/pki/pki-ca121318ec/alias -p warx -k rhcs_audit_nssdb -w /etc/pki/pki-ca121318ec/alias/cert8.db -p warx -k rhcs_audit_nssdb -w /etc/pki/pki-ca121318ec/alias/key3.db -p warx -k rhcs_audit_nssdb -w /etc/pki/pki-ca121318ec/alias/NHSM6000-OCScert8.db -p warx -k rhcs_audit_nssdb -w /etc/pki/pki-ca121318ec/alias/NHSM6000-OCSkey3.db -p warx -k rhcs_audit_nssdb -w /etc/pki/pki-ca121318ec/alias/secmod.db -p warx -k rhcs_audit_nssdb
auditd
を再起動します。
#
service auditd restart
13.2.1.3. 時間変更イベントの監査
/etc/audit/rules.d/rhcs-audit-rhcs_audit_time_change.rules
ファイルを作成します。
-a always,exit -F arch=b32 -S adjtimex,settimeofday,stime -F key=rhcs_audit_time_change -a always,exit -F arch=b64 -S adjtimex,settimeofday -F key=rhcs_audit_time_change -a always,exit -F arch=b32 -S clock_settime -F a0=0x0 -F key=rhcs_audit_time_change -a always,exit -F arch=b64 -S clock_settime -F a0=0x0 -F key=rhcs_audit_time_change -a always,exit -F arch=b32 -S clock_adjtime -F key=rhcs_audit_time_change -a always,exit -F arch=b64 -S clock_adjtime -F key=rhcs_audit_time_change -w /etc/localtime -p wa -k rhcs_audit_time_change
auditd
を再起動します。
#
service auditd restart
13.2.1.4. 証明書システム設定へのアクセスの監査
/etc/audit/rules.d/rhcs-audit-config-access.rules
ファイルを作成します。
-w /etc/pki/instance_name/server.xml -p wax -k rhcs_audit_config
/etc/pki/instance_name/
ディレクトリーの各サブシステムに以下の内容を追加します。
-w /etc/pki/instance_name/subsystem/CS.cfg -p wax -k rhcs_audit_config
例13.1 rhcs-audit-config-access.rules 設定ファイル
/etc/audit/rules.d/rhcs-audit-config-access.rules
ファイルには以下が含まれます。
-w /etc/pki/pki-ca121318ec/server.xml -p wax -k rhcs_audit_config -w /etc/pki/pki-ca121318ec/ca/CS.cfg -p wax -k rhcs_audit_config
13.3. CS.cfg ファイルでのログの設定
CS.cfg
を直接編集してロギングを設定できます。
- サブシステムインスタンスを停止します。
systemctl stop pki-tomcatd-nuxwdog@instance_name.service
/var/lib/pki/instance_name/subsystem_name/conf/
ディレクトリーのCS.cfg
ファイルを開きます。- 新しいログを作成するには、システムまたはトランザクションログのすべてのエントリーをコピーします。これらは、log.instance.Transactions または log.instance.System で始まるパラメーターです。ロギングセクションの下部にすべてのエントリーを貼り付け、各パラメーターの単語 Transactions または System を新しい名前に変更して、このインスタンスの名前を変更します。
- ログインスタンスを設定するには、そのログに関連付けられたパラメーターを変更します。これらのパラメーターは log.instance で始まります。
表13.3 ログエントリーパラメーター パラメーター 説明 type ログファイルのタイプ。システム はエラーおよびシステムログを作成します。トランザクション は監査ログを記録します。 enable ログがアクティブかどうかを設定します。有効にするログのみがイベントを記録します。 level テキストフィールドにログレベルを設定します。このレベルは、フィールドに手動で入力する必要があります。選択メニューはありません。ログレベル設定は、「ログレベル (メッセージカテゴリー)」に記載されている数値です。 fileName ログファイルへのファイル名を含む完全パス。サブシステムユーザーには、ファイルへの読み書きパーミッションがなければなりません。 bufferSize ログのキロバイトサイズ (KB) のバッファーサイズ。バッファーがこのサイズに達すると、バッファーの内容はフラッシュされ、ログファイルにコピーされます。デフォルトのサイズは 512 KB です。バッファーロギングの詳細は、「バッファー付きおよびバッファーなしのロギング」 を参照してください。 flushInterval バッファーの内容がフラッシュされてログファイルに追加されるまでの時間 (秒単位)。デフォルトの間隔は 5 秒です。 maxFileSize ローテーションされる前に可能なログファイルのサイズをキロバイト (KB) 単位で設定できます。このサイズに達すると、ファイルはローテーションファイルにコピーされ、ログファイルが新たに開始されます。ログファイルのローテーションに関する詳細は、「ログファイルローテーション」を参照してください。デフォルトのサイズは 2000 KB です。 rolloverInterval サーバーがアクティブなログファイルをローテーションする頻度。利用可能な選択肢は hourly、daily、weekly、monthly、および yearly です。デフォルトの選択は monthly です。詳細は、「ログファイルローテーション」を参照してください。 register[a] この変数が false (デフォルト値)に設定されている場合、セルフテストのメッセージは、selftests.container.logger.fileName で指定されたログファイルにのみログに記録されます。この変数が true に設定されている場合、セルフテストのメッセージは、selftests.container.logger.fileName で指定されたログファイルと、 log.
instance.Transactions.
fileName で指定されたログファイルの両方に書き込まれます。logSigning[b] 署名付きロギングを有効にします。このパラメーターが有効な場合は、signedAuditCertNickname パラメーターの値を指定します。このオプションは、監査人だけがログを表示できることを意味します。値は true または false です。 signedAuditCertNickname[b] 監査ログの署名に使用される証明書のニックネーム。この証明書の秘密鍵は、ログに署名するためにサブシステムからアクセスできる必要があります。 イベント[b] 監査ログにログを記録するイベントを指定します。ログイベントは、空白のないコンマで区切ります。 [a] これは自己テスト用のログのみに使用されます。[b] これは監査ログのみになります。 - ファイルを保存します。
- サブシステムインスタンスを開始します。
systemctl start pki-tomcatd@instance_name.service
またはsystemctl start pki-tomcatd-nuxwdog@instance_name.service (if using
nuxwdog watchdog
)
13.3.1. 署名監査ログの有効化および設定
13.3.1.1. 署名監査ログの有効化
# pki-server subsystem-audit-config-show Enabled: True Log File: audit_signing_log_file Buffer Size (bytes): 512 Flush Interval (seconds): 5 Max File Size (bytes): 2000 Rollover Interval (seconds): 2592000 Expiration Time (seconds): 0 Log Signing: False Signing Certificate: audit_signing_certificate
pki-server
ユーティリティーを使用して、--logSigning
オプションを true に設定します。# pki-server subsystem-audit-config-mod --logSigning True ... Log Signing: True ...
- インスタンスを再起動します。
# systemctl restart pki-tomcatd@instance_name.service
またはsystemctl start pki-tomcatd-nuxwdog@instance_name.service (if using
nuxwdog watchdog
)
13.3.1.2. 監査イベントの設定
13.3.1.2.1. 監査イベントの有効化および無効化
13.3.1.2.2. 監査イベントのフィルタリング
タイプ | 形式 | 例 |
---|---|---|
Presence | (attribute=*) | (ReqID=*) |
Equality | (attribute=value) | (Outcome=Failure) |
Substring | (attribute=initial*any*...*any*final) | (SubjectID=*admin*) |
AND 演算 | (&(filter_1)(filter_2)...(filter_n)) | (&(SubjectID=admin)(Outcome=Failure)) |
OR 演算 | (|(filter_1)(filter_2)...(filter_n)) | (|(SubjectID=admin)(Outcome=Failure)) |
NOT 演算 | (!(filter)) | (!(SubjectID=admin)) |
例13.2 監査イベントのフィルタリング
$ pki-server ca-audit-event-show PROFILE_CERT_REQUEST Event Name: PROFILE_CERT_REQUEST Enabled: True Filter: None $ pki-server ca-audit-event-show CERT_REQUEST_PROCESSED Event Name: CERT_REQUEST_PROCESSED Enabled: True Filter: None
InfoName
フィールドが rejectReason または cancelReason に設定されている処理済み証明書要求のイベントと、プロファイル証明書要求およびイベントの失敗したイベントのみをログに記録するには、以下を実行します。
- 以下のコマンドを実行します。
$ pki-server ca-audit-event-update PROFILE_CERT_REQUEST --filter "(Outcome=Failure)" ... Filter: (Outcome=Failure) $ pki-server ca-audit-event-update CERT_REQUEST_PROCESSED --filter "(|(InfoName=rejectReason)(InfoName=cancelReason))" ... Filter: (|(InfoName=rejectReason)(InfoName=cancelReason))
- Certificate System を再起動します。
# systemctl restart pki-tomcatd@instance_name.service
またはsystemctl start pki-tomcatd-nuxwdog@instance_name.service (if using
nuxwdog watchdog
)
13.3.2. セルフテストの設定
CS.cfg
ファイルで登録され、設定されます。セルフテストが有効になっている場合、そのセルフテストはオンデマンドまたは起動に対して一覧表示され、空であるか、または クリティカル として設定されます。
CS.cfg
ファイルのそれぞれの設定を変更することで変更されます。
13.3.2.1. 起動時のデフォルトのセルフテスト
- CAPresence: CA サブシステムが存在することを確認するために使用されます。
- CAValidity: CA サブシステムが現在有効であり、期限切れでないことを確認するために使用されます。これには、CA 証明書の有効期限を確認する必要があります。
- SystemCertsVerification: システム証明書が現在有効であり、有効期限が切れていないか、または取り消されていないことを確認するために使用されます。CA サブシステムの場合は、各証明書の有効性テストのみが実行され、OCSP 要求が発生する可能性のある証明書検証テストは除外されます。この動作は、以下の設定パラメーターで上書きできます。
selftests.plugin.SystemCertsVerification.FullCAandOCSPVerify=true
デフォルトでは、この設定パラメーターが存在しない場合は false と見なされます。
- KRAPresence: KRA サブシステムが存在することを確認するために使用されます。
- KRAValidity: KRA サブシステムが現在有効であり、期限切れでないことを確認するために使用されます。これには、KRA 証明書の有効期限を確認する必要があります。
- SystemCertsVerification: システム証明書が現在有効であり、有効期限が切れていないか、または取り消されていないことを確認するために使用されます。
- OCSPPresence: OCSP サブシステムが存在することを確認するために使用されます。
- OCSPValidity: OCSP サブシステムが現在有効であり、期限切れでないことを確認するために使用されます。これには、OCSP 証明書の有効期限を確認する必要があります。
- SystemCertsVerification: システム証明書が現在有効であり、有効期限が切れていないか、または取り消されていないことを確認するために使用されます。OCSP サブシステムの場合は、各証明書の有効性テストのみが実行され、OCSP 要求が発生する可能性のある証明書検証テストは除外されます。この動作は、以下の設定パラメーターで上書きできます。
selftests.plugin.SystemCertsVerification.FullCAandOCSPVerify=true
デフォルトでは、この設定パラメーターが存在しない場合は false と見なされます。
- TKSKnownSessionKey: TKS サブシステムの既知のセッションキーを確認するために使用されます。これにより、TKS は、TPS およびサポート対象のスマートカードの代わりに鍵の作成を適切に支援できます。
- SystemCertsVerification: システム証明書が現在有効であり、有効期限が切れていないか、または取り消されていないことを確認するために使用されます。
- TPSPresence: TPS サブシステムが存在することを確認するために使用されます。
- TPSValidity: TPS サブシステムが現在有効であり、期限切れでないことを確認するために使用されます。これには、TPS 証明書の有効期限を確認する必要があります。
- SystemCertsVerification: システム証明書が現在有効であり、有効期限が切れていないか、または取り消されていないことを確認するために使用されます。
13.3.2.2. セルフテスト設定の変更
- サブシステムインスタンスを停止します。
- インスタンスの
conf/
ディレクトリーにあるCS.cfg
ファイルを開きます。 - セルフテストログの設定を編集するには、selftests.container.logger で始まるエントリーを編集します。指定のない限り、これらのパラメーターはコンプライアンスには影響しません。これには、以下のパラメーターが含まれます。
- bufferSize: ログのバッファーサイズをキロバイト単位 (KB) で指定します。デフォルトのサイズは 512 KB です。バッファーがこのサイズに達すると、バッファーの内容はフラッシュされ、ログファイルにコピーされます。
- enable: 有効にするには true を指定します。有効にするログのみがイベントを記録します。この値は、コンプライアンスのために有効にする 必要 があります。
- filename: ファイル名を含む、メッセージを書き込むファイルの完全パスを指定します。サーバーに、ファイルへの読み取り/書き込み権限が必要です。デフォルトでは、セルフテストのログファイルは
/var/lib/pki/instance_name/logs/subsystem_type/selftests.log
です。 - flushInterval: バッファーをファイルにフラッシュする間隔を秒単位で指定します。デフォルトの間隔は 5 秒です。flushInterval は、バッファーの内容がフラッシュされてログファイルに追加されるまでの時間です。
- level: デフォルトの選択は 1 です。このログは、1 以外のレベルでは設定されません。
- maxFileSize: エラーログのファイルサイズをキロバイト単位 (KB) で指定します。デフォルトのサイズは 100 KB です。maxFileSize は、ログファイルがローテーションされるまでのサイズを決定します。このサイズに達すると、ファイルはローテーションファイルにコピーされ、新しいログファイルが起動します。
- register: この変数が false (デフォルト値)に設定されている場合、セルフテストのメッセージは、selftests.container.logger.fileName で指定されたログファイルにのみログに記録されます。この変数が true に設定されている場合、セルフテストのメッセージは selftests.container.logger.fileName で指定されたログファイルと log.instance.Transactions.fileName で指定されたログファイルの両方に書き込まれます。
- rolloverInterval: アクティブなエラーログファイルをサーバーがローテーションする頻度を指定します。選択肢は hourly、daily、weekly、monthly、および yearly です。デフォルトの選択は monthly です。
- type: transaction に設定します。これは変更しないでください。
- セルフテストを実行する順序を編集するには、コンマとスペースで区切った次のパラメーターの値としてセルフテストのいずれかをリストすることにより、順序を指定します。セルフテストをクリティカルとしてマークするには、リスト内のセルフテストの名前にコロンとクリティカルという単語を追加します。セルフテストを無効にするには、selftests.container.order.onDemand または selftests.container.order.startup パラメーターの値として削除します。
- ファイルを保存します。
- サブシステムを起動します。
13.3.3. デバッグログの追加設定
13.3.3.1. デバッグログの有効化および無効化
/var/lib/pki/instance_name/サブシステム/conf/CS.cfg
ファイルを編集し、debug.enabled
パラメーターを設定します。- デバッグのロギングを無効にするには、以下を設定します。
debug.enabled=false
注記デバッグログは監査ロギングの一部では ありません。デバッグログは、Certificate System で特定の障害をデバッグする場合や、インストールの失敗時に便利です。デフォルトで、デバッグログは有効です。望ましい場合には、管理者はデバッグロギングを安全に無効にして詳細度を下げることができます。 - デバッグロギングを有効にするには、以下を実行します。
debug.enabled=true
- Certificate System インスタンスを再起動します。
# systemctl restart pki-tomcatd@instance-name.service
または# systemctl restart pki-tomcatd-nuxwdog@instance-name.service (if using
nuxwdog watchdog
)
13.3.3.2. デバッグログファイルのローテーション設定
logrotate
などの外部ユーティリティーを使用してログをローテーションします。
例13.3 logrotate
を使用したデバッグログのローテーション
/etc/logrotate.d/rhcs_debug
などの設定ファイルを作成します。
/var/log/pki/instance_name/subsystem/debug { copytruncate weekly rotate 5 notifempty missingok }
/var/log/pki/instance_name/ca/debug /var/log/pki/instance_name/kra/debug { ... }
logrotate
と、この例で使用されているパラメーターの詳細は、logrotate(8) の man ページを参照してください。
13.4. 監査の保持
- 拡張監査保持: 証明書の存続期間 (発行から有効期限または失効日まで) の必要な保守のために保持される監査データ。Certificate System の場合は、以下の項目に表示されます。
- 署名された監査ログ: Red Hat Certificate System 管理ガイドの付録 E. 監査イベントで定義されているすべてのイベント。
- CA の内部 LDAP サーバーでは、CA が受け取った証明書要求レコードと、要求が承認されたときの証明書レコード。
- 通常の監査保持: 通常は、通常の操作をサポートするためにのみ保持される監査データ。これには、拡張された監査保持 カテゴリーに記載されないすべてのイベントが含まれます。
13.4.1. 監査データの場所
13.4.1.1. 監査ログの場所
/var/lib/pki/instance_name/subsystem_type/logs/signedAudit/
ディレクトリーに保存します。たとえば、CA の監査ログは /var/lib/pki/instance_name/ca/logs/signedAudit/
ディレクトリーに保存されます。通常ユーザーは、このディレクトリー内のファイルにアクセスできません。
を参照してください。
13.4.1.2. 証明書要求および証明書レコードの場所
pkispawn
ユーティリティーを使用して CA が作成されると、以下のパラメーターに指定されていました。
pki_ds_hostname
pki_ds_ldap_port
pki_ds_database
pki_ds_base_dn
- https://host_name:port/ca/ee/ca/ で CA EE ポータルにログインします。
- Request Identifier を入力します。
- Validity を検索します。
- https://host_name:port/ca/ee/ca/ で CA EE ポータルにログインします。
- シリアル番号の範囲を入力します。1 つの特定のレコードを検索する場合は、レコードのシリアル番号を最小値と最大値の両方を、シリアル番号フィールドに入力します。
- 検索結果をクリックします。
- Validity を検索します。
第14章 ロールユーザーの作成
- オペレーティングシステム上での Certificate System の管理ユーザーの作成
- Certificate System での PKI ロールの作成
14.1. オペレーティングシステムでの PKI 管理ユーザーの作成
- オペレーティングシステムに
pkiadmin
グループを作成します。# groupadd -r pkiadmin
pkiadmin
グループにpkiuser
を追加します。# usermod -a -G pkiadmin pkiuser
- オペレーティングシステムでユーザーを作成します。たとえば、
jsmith
アカウントを作成するには、以下を実行します。# useradd -g pkiadmin -d /home/jsmith -s /bin/bash -c "Red Hat Certificate System Administrator John Smith" -m jsmith
詳細は、useradd(8) の man ページを参照してください。 - ユーザー
jsmith
をpkiadmin
グループに追加します。# usermod -a -G pkiadmin jsmith
詳細は、usermod(8) の man ページを参照してください。nCipher ハードウェアセキュリティーモジュール(HSM)を使用している場合は、HSM デバイスを管理するユーザーをnfast
グループに追加します。# usermod -a -G nfast pkiuser # usermod -a -G nfast jsmith
- 適切な
sudo
ルールを追加して、pkiadmin
グループを Certificate System およびその他のシステムサービスに許可します。管理とセキュリティーの両方を簡素化するために、Certificate System と Directory Server のプロセスを設定して、(root だけでなく) PKI 管理者がサービスを開始および停止できるようにすることができます。サブシステムを設定する際にpkiadmin
システムグループの使用が推奨されるオプションです。(詳細は 「Certificate System のオペレーティングシステムのユーザーおよびグループ」です)。Certificate System 管理者であるすべてのオペレーティングシステムユーザーがこのグループに追加されます。pkiadmin
のシステムグループが存在する場合は、特定のタスクを実行するための sudo アクセスを付与することができます。/etc/sudoers
ファイルを編集します。Red Hat Enterprise Linux では、visudo コマンドを使用して実行できます。# visudo
- マシンにインストールされているものに応じて、Directory Server、Administration Server、PKI 管理ツール、および各 PKI サブシステムインスタンスの行を追加して、pkiadmin グループに sudo 権限を付与します。
# For Directory Server services %pkiadmin ALL = PASSWD: /usr/bin/systemctl * dirsrv.target %pkiadmin ALL = PASSWD: /usr/bin/systemctl * dirsrv-admin.service # For PKI instance management %pkiadmin ALL = PASSWD: /usr/sbin/pkispawn * %pkiadmin ALL = PASSWD: /usr/sbin/pkidestroy * # For PKI instance services %pkiadmin ALL = PASSWD: /usr/bin/systemctl * pki-tomcatd@instance_name.service
重要マシン上のすべての Certificate System、Directory Server、および Administration Server に対して、またマシン上のそれらのインスタンスに対して のみ、sudo パーミッションを設定してください。マシンに同じサブシステムタイプのインスタンスが複数存在する場合と、サブシステムタイプのインスタンスが存在しない場合があります。これはデプロイメントによって異なります。 - 以下のファイルのグループを
pkiadmin
に設定します。# chgrp pkiadmin /etc/pki/instance_name/server.xml # chgrp -R pkiadmin /etc/pki/instance_name/alias # chgrp pkiadmin /etc/pki/instance_name/subsystem/CS.cfg # chgrp pkiadmin /var/log/pki/instance_name/subsystem/debug
14.2. 証明書システムでの PKI ロールユーザーの作成
第15章 Bootstrap ユーザーの削除
15.1. マルチロールサポートの無効化
multirole
属性を無効にします。
- サーバーを停止します。
systemctl stop pki-tomcatd@instance_name.service
またはsystemctl stop pki-tomcatd-nuxwdog@instance_name.service (if using
nuxwdog watchdog
) CS.cfg
ファイルを開きます。vim /var/lib/pki/instance_name/ca/conf/CS.cfg
multiroles.enable
パラメーターの値を true から false に変更します。- マルチロール設定に影響のある Certificate System のデフォルトロール一覧を追加または編集します。複数のロールが無効になっており、ユーザーが
multiroles.false.groupEnforceList
パラメーターににリストされているロールの 1 つ に属している場合、ユーザーはリスト内の他のロールのグループに追加することができません。multiroles.false.groupEnforceList
=Administrators,Auditors,Trusted Managers,Certificate Manager Agents,Registration Manager Agents,Key Recovery Authority Agents,Online Certificate Status Manager Agents,Token Key Service Manager Agents,Enterprise CA Administrators,Enterprise KRA Adminstrators,Enterprise OCSP Administrators,Enterprise TKS Administrators,Enterprise TPS Administrators,Security Domain Administrators,Subsystem Group - サービスを再起動します。
systemctl start pki-tomcatd@instance_name.service
またはsystemctl start pki-tomcatd-nuxwdog@instance_name.service (if using
nuxwdog watchdog
)
パート IV. 証明書システムサブシステムのアンインストール
第16章 サブシステムの削除
pkidestroy -s subsystem_type -i instance_name
-s
オプションは、削除するサブシステムを指定します (CA、KRA、OCSP、TKS、または TPS など)。-i
オプションは、pki-tomcat
などのインスタンス名を指定します。
例16.1 CA サブシステムの削除
$ pkidestroy -s CA -i pki-tomcat Loading deployment configuration from /var/lib/pki/pki-tomcat/ca/registry/ca/deployment.cfg. Uninstalling CA from /var/lib/pki/pki-tomcat. Removed symlink /etc/systemd/system/multi-user.target.wants/pki-tomcatd.target. Uninstallation complete.
pkidestroy
ユーティリティーは、サブシステムと、証明書データベース、証明書、キー、関連ユーザーなどの関連ファイルを削除します。サブシステムパッケージをアンインストールしません。サブシステムがサーバーインスタンスの最後のサブシステムである場合は、サーバーインスタンスも削除されます。
第17章 Certificate System のサブシステムパッケージの削除
yum
などのパッケージ管理ツールを使用して、各パッケージを個別に削除する必要があります。
- 関連するサブシステムをすべて削除します。以下に例を示します。
pkidestroy -s CA -i pki-tomcat
- uninstall ユーティリティーを実行します。以下に例を示します。
yum remove pki-subsystem_type
サブシステムタイプは、ca
、kra
、ocsp
、tks
、またはtps
です。 - その他のパッケージおよび依存関係を削除するには、
yum
を使用して、具体的にパッケージを削除します。インストールされているパッケージの完全なリストは、「Certificate System パッケージ」 を参照してください。
用語集
A
- administrator
- 1 つ以上の Certificate System マネージャーをインストールおよび設定し、それらの特権ユーザーまたはエージェントをセットアップする人。agent も併せて参照してください。
- agent
- Certificate System マネージャーで agent services の管理を許可されたグループに属するユーザー。Certificate Manager エージェント、キーリカバリー認証局エージェントも併せて参照してください。
- agent services
- 1.Certificate System agent で管理できるサービスは、エージェントに必要な特権が割り当てられている Certificate System サブシステムによって提供される HTML ページを介して行います。2.このようなサービスを管理するための HTML ページ。
- agent-approved enrollment
- 証明書の発行前に、エージェントによる要求を承認するのに必要な登録。
- APDU
- アプリケーションプロトコルデータユニット。スマートカードとスマートカードリーダーとの間の通信に使用される通信ユニット (バイトに類似)。
- auditor
- 署名付き監査ログを表示できる特権ユーザー。
- アクセス制御
- 特定ユーザーが実行できるものを制御するプロセス。たとえば、サーバーへのアクセス制御は通常、パスワードまたは証明書によって確立された ID と、そのエンティティーが実行できることに関するルールに基づいています。アクセス制御リスト (ACL) も参照してください。
- アクセス制御リスト (ACL)
- サーバーが特定のリソースへのアクセス要求を受け取ったときに評価されるアクセスルールの階層を定義するアクセス制御エントリーのコレクション。アクセス制御手順 (ACI) を参照してください。
- アクセス制御手順 (ACI)
- アクセスを要求するサブジェクトを識別する方法、または特定のサブジェクトに対して許可または拒否される権限を指定するアクセスルール。アクセス制御リスト (ACL) を参照してください。
- 属性値アサーション (AVA)
- attribute = value 形式のアサーション。attribute は o (組織)または uid (ユーザー ID)などのタグで、value は Red Hat, Inc. やログイン名などの値です。AVA は、証明書の subject name と呼ばれる、証明書の賢明を識別する 識別名 (DN) を形成するために使用されます。
- 監査ログ
- さまざまなシステムイベントを記録するログこのログは署名して、改ざんされなかった証明を提供でき、auditor ユーザーのみが読み取りできます。
- 自動登録
- 人の介入なしに、エンドエンティティー登録の自動認証を可能にする Certificate System サブシステムを設定する方法。この形式の認証では、認証モジュールの処理を正常に完了した証明書要求が、プロファイル処理と証明書の発行に対して自動的に承認されます。
- 認可
- サーバーが制御するリソースにアクセスするパーミッション。承認は通常、リソースに関連付けられた ACL がサーバーによって評価された後に行われます。アクセス制御リスト (ACL) を参照してください。
- 認証
- 自信を持って識別すること。コンピューター化された送信の当事者が偽者ではないことを保証すること。認証には通常、パスワード、証明書、PIN、またはその他の情報を使用して、コンピューターネットワーク上で ID を検証することが含まれます。パスワードベースの認証、証明書ベースの認証、クライアント認証、サーバー認証 も参照してください。
- 認証モジュール
- ルールのセット (として実装されますJava™クラス) エンドエンティティー、エージェント、管理者、または Certificate System サブシステムと対話する必要があるその他のエンティティーを認証するため。通常のエンドユーザー登録の場合は、ユーザーが登録フォームで要求された情報を入力した後、登録サーブレットはそのフォームに関連付けられた認証モジュールを使用して情報を検証し、ユーザーの ID を認証します。servlet を参照してください。
- 高度暗号化標準 (AES)
- Advanced Encryption Standard (AES) は、その前身の Data Encryption Standard (DES) と同様に、FIPS 承認の対称鍵暗号化標準です。AES は 2002 年に米国政府によって採用されました。AES-128、AES-192、および AES-256 の 3 つのブロック暗号を定義します。NIST (National Institute of Standards and Technology) は、米国で AES 標準を定義しています。FIPS PUB 197。詳細は、http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf を参照してください。
B
- bind DN
- Red Hat Directory Server への認証にパスワードとともに使用される識別名 (DN) の形式のユーザー ID。
C
- CA サーバーキー
- CA サービスを提供するサーバーの TLS サーバーキー。
- CA 署名鍵
- CA 証明書の公開鍵に対応する秘密鍵。CA は、その署名キーを使用して証明書および CRL に署名します。
- CA 証明書
- CA 階層
- ルート CA が下位 CA に証明書を発行する権限を委任する CA の階層。下位 CA は、発行ステータスを他の CA に委譲して階層を拡張することもできます。認証局 (CA)、subordinate CA、root CA も参照してください。
- certificate
- X.509 標準に準拠してフォーマットされたデジタルデータで、個人、会社などのエンティティー名 (証明書の subject name) を指定し、証明書に含まれる 公開鍵 もそのエンティティーに属することを証明するもの。証明書は発行され、認証局 (CA) により署名されます。証明書の有効性は、public-key cryptography の手法で CA の デジタル署名 を確認して検証できます。公開鍵インフラストラクチャー (PKI) 内で信頼されるために、証明書は、PKI に登録されているその他のエンティティーによって信頼されている CA により発行および署名される必要があります。
- Certificate Manager
- 認証局として機能する独立した Certificate System サブシステム。Certificate Manager インスタンスは、証明書を発行、更新、および取り消します。証明書は、CRL とともに LDAP ディレクトリーに公開できます。エンドエンティティーからのリクエストを受け入れます。認証局 (CA) を参照してください。
- Certificate Manager エージェント
- Certificate Manager のエージェントサービスの管理が許可されているグループに所属するユーザーです。これらのサービスには、証明書要求にアクセスして変更 (承認および拒否) し、証明書を発行する機能が含まれています。
- Certificate Request Message Format (CRMF)
- X.509 証明書の管理に関連するメッセージに使用される形式。この形式は CMMF のサブセットです。証明書管理メッセージ形式 (CMMF) も参照してください。詳細は、http://www.ietf.org/rfc/rfc2511.txt を参照してください。
- Certificate System
- Red Hat Certificate System、暗号化メッセージ構文 (CS) を参照してください。
- Certificate System コンソール
- 1 つの Certificate System インスタンスで開くことができるコンソール。Certificate System コンソールを使用すると、Certificate System 管理者は、対応する Certificate System インスタンスの設定設定を制御できます。
- Certificate System サブシステム
- 5 つの Certificate System マネージャーの 1 つ: Certificate Manager、オンライン証明書ステータスマネージャー、キーリカバリー認証局、トークンキーサービス、またはトークン処理システム。
- chained CA
- リンクされた CA を参照してください。
- cipher
- cryptographic algorithm を参照してください。
- CMC
- 暗号化メッセージ構文 (CMC) を介した証明書管理メッセージ を参照してください。
- CMC 登録
- 署名された登録または署名された失効要求のいずれかを、エージェントの署名証明書を使用して Certificate Manager に送信できるようにする機能。これらの要求は Certificate Manager によって自動的に処理されます。
- CMMF
- 証明書管理メッセージ形式 (CMMF)を参照してください。
- CRL
- 証明書失効リスト (CRL) を参照してください。
- CRMF
- Certificate Request Message Format (CRMF) を参照してください。
- cross-certification
- 異なる証明書階層またはチェーン内の 2 つの CA による証明書交換クロス認定は、両方の階層に対応できるように信頼チェーンを拡張します。認証局 (CA) も参照してください。
- cryptographic algorithm
- 暗号化 や decryption などの暗号化操作を実行するために使用される一連のルールまたは方向。
- cryptographic module
- PKCS #11 モジュール を参照してください。
- CSP
- 暗号化サービスプロバイダー (CSP) を参照してください。
- クライアント TLS 証明書
- TLS プロトコルを使用してサーバーにクライアントを識別するために使用する証明書。Transport Layer Security (TLS)を参照してください。
- クライアント認証
- ペア間の証明書
- ある CA から別の CA に発行され、信頼の輪を形成するために両方の CA によって保存される証明書。2 つの CA は相互に証明書を発行し、両方のクロスペア証明書を証明書ペアとして格納します。
- 信頼チェーン
- 証明書チェーン を参照してください。
- 共通基準
- ソフトウェアとハードウェアの両方のコンポーネントについて、コンピューターのセキュリティーを評価する認定基準。ソフトウェアまたはハードウェアのベンダーは、動作環境と指定された設定を定義し、脅威を特定し、評価対象 (評価対象) の開発プロセスと展開プロセスの両方を概説します。次に、Common Criteria 認定ラボは、実装設計をテストして脆弱性を探します。
- 暗号化サービスプロバイダー (CSP)
- PKCS #11 で定義されているような標準インターフェイスを使用してそのようなサービスを要求するソフトウェアに代わって、キー生成、キーストレージ、暗号化などの暗号化サービスを実行する暗号化モジュール。
- 暗号化メッセージ構文 (CMC) を介した証明書管理メッセージ
- Certificate Manager への証明書の要求を伝えるために使用するメッセージ形式。Internet Engineering Task Force (IETF) PKIX の作業グループから提案された標準。詳細は、https://tools.ietf.org/html/draft-ietf-pkix-cmc-02 を参照してください。
- 暗号化メッセージ構文 (CS)
- CMMF などの任意のメッセージにデジタル署名、ダイジェスト、認証、または暗号化するために使用される構文。
- 証明書のフィンガープリント
- 証明書に関連付けられた one-way hash。番号は証明書自体の一部ではありませんが、証明書の内容にハッシュ関数を適用することによって生成されます。証明書の内容が 1 文字でも変更されると、同じ関数で異なる番号が生成されます。したがって、証明書のフィンガープリントを使用して、証明書が改ざんされていないことを確認できます。
- 証明書の拡張
- X.509 v3 証明書には、証明書に任意の数の追加フィールドを追加できる拡張フィールドが含まれています。証明書拡張機能は、代替サブジェクト名や使用制限などの情報を証明書に追加する方法を提供します。PKIX ワーキンググループによって、いくつかの標準拡張機能が定義されています。
- 証明書チェーン
- 証明書プロファイル
- 特定のタイプの登録を定義する一連の設定設定。証明書プロファイルは、証明書プロファイルの認証方法とともに、特定のタイプの登録のポリシーを設定します。
- 証明書ベースの認証
- 証明書および公開鍵暗号に基づく認証。パスワードベースの認証 も参照してください。
- 証明書失効リスト (CRL)
- X.509 標準で定義されているように、認証局 (CA) により生成され署名されたシリアル番号ごとに取り消された証明書のリスト。
- 証明書管理メッセージ形式 (CMMF)
- エンドエンティティーから Certificate Manager に証明書要求と失効要求を伝達し、エンドエンティティーにさまざまな情報を送信するために使用されるメッセージ形式。Internet Engineering Task Force (IETF) PKIX の作業グループから提案された標準。CMMF は、別の提案された標準 暗号化メッセージ構文 (CMC) を介した証明書管理メッセージ に含まれています。詳細は、https://tools.ietf.org/html/draft-ietf-pkix-cmmf-02 を参照してください。
- 認証局 (CA)
- 証明書が特定を意図している個人またはエンティティーの身元を検証した後、certificate を発行する信頼されたエンティティー。CA は証明書を更新し、取り消し、CRL を生成します。証明書の発行者フィールドで指定されたエンティティーは、常に CA です。認証局は、独立したサードパーティー、または Red Hat Certificate System などの証明書発行サーバーソフトウェアを使用する個人または組織にすることができます。
D
- decryption
- 暗号化されたデータのスクランブル解除。暗号化 を参照してください。
- digital ID
- certificate を参照してください。
- キーリカバリー認証局
- エンドエンティティーの RSA 暗号化キーの長期アーカイブとリカバリーを管理する任意の独立した Certificate System サブシステム。Certificate Manager は、新しい証明書を発行する前に、キーリカバリー機関を使用してエンドエンティティーの暗号化キーをアーカイブするように設定できます。キーリカバリー機関は、エンドエンティティーが機密性の高い電子メールなど、組織がいつかリカバリーする必要のあるデータを暗号化している場合にのみ役立ちます。デュアルキーペアをサポートするエンドエンティティーでのみ使用できます。2 つの個別のキーペアで、1 つは暗号化用、もう 1 つはデジタル署名用です。
- キーリカバリー認証局のストレージキー
- キーリカバリー機関の秘密トランスポートキーで復号された後、エンドエンティティーの暗号化キーを暗号化するためにキーリカバリー機関によって使用される特別なキー。ストレージキーがキーリカバリー機関を離れることはありません。
- キーリカバリー認証局のトランスポート証明書
- エンドエンティティーがキーリカバリー機関に転送するためにエンティティーの暗号化キーを暗号化するために使用する公開キーを認証します。キーリカバリー機関は、認証された公開鍵に対応する秘密鍵を使用して、ストレージ鍵で暗号化する前に、エンドエンティティーの鍵を復号します。
- キーリカバリー認証局エージェント
- 要求キューの管理や HTML ベースの管理ページを使用したリカバリー操作の許可など、キーリカバリー機関のエージェントサービスの管理を許可されたグループに属するユーザー。
- キーリカバリー認証局リカバリーエージェント
- キーリカバリー認証局 のストレージキーの一部を所有している m of n 人の 1 人。
- デジタル署名
- デジタル署名を作成するため、署名ソフトウェアは最初に、新しく発行された証明書など、署名するデータから one-way hash を作成します。次に、一方向ハッシュは署名者の秘密鍵で暗号化されます。作成されるデジタル署名は、署名されるデータごとに一意になります。1 つのコンマがメッセージに追加されていても、そのメッセージのデジタル署名が変更されます。署名者の公開鍵を使用したデジタル署名の復号に成功し、同じデータの別のハッシュと比較することで、改ざんの検出 が可能になります。公開鍵を含む証明書の 証明書チェーン の検証により、署名側の認証が提供されます。nonrepudiation、暗号化も参照してください。
- デュアルキーペア
- 2 つの個別の証明書に対応する、2 つの公開鍵と秘密鍵のペア (合計 4 つの鍵)。一方のペアの秘密鍵は署名操作に使用され、もう一方のペアの公開鍵と秘密鍵は暗号化および復号操作に使用されます。各ペアは個別の certificate に対応します。暗号化、public-key cryptography、署名鍵 も参照してください。
- デルタ CRL
- 最後の完全な CRL が発行されてから取り消された証明書の一覧を含む CRL。
- 分散ポイント
- 証明書セットを定義するのに CRL に使用されます。各ディストリビューションポイントは、発行する証明書のセットにより定義されます。CRL は、特定のディストリビューションポイント用に作成できます。
- 識別名 (DN)
- 証明書の件名を特定する一連の AVA。属性値アサーション (AVA) を参照してください。
E
- eavesdropping
- 情報が意図されていないエンティティーによってネットワークを介して送信された情報の不正な傍受。
- enrollment
- 公開鍵インフラストラクチャー (PKI) で使用する X.509 証明書を要求および受信するプロセス。登録 としても知られています。
- extensions フィールド
- 証明書の拡張 を参照してください。
- エンドエンティティー
- 公開鍵インフラストラクチャー (PKI)、人、ルーター、サーバー、またはその他のエンティティーで、certificate を使用してそれ自体を特定します。
- 暗号化
- その意味を偽装する方法で情報をスクランブルします。decryption を参照してください。
- 暗号化
- 楕円曲線暗号 (ECC)
- 暗号鍵の基礎となる数学的な問題に対して、楕円曲線を用いて加算対数を作成する暗号アルゴリズム。ECC 暗号は、RSA 暗号よりも効率的に使用でき、本質的に複雑であるため、RSA 暗号よりも小さいビットで強力です。詳細は、https://tools.ietf.org/html/draft-ietf-tls-ecc-12 を参照してください。
F
- Federal Bridge Certificate Authority (FBCA)
- 2 つの CA が相互にクロスペア証明書を発行し、2 つのクロスペア証明書を単一の証明書ペアとして格納することにより、信頼の輪を形成する設定。
- fingerprint
- 証明書のフィンガープリント を参照してください。
- FIPS PUBS 140
- FIPS PUBS (Federal Information Standards Publications) 140 は、データの暗号化と復号、またはデジタル署名の作成や検証などの他の暗号化操作を実行する暗号化モジュール、ハードウェア、またはソフトウェアの実装に関する米国政府の標準です。米国政府に販売される多くの製品は、1 つ以上の FIPS 標準に準拠する必要があります。http://www.nist.gov/itl/fipscurrent.cfm を参照してください。
- firewall
- 2 つ以上のネットワーク間の境界を強制するシステムまたはシステムの組み合わせ。
I
- impersonation
- input
- 証明書プロファイル機能のコンテキストでは、特定の証明書プロファイルの登録フォームを定義します。各入力が設定され、この登録用に設定されたすべての入力から登録フォームが動的に作成されます。
- intermediate CA
- ルート CA と 証明書チェーン で発行した証明書との間の証明書のある CA。
- IP スプーフィング
- クライアント IP アドレスの禁止。
J
- JAR ファイル
- Java™ アーカイブ (JAR) 形式 に従って編成されたファイルの圧縮コレクションのデジタルエンベロープ。
- Java™ アーカイブ (JAR) 形式
- デジタル署名、インストーラスクリプト、およびその他の情報をディレクトリー内のファイルに関連付けるための一連の規則。
- Java™ セキュリティーサービス (JSS)
- あJava™ネットワークセキュリティーサービス (NSS) によって実行されるセキュリティー操作を制御するためのインターフェイス。
- Java™ ネイティブインターフェイス (JNI)
- 特定のプラットフォーム上の Java™ 仮想マシン (JVM) の異なる実装間でバイナリー互換性を提供する標準的なプログラミングインターフェイスで、単一のプラットフォーム用に C や C++ などの言語で記述された既存のコードを Java™ にバインドできるようにします。http://java.sun.com/products/jdk/1.2/docs/guide/jni/index.html を参照してください。
- Java™ 暗号アーキテクチャー (JCA)
- 暗号化サービス用に Sun Microsystems によって開発された API 仕様および参照。http://java.sun.com/products/jdk/1.2/docs/guide/security/CryptoSpec.Introduction を参照してください。
- Java™ 開発キット (JDK)
- Java™ プログラミング言語を使用してアプリケーションとアプレットを開発するために Sun Microsystems が提供するソフトウェア開発キット。
K
- KEA
- 鍵交換アルゴリズム (KEA) を参照してください。
- key
- データを暗号化または復号化するために、cryptographic algorithm が使用する多数の数値。たとえば、あるユーザーの 公開鍵 にあるユーザーは、そのユーザー専用のメッセージを暗号化できます。その後、メッセージは対応する プライベートキー を使用して復号化する必要があります。
- key exchange
- TLS セッション中に両方が使用する対称鍵を決定するために、クライアントとサーバーが従う手順。
- 鍵交換アルゴリズム (KEA)
- 米国政府が鍵交換に使用するアルゴリズム。
L
- Lightweight Directory Access Protocol (LDAP)
- TCP/IP および複数のプラットフォームで実行されるためのディレクトリーサービスプロトコル。LDAP は、X.500 ディレクトリーへのアクセスに使用される Directory Access Protocol (DAP) の簡易バージョンです。LDAP は IETF の変更制御下にあり、インターネット要件を満たすために進化しています。
- リンクされた CA
- 公開サードパーティーの CA によって署名される証明書が内部でデプロイされる 認証局 (CA)。内部 CA は、発行する証明書のルート CA として機能し、サードパーティー CA は、同じサードパーティールート CA にリンクされている他の CA によって発行された証明書のルート CA として機能します。チェーン CA としても知られており、異なるパブリック CA で使用される他の用語も使用します。
M
- MD5
- Ronald Rivest によって開発されたメッセージダイジェストアルゴリズム。one-way hash も参照してください。
- message digest
- one-way hash を参照してください。
- 手動認証
- 各証明書要求の人間による承認を必要とする Certificate System サブシステムを設定する方法。この形式の認証では、サーブレットは、認証モジュールの処理が成功した後、証明書要求を要求キューに転送します。次に、適切な権限を持つエージェントは、プロファイルの処理と証明書の発行を続行する前に、各要求を個別に承認する必要があります。
- 詐称
- そうではない個人または組織としてのエンティティーの提示。たとえば、Web サイトが実際にはクレジットカードでの支払いを行いますが、商品を送信しないサイトである場合、その Web サイトは家具店のふりをする可能性があります。虚偽表示は impersonation の 1 つの形式です。spoofing も参照してください。
N
- non-TMS
- トークン以外の管理システム。スマートカードを直接処理 しない サブシステム (CA、および任意で KRA と OCSP) の設定を指します。
トークン管理システム参照
- nonrepudiation
- メッセージの送信を拒否するためのメッセージの送信者による信頼性。デジタル署名 は、否認防止の形式を 1 つ提供します。
- ネットワークセキュリティーサービス (NSS)
- セキュリティー対応の通信アプリケーションのクロスプラットフォーム開発をサポートするように設計されたライブラリーのセット。NSS ライブラリーを使用して構築されたアプリケーションは、認証、改ざん検出、および暗号化のための Transport Layer Security (TLS) プロトコル、および暗号化トークンインターフェイスのための PKCS #11 プロトコルをサポートします。NSS は、ソフトウェア開発キットとして個別に利用できます。
O
- OCSP
- オンライン証明書ステータスプロトコル
- one-way hash
- 1.ハッシュアルゴリズムを使用して任意の長さのデータから生成された固定長の数。メッセージダイジェストとも呼ばれる数字は、ハッシュされたデータに固有のものです。1 文字を削除または変更しても、データの変更は異なります。2.ハッシュされたデータの内容をハッシュから推測することはできません。
- operation
- アクセス制御命令で許可または拒否されている、読み取りや書き込みなどの特定の操作。
- output
- 証明書プロファイル機能のコンテキストでは、特定の証明書プロファイルの証明書登録が成功した結果のフォームを定義します。各出力が設定され、この登録に設定されたすべての出力からフォームを動的に作成します。
- オブジェクトの署名
- ソフトウェア開発者が Java コード、JavaScript スクリプト、またはあらゆる種類のファイルに署名し、ユーザーが署名者を識別し、署名されたコードによってローカルシステムリソースへのアクセスを制御できるようにするファイル署名の方法。
- オブジェクト署名証明書
- 秘密鍵に関連付けられた証明書は、オブジェクトの署名 に関連するオブジェクトの署名に使用されます。
P
- PKCS #10
- 証明書要求を制御する公開鍵暗号標準規格。
- PKCS #11
- スマートカードなどの暗号化トークンを管理する公開鍵暗号化標準。
- PKCS #11 モジュール
- PKCS #11 インターフェイスを介して、暗号化サービス (暗号化や復号など) を提供する暗号化デバイスのドライバー。暗号化モジュール または 暗号化サービスプロバイダー とも呼ばれる PKCS #11 モジュールは、ハードウェアまたはソフトウェアのいずれかで実装できます。PKCS #11 モジュールには、常に 1 つ以上のスロットがあり、スマートカードなどの物理リーダーの形式で物理ハードウェアスロットとして、またはソフトウェアの概念スロットとして実装できます。PKCS #11 モジュールの各スロットには、トークンを追加できます。このトークンは、暗号化サービスを実際に提供し、必要に応じて証明書と鍵を保存するハードウェアまたはソフトウェアのデバイスです。Red Hat は、Certificate System とともに、ビルトイン PKCS #11 モジュールを提供します。
- PKCS #12
- 鍵の移植性を管理する公開鍵暗号化標準。
- PKCS #7
- 署名と暗号化を制御する公開鍵暗号標準。
- POA (proof-of-archival)
- キーのシリアル番号、キーリカバリー機関の名前、対応する証明書の subject name、およびアーカイブの日付など、アーカイブされたエンドエンティティーキーに関する情報を含む秘密キーリカバリー機関のトランスポートキーで署名されたデータ。署名されたアーカイブ証明データは、キーのアーカイブ操作が成功した後、キーリカバリー機関から Certificate Manager に返される応答です。キーリカバリー認証局のトランスポート証明書も参照してください。
- public-key cryptography
- エンティティーがその ID を電子的に検証したり、電子データに署名して暗号化したりできるようにする、確立された技術と標準のセット。公開鍵と秘密鍵の 2 つの鍵が関係します。公開鍵 は、特定の ID にキーを関連付ける証明書の一部として公開されます。対応する秘密鍵はシークレットに保存されます。公開鍵で暗号化したデータは、秘密鍵でのみ復号できます。
- パスワードベースの認証
- プライベートキー
- 公開鍵暗号で使用されるキーペアの 1 つ。秘密鍵は秘密を保持し、対応する 公開鍵 で暗号化されたデータの復号に使用されます。
- 公開鍵
- 公開鍵暗号で使用されるキーペアの 1 つ。公開鍵は自由に配布され、certificate の一部として公開されます。これは通常、公開鍵の所有者に送信されるデータを暗号化するために使用され、所有者は対応する プライベートキー でデータを復号化します。
- 公開鍵インフラストラクチャー (PKI)
- ネットワーク環境での公開鍵暗号化と X.509 v3 証明書の使用を容易にする標準とサービス。
R
- RC2, RC4
- Rivest による RSA データセキュリティー向けに開発された暗号化アルゴリズム。cryptographic algorithm も併せて参照してください。
- Red Hat Certificate System
- 証明書を作成、デプロイ、および管理するための高度に設定可能なソフトウェアコンポーネントとツールのセット。Certificate System は、さまざまな物理的な場所にある異なる Certificate System インスタンスにインストールできる 5 つの主要なサブシステムで設定されています( Certificate Manager、Online Certificate Status Manager、キーリカバリー認証局、Token Key Service、および Token Processing System)。
- root CA
- RSA algorithm
- Rivest-Shamir-Adleman の略で、暗号化と認証の両方の公開鍵アルゴリズムです。Ronald Rivest、Adi Shamir、および Leonard Adleman により開発され、1978 で導入されました。
- RSA キー交換
- RSA アルゴリズムに基づく TLS の鍵交換アルゴリズム。
- 登録
- enrollment を参照してください。
S
- sandbox
- Java™ コードが動作する必要がある、注意して定義された制限の Java™ 用語。
- servlet
- Certificate System サブシステムに代わってエンドエンティティーとの特定の種類の相互作用を処理する Java™ コード。たとえば、証明書の登録、失効、およびキーリカバリー要求は、それぞれ別のサーブレットで処理されます。
- SHA-1
- セキュアなハッシュアルゴリズム (米国政府が使用するハッシュ関数)。
- signature algorithm
- デジタル署名の作成に使用される暗号化アルゴリズム。Certificate System は、MD5 および SHA-1 署名アルゴリズムに対応します。cryptographic algorithm、デジタル署名 も併せて参照してください。
- slot
- PKCS #11 モジュール の一部 (ハードウェアまたはソフトウェアのいずれか)。これには token が含まれています。
- spoofing
- 他人のふりをします。たとえば、あるユーザーがメールアドレス jdoe@example.com やコンピューターから、www.redhat.com と呼ばれるサイトとして誤って特定できます。なりすましは、impersonation の 1 つの形です。詐称も併せて参照してください。
- subject
- certificate で識別されるエンティティー。特に、証明書のサブジェクトフィールドには、認定されたエンティティーを一意に識別する subject name が含まれます。
- subject name
- subordinate CA
- symmetric encryption
- 同じ暗号化キーを使用して特定のメッセージを暗号化および復号する暗号化方式。
- TLS
- Transport Layer Security (TLS)を参照してください。
- サーバー TLS 証明書
- Transport Layer Security (TLS) プロトコルを使用して、クライアントにサーバーを識別するために使用する証明書。
- サーバー認証
- クライアントにサーバーを特定するプロセス。クライアント認証も併せて参照してください。
- シングルサインオン
- 1.Certificate System において、内部データベースとトークンのパスワードを保管することにより、Red Hat Certificate System へのサインオン方法を簡素化するパスワード。ユーザーがログインするたびに、この単一のパスワードを入力する必要があります。2.ユーザーが 1 台のコンピューターに一度ログインし、ネットワーク内のさまざまなサーバーによって自動的に認証される機能。部分的なシングルサインオンソリューションは、さまざまなサーバーで使用されるパスワードを自動的に追跡するメカニズムなど、さまざまな形式をとることができます。証明書は、公開鍵インフラストラクチャー (PKI) 内のシングルサインオンをサポートします。ユーザーは、ローカルクライアントの秘密鍵データベースに一度ログインし、クライアントソフトウェアが動作している限り、証明書ベースの認証 を使用して、ユーザーがアクセスを許可されている組織内の各サーバーにアクセスすることができます。
- スマートカード
- マイクロプロセッサーを搭載し、キーや証明書などの暗号化情報を格納し、暗号化操作を実行する小さなデバイス。スマートカードは、一部またはすべて PKCS #11 インターフェイスを実装します。
- セキュアなチャンネル
- TPS とスマートカード間のセキュリティーアソシエーション。TKS とスマートカード APDU によって生成された共有マスターキーに基づいて暗号化された通信を可能にします。
- セキュリティードメイン
- PKI サブシステムの集中リポジトリーまたはインベントリー。その主な目的は、サブシステム間の信頼できる関係を自動的に確立することにより、新しい PKI サービスのインストールと設定を容易にすることです。
- セルフテスト
- インスタンスの起動時とオンデマンドの両方の Certificate System インスタンスをテストする機能。
- 署名付き監査ログ
- 監査ログ を参照してください。
- 署名証明書
- 公開鍵である証明書は、デジタル署名の作成に使用される秘密鍵に対応します。たとえば、Certificate Manager には、発行する証明書の署名に使用する秘密鍵に対応する公開鍵である署名証明書が必要です。
- 署名鍵
T
- token
- PKCS #11 モジュール の slot に関連付けられたハードウェアまたはソフトウェアのデバイス暗号化サービスを提供し、必要に応じて証明書および鍵を保存します。
- Transport Layer Security (TLS)
- クライアントとサーバーとの間の相互認証と、認証および暗号化された接続の確立を可能にするプロトコル。TLS は、TCP/IP の上で実行され、HTTP、LDAP、IMAP、NNTP、およびその他の高レベルのネットワークプロトコルの下で実行されます。
- trust
- 個人または他のエンティティーに確定します。公開鍵インフラストラクチャー (PKI) では、信頼とは、証明書のユーザーと、その証明書を発行した 認証局 (CA) との間の関係を指します。CA が信頼されている場合は、その CA が発行する有効な証明書を信頼できます。
- ツリー階層
- LDAP ディレクトリーの階層構造。
- トークンキーサービス (TKS)
- スマートカードの APDU およびトークン CUID などの他の共有情報に基づいて、スマートカードごとに特定の個別のキーを取得するトークン管理システムのサブシステム。
- トークン処理システム (TPS)
- Enterprise Security Client とスマートカードを直接対話して、これらのスマートカードのキーと証明書を管理するサブシステム。
- トークン管理システム (TMS)
- 相互に関連するサブシステム (CA、TKS、TPS、および任意で KRA) は、スマートカード (トークン) の証明書を管理するために使用されます。
- 改ざんの検出
- 電子形式で受信したデータが同じデータの元のバージョンと完全に対応することを保証するメカニズム。
V
- 仮想プライベートネットワーク (VPN)
- 企業の地理的に離れた部署を接続する方法。VPN を使用すると、部署間は暗号化されたチャンネルを介して通信できるため、通常はプライベートネットワークに制限される認証済みの機密トランザクションが可能になります。
索引
シンボル
- アクティブなログ
- デフォルトのファイルの場所, ログ
- メッセージカテゴリー, ログに記録されるサービス
- アーカイブ
- ローテーションされたログファイル, ログファイルローテーション
- インストール, Certificate System のインストールおよび設定
- プランニング, PKI の計画に関するチェックリスト
- インストールの計画, PKI の計画に関するチェックリスト
- エラーログ
- エージェント
- 操作に使用するポート, ポートの計画
- キューの公開, キューの有効化および設定
- 有効化, キューの有効化および設定
- キーの長さ, 署名キーの種類と長さの選択
- キーアーカイブ, キーのアーカイブ
- PKI 設定が必要, キーのアーカイブ、リカバリー、およびローテーション
- アーカイブする理由, キーのアーカイブ
- 仕組み, キーのアーカイブ
- 設定方法, キーアーカイブの手動設定
- 鍵の保存先, キーのアーカイブ
- 鍵の保存方法, キーのアーカイブ
- キーリカバリー, キーのリカバリー
- 設定方法, エージェント承認キーリカバリースキームの設定
- キーリカバリー認証局
- 設定
- キーアーカイブ, キーアーカイブの手動設定
- キーリカバリー, エージェント承認キーリカバリースキームの設定
- スマートカード
- Windows ログイン, Windows スマートカードのログオンプロファイルの使用
- タイミングログローテーション, ログファイルローテーション
- ディレクトリーの属性
- CS でサポート, CA 発行証明書の DN 属性の変更
- 新規の追加, 新規属性またはカスタム属性の追加
- デプロイメントのプランニング
- CA 決定
- ルート対下位, 認証局階層の定義
- 署名証明書, CA 署名証明書の有効期間の設定
- 署名鍵, 署名キーの種類と長さの選択
- 識別名, CA 識別名の計画
- トークン管理, 証明書システムを使用したスマートカードトークン管理
- デプロイメント用の CA の決定
- CA の更新, CA 署名証明書の更新または再発行
- ルート対下位, 認証局階層の定義
- 署名証明書, CA 署名証明書の有効期間の設定
- 署名鍵, 署名キーの種類と長さの選択
- 識別名, CA 識別名の計画
- トポロジーの決定 (デプロイメント用), 証明書システムを使用したスマートカードトークン管理
- トランスポート証明書
- 使用時, キーのアーカイブ
- トークン
- Windows ログイン, Windows スマートカードのログオンプロファイルの使用
- インストールされているトークンの表示, トークンの表示
- トークンキーサービス, 証明書システムを使用したスマートカードトークン管理
- トークン処理システム、および, 証明書システムを使用したスマートカードトークン管理
- トークン処理システム, 証明書システムを使用したスマートカードトークン管理
- トークンキーサービス、および, 証明書システムを使用したスマートカードトークン管理
- バッファーされたログ, バッファー付きおよびバッファーなしのロギング
- バッファーされていないロギング, バッファー付きおよびバッファーなしのロギング
- パスワード
- password.conf ファイルの設定, password.conf ファイルの設定
- サブシステムインスタンスによって使用, password.conf ファイルの設定
- サブシステムインスタンスの場合, システムパスワードの管理
- ポート
- ユーザーの秘密鍵の復元, キーのリカバリー
- リンクされた CA, リンクされた CA
- ルートと下位 CA, 認証局階層の定義
- ログ
- バッファーリングと非バッファーリング, バッファー付きおよびバッファーなしのロギング
- ログに記録されるサービス, ログに記録されるサービス
- ログの種類, ログ
- Audit, トランザクションログ
- エラー, Tomcat のエラーとアクセスログ
- ログファイル
- デフォルトの場所, ログ
- ローテーションされたファイルのアーカイブ, ログファイルローテーション
- ローテーションのタイミング, ログファイルローテーション
- ログレベル, ログレベル (メッセージカテゴリー)
- デフォルト選択, ログレベル (メッセージカテゴリー)
- メッセージカテゴリーとどのように関連するか。, ログレベル (メッセージカテゴリー)
- 右レベルの選択の重要性, ログレベル (メッセージカテゴリー)
- ログのフラッシュ間隔, バッファー付きおよびバッファーなしのロギング
- ログファイルの場所の特定
- ファイルのアーカイブ, ログファイルローテーション
- 時間の設定方法, ログファイルローテーション
- 公開
- CRL
- オンライン検証機関, OCSP サービス
- キュー, キューの有効化および設定
- (参照 キューの公開)
- 再起動
- サブシステムインスタンス
- Java セキュリティーマネージャーなし, Java Security Manager を使用しないサブシステムインスタンスの起動
- 場所
- アクティブなログファイル, ログ
- 変更
- DirectoryString の DER エンコーディング順序, DER エンコード順序の変更
- 拡張機能
- 構造, 証明書の拡張機能の構造
- 新規ディレクトリー属性の追加, 新規属性またはカスタム属性の追加
- 監査ログ
- 定義, トランザクションログ
- 署名証明書
- CA, CA 署名証明書の有効期間の設定
- 設定
- キーアーカイブ, キーアーカイブの手動設定
- キーリカバリー, エージェント承認キーリカバリースキームの設定
- 設定ファイル, CS.cfg ファイル
- CS.cfg, CS.cfg 設定ファイルの概要
- format, CS.cfg 設定ファイルの概要
- 証明書プロファイル
- Windows スマートカードログイン, Windows スマートカードのログオンプロファイルの使用
- 識別名 (DN)
- CA の場合, CA 識別名の計画
- 属性サポートの拡張, CA 発行証明書の DN 属性の変更
- 軌道
- サブシステムインスタンス
- Java セキュリティーマネージャーなし, Java Security Manager を使用しないサブシステムインスタンスの起動
- 鍵の検索方法, キーのアーカイブ
A
- agents
- キーリカバリーの承認, キーのリカバリー
C
- CA の署名キー, 署名キーの種類と長さの選択
- CA チェーン, リンクされた CA
- CA 署名証明書, CA 署名証明書の有効期間の設定
- CA 階層, 証明書システム CA への従属
- root CA, 証明書システム CA への従属
- subordinate CA, 証明書システム CA への従属
- Certificate Manager
- CA 階層, 証明書システム CA への従属
- KRA および, 紛失したキーの計画: キーのアーカイブと回復
- subordinate CA として, 証明書システム CA への従属
- サードパーティーの CA へのチェーン, リンクされた CA
- ルート CA として, 証明書システム CA への従属
- CRL
- CS でのディレクトリー属性サポートの拡張, CA 発行証明書の DN 属性の変更
- CS.cfg, CS.cfg ファイル
- コメントおよび TPS, CS.cfg 設定ファイルの概要
D
- DirectoryString の DER エンコーディング順序, DER エンコード順序の変更
K
- KRA
- Certificate Manager および, 紛失したキーの計画: キーのアーカイブと回復
P
- password.conf
- コンテンツ, password.conf ファイルの設定
- コンテンツの設定, password.conf ファイルの設定
- 場所の設定, password.conf ファイルの設定
R
- root CA, 証明書システム CA への従属
- RSA, 署名キーの種類と長さの選択
S
- subordinate CA, 証明書システム CA への従属
- subsystems
- パスワードファイルの設定, password.conf ファイルの設定
T
- TPS
- CS.cfg ファイルのコメント, CS.cfg 設定ファイルの概要
- Windows スマートカードログイン, Windows スマートカードのログオンプロファイルの使用
W
- Windows スマートカードログイン, Windows スマートカードのログオンプロファイルの使用
付録A 改訂履歴
改訂履歴 | |||
---|---|---|---|
改訂 9.4-1 | Thu Feb 11, 2021 | ||
| |||
改訂 9.4-0 | Wed Apr 02, 2019 | ||
|