7.7. 两步安装
要在安装过程中自定义某些配置参数,需要用两个步骤执行安装过程,并在它们之间进行配置。为此,
pkispawn
工具可让您在两个步骤中运行子系统的安装。
7.7.1. 何时使用双步安装
在以下情况下使用两步安装:
- 提高安全性。
- 自定义子系统证书。
- 在安装要连接到现有证书系统的新证书系统实例时,自定义
/etc/pki/instance_name/server.xml
文件中的sslRangeCiphers
参数中的 cipher 列表。 - 在 FIPS 模式中安装 CA 克隆、KRA、OCSP、TKS 和 TPS。
- 在 FIPS 模式下使用硬件安全模块(HSM)安装证书系统。
7.7.2. 这两个步骤安装的主要部分
两步安装由以下两个主要部分组成:
- 安装在这一步中,
pkispawn
将配置文件从/usr/share/pki/
目录复制到特定于实例的/etc/pki/instance_name/
目录。另外,pkispawn
根据部署配置文件中定义的值设置。这个安装部分包含以下子步骤: - Configuration在这一步中,
pkispawn
根据特定于实例的/etc/pki/instance_name/
目录中的配置文件继续安装。这个安装部分包含以下子步骤:
7.7.3. 为安装的第一个步骤创建配置文件
为配置设置创建一个文本文件,如
/root/config.txt
,并使用下面描述的设置填充它。
重要
本节论述了在与证书系统相同的主机上运行的 Directory 服务器的最低配置。根据您的环境,可能需要其他参数。有关其他示例,请参阅 pkispawn(8) man page 中的 EXAMPLES 部分。
有关本部分涵盖参数的描述,请查看 pki_default.cfg(5) man page。
独立于子系统的设置
独立于您安装的子系统,配置文件中需要以下设置:
- 设置证书系统
admin
用户的密码、PKCS TOTP 文件和目录服务器:[DEFAULT] pki_admin_password=password pki_client_pkcs12_password=password pki_ds_password=password
- 要使用到在同一主机上运行的目录服务器的 LDAPS 连接,请在配置文件中的
[DEFAULT]
部分添加以下参数:pki_ds_secure_connection=True pki_ds_secure_connection_ca_pem_file=path_to_CA_or_self-signed_certificate
注意为了安全起见,红帽建议使用到目录服务器的加密连接。如果您在目录服务器中使用自签名证书,请使用以下命令从目录服务器的网络安全服务(NSS)数据库中导出它:# certutil -L -d /etc/dirsrv/slapd-instance_name/ \ -n "server-cert" -a -o /root/ds.crt
重要
默认情况下,证书系统在安装后删除
~/.dogtag/instance_name/子系统/alias
客户端数据库。为了安全起见,红帽建议在配置文件中启用 pki_client_database_purge
参数。如果手动将此参数设置为 True,则证书系统在安装后不会删除客户端数据库。
创建初始配置文件后,向其中添加特定于子系统的设置。请参阅:
CA 设置
除了 “独立于子系统的设置”一节 外,还需要以下设置来安装 CA:
- 要提高安全性,请通过在配置文件中添加
[CA]
部分来启用随机序列号:[CA] pki_random_serial_numbers_enable=true
- 另外,还可在
[CA]
部分中设置以下参数,以指定admin
用户的数据,这将在安装过程中自动创建:pki_admin_nickname=caadmin pki_admin_name=CA administrator account pki_admin_password=password pki_admin_uid=caadmin pki_admin_email=caadmin@example.com
证书系统为这个帐户分配管理员特权。安装后使用此帐户来管理证书系统并创建更多用户帐户。 - 要启用证书系统生成唯一的 nickname,请在
[DEFAULT]
部分中设置以下参数:pki_instance_name=instance_name pki_security_domain_name=example.com Security Domain pki_host=server.example.com
重要如果使用网络共享硬件安全模块(HSM)安装证书系统,则必须使用唯一的证书 nickname。 - (可选)在生成证书时使用 Elliptic Curve Curve Cryptography (ECC)而不是 RSA:
- 在
[DEFAULT]
部分添加以下参数: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
- 在
[CA]
部分添加以下参数:pki_ca_signing_key_algorithm=SHA256withEC pki_ca_signing_key_size=nistp256 pki_ca_signing_key_type=ecc pki_ca_signing_signing_algorithm=SHA256withEC pki_ocsp_signing_key_algorithm=SHA256withEC pki_ocsp_signing_key_size=nistp256 pki_ocsp_signing_key_type=ecc pki_ocsp_signing_signing_algorithm=SHA256withEC
- 在
[CA]
部分添加以下参数以使用 ECC 配置集覆盖 RSA 配置集:pki_source_admincert_profile=/usr/share/pki/ca/conf/eccAdminCert.profile pki_source_servercert_profile=/usr/share/pki/ca/conf/eccServerCert.profile pki_source_subsystemcert_profile=/usr/share/pki/ca/conf/eccSubsystemCert.profile
其他子系统的设置
除了 “独立于子系统的设置”一节 外,还需要以下设置来安装从属 CA、KRA、OCSP、TKS 或 TPS:
- 在您的配置文件的
[DEFAULT]
部分添加以下条目:pki_client_database_password=password
- 如果要安装 TPS:
- 使用以下部分添加以下部分:
[TPS] pki_authdb_basedn=basedn_of_the_TPS_authentication_database
- 另外,要配置 TPS 使用在共享 CA 实例中已安装的 KRA 的服务器端密钥生成,请将以下条目添加到
[TPS]
部分:pki_enable_server_side_keygen=True
7.7.4. 启动安装步骤
按照 第 7.7.3 节 “为安装的第一个步骤创建配置文件” 所述准备配置文件后,开始安装的第一个步骤:
# pkispawn -f /root/config.txt -s subsystem --skip-configuration
使用以下 子系统 之一替换 subsystem:
CA
、KRA
、OCSP
、TKS
或 TPS
。
7.7.5. 自定义安装步骤之间的配置
在 第 7.7.4 节 “启动安装步骤” 中描述的安装步骤成功完成后,您可以在实际配置开始前手动更新特定于实例的配置文件。本节提供了您可以在安装的第一步和第二步间自定义的内容。
7.7.5.1. 配置证书配置文件
在很多情况下,站点希望自定义某些证书注册配置文件(例如更改证书的默认有效期时间),或添加/删除某些配置文件。有关选项的完整列表,请参阅 第 16 章 证书配置文件配置。
7.7.5.2. 启用签名的审计日志记录
签名的审计日志记录功能可检测未经授权的日志操作。详情请查看 第 18.3.1 节 “启用并配置签名的审计日志”。
7.7.5.3. 更新 Ciphers 列表
在某些情况下,管理员希望更新密码列表。例如:
- 保护证书系统实例
- 要安装证书系统实例,并将其添加到只支持特定密码的现有站点
有关更新密码列表的详情,请查看 Red Hat Certificate System Administration Guide 中的对应部分。
RSA 加密的默认 FIPS 模式启用 Ciphers
默认情况下,证书系统包含以下为 RSA 加密启用了 FIPS 模式的密码:
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
- TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
- TLS_RSA_WITH_AES_128_CBC_SHA
- TLS_RSA_WITH_AES_128_CBC_SHA256
- TLS_RSA_WITH_AES_256_CBC_SHA
- TLS_RSA_WITH_AES_256_CBC_SHA256
ECC 加密的默认 FIPS 模式启用 Ciphers
默认情况下,证书系统包含以下为 Elliptic Curve Curve Cryptography (ECC)加密启用了 FIPS 模式的密码:
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
- TLS_RSA_WITH_AES_256_CBC_SHA
- TLS_RSA_WITH_AES_256_CBC_SHA256
在启用了 FIPS 模式的系统中运行 HSM 时所需的 RSA 密码
如果您在为 RSA 启用 FIPS 模式的系统中安装带有 LunaSA 或硬件安全模块(HSM)的证书系统,请禁用以下密码,因为它们在 HSMs 上不被支持:
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
7.7.5.4. 配置 PKI 控制台超时
有关配置 PKI 控制台超时的详情,请参考 第 14.4.2 节 “会话超时” 中的相应部分。
7.7.5.5. 将 KRA 设置为加密模式
如果您使用硬件安全模块(HSM),在某些情况下需要把密钥恢复授权(KRA)设置为加密模式。详情请查看 “将 KRA 设置为加密模式”一节。
7.7.5.6. 启用 OCSP
有关启用在线证书状态协议(OCSP)的详情,请参考 第 14.4.1.3 节 “为子系统启用证书撤销检查”。
7.7.5.7. 为请求和序列号配置范围
有关为请求和序列号配置范围的详情,请参考 第 14.2.3.14 节 “为请求和序列号配置范围”。
7.7.6. 启动配置步骤
根据 第 7.7.5 节 “自定义安装步骤之间的配置” 自定义配置文件后,开始安装的第二个步骤:
# pkispawn -f /root/config.txt -s subsystem --skip-installation
使用以下 子系统 之一替换 subsystem:
CA
、KRA
、OCSP
、TKS
或 TPS
。
如果配置步骤成功,
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 ================================================================
7.7.7. 安装后
完成以上步骤后,请按照 第 7.10 节 “安装后的任务” 进行额外的安装后操作。