Este conteúdo não está disponível no idioma selecionado.
Chapter 6. Prerequisites for installation
The Red Hat Certificate System installation process requires some preparation of the environment. This chapter describes the requirements, dependencies, and other prerequisites for installing Certificate System in a Common Criteria environment.
6.1. Installing and subscribing the RHEL machines Copiar o linkLink copiado para a área de transferência!
Red Hat Certificate System requires Red Hat Enterprise Linux 8.6.
Prerequisites
- You have an installation image of the latest build of RHEL 8.6 x86_64.
Procedure
On both machines, install RHEL 8 with all z-stream updates.
Both BaseOS and AppStream repositories must be enabled (by default, those repositories are part of the full installation image that is available on the Red Hat Customer Portal and already enabled).
For example, to verify that the BaseOS and Appstream repos are enabled for RHEL x86_64:subscription-manager repos --enable rhel-8-for-x86_64-baseos-rpms
# subscription-manager repos --enable rhel-8-for-x86_64-baseos-rpms
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable rhel-8-for-x86_64-appstream-rpms
# subscription-manager repos --enable rhel-8-for-x86_64-appstream-rpms
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Both machines should be registered and subscribed with a valid RHEL subscription.
For example:subscription-manager register --username=<customer access portal username>
# subscription-manager register --username=<customer access portal username>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NOTECheck if Simple Content Access (SCA) mode is enabled on your account using:
subscription-manager status
# subscription-manager status
Copy to Clipboard Copied! Toggle word wrap Toggle overflow After registering with subscription-manager, if experiencing any issues installing packages from the enabled BaseOS and AppStream repositories, disable SCA in the subscription management page in the Access Portal. If you are not the administrator of your account, you will need to request the administrator to do so. Attach the pool ID containing your Red Hat Enterprise Linux subscription using the same method as outlined in the below step, and then try again to install the packages.
Attach the Red Hat subscriptions to the system. If your system already has a subscription attached that provides Certificate System, or if Simple Content Access (SCA) is set to the default setting enabled, skip to step 3.
List the available subscriptions and note the pool ID providing Red Hat Certificate System. For example:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Depending on the number of subscriptions you have, the output can be very long. In this case, you can redirect it to a file:
subscription-manager list --available --all > /root/subscriptions.txt
# subscription-manager list --available --all > /root/subscriptions.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Attach the Certificate System subscription to the system using the pool ID from the previous step:
subscription-manager attach --pool=7aba89677a6a38fc0bba7dac673f7993
# subscription-manager attach --pool=7aba89677a6a38fc0bba7dac673f7993 Successfully attached a subscription for: Red Hat Enterprise Linux Developer Suite
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
"Pin" the RHEL version to 8.6 by using the
subscription-manager release --set
command. For example:subscription-manager release --list
# subscription-manager release --list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager release --set 8.6
# subscription-manager release --set 8.6
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Verification:
subscription-manager release --show
# subscription-manager release --show
Copy to Clipboard Copied! Toggle word wrap Toggle overflow In addition, on rhcs10.example.com, install the environment group
Server with GUI
:dnf groupinstall "Server with GUI"
# dnf groupinstall "Server with GUI"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.2. Enabling the repositories Copiar o linkLink copiado para a área de transferência!
Before you can install and update Red Hat Certificate System, you must enable the corresponding repositories for Certificate System and Directory Server.
Prerequisites
- You have installed and subscribed both machines (one for Certificate System and one for Directory Server). See Section 6.1, “Installing and subscribing the RHEL machines”.
Enabling online repositories:
If you are installing Red Hat Certificate System with online repositories, follow the below steps on the Certificate System and on the Directory Server machine:
Enable the Certificate System repository on rhcs10.example.com:
subscription-manager repos --enable certsys-10.x-for-rhel-8-x86_64-rpms
# subscription-manager repos --enable certsys-10.x-for-rhel-8-x86_64-rpms
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Where x denotes the latest Certificate System version. For example, to enable the Certificate System repository for Red Hat Certificate System 10.4, please use the below command:
subscription-manager repos --enable certsys-10.4-for-rhel-8-x86_64-rpms
# subscription-manager repos --enable certsys-10.4-for-rhel-8-x86_64-rpms Repository 'certsys-10.4-for-rhel-8-x86_64-rpms' is enabled for this system.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Enable the Directory Server repository on rhds11.example.com:
subscription-manager repos --enable=dirsrv-11-for-rhel-8-x86_64-rpms
# subscription-manager repos --enable=dirsrv-11-for-rhel-8-x86_64-rpms Repository 'dirsrv-11-for-rhel-8-x86_64-rpms' is enabled for this system.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
For compliance, only enable Red Hat approved repositories. You can only enable repositories approved by Red Hat through the subscription-manager
utility.
ISO repositories
If you are installing RHCS with ISO repositories, follow the below steps:
On rhcs10.example.com:
Create a repo file in
/etc/yum.repos.d/
:vi /etc/yum.repos.d/redhat.repo
# vi /etc/yum.repos.d/redhat.repo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow Install the Apache web server, if it is not already installed on the system:
dnf install httpd
# dnf install httpd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Start the
httpd
service:service httpd start
# service httpd start
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Create a directory that will be used as the web root for hosting the ISO repository. For example:
mkdir -p /var/www/html/rhcs10
# mkdir -p /var/www/html/rhcs10
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Mount the ISO to the directory. For example:
mount -o loop XXXXXXX-CertificateSystem-x86_64-dvd1.iso /var/www/html/rhcs10
# mount -o loop XXXXXXX-CertificateSystem-x86_64-dvd1.iso /var/www/html/rhcs10
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
On rhds11.example.com:
Create a repo file in
/etc/yum.repos.d/
:vi /etc/yum.repos.d/redhat.repo
# vi /etc/yum.repos.d/redhat.repo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow Install the Apache web server, if it is not already installed on the system:
dnf install httpd
# dnf install httpd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Start the
httpd
service:service httpd start
# service httpd start
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Create a directory that will be used as the web root for hosting the ISO repository. For example:
mkdir -p /var/www/html/rhds11
# mkdir -p /var/www/html/rhds11
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Mount the ISO to the directory. For example:
mount -o loop XXXXXXX-DirectoryServer-x86_64-dvd1.iso /var/www/html/rhds11
# mount -o loop XXXXXXX-DirectoryServer-x86_64-dvd1.iso /var/www/html/rhds11
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.3. Setting the FQDN Copiar o linkLink copiado para a área de transferência!
Make sure the Fully Qualified Domain Name (FQDN) of each host matches how you wish them to be recognized. For example, run the following on both machines:
hostname
# hostname
Copy to Clipboard Copied! Toggle word wrap Toggle overflow If a hostname is not what you expect it to be, you can configure the FQDN using
hostnamectl
. For example, to update the CS machine’s hostname:hostnamectl set-hostname rhcs10.example.com
# hostnamectl set-hostname rhcs10.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow To update the DS machine’s hostname:
hostnamectl set-hostname rhds11.example.com
# hostnamectl set-hostname rhds11.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Additionally, add both the CS and DS machines' IP addresses and new hostnames as entries in
/etc/hosts
:vi /etc/hosts
# vi /etc/hosts
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.1.111.111 rhcs10.example.com 10.2.222.222 rhds11.example.com
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.1.111.111 rhcs10.example.com 10.2.222.222 rhds11.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Verify the FQDN again after the change:
hostname
# hostname
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.4. Enabling FIPS on RHEL 8 Copiar o linkLink copiado para a área de transferência!
FIPS mode must be enabled before you install the Certificate System.
To check whether your system is in FIPS mode, run the following command:
sysctl crypto.fips_enabled
# sysctl crypto.fips_enabled
Copy to Clipboard Copied! Toggle word wrap Toggle overflow If the returned value is
1
, FIPS mode is enabled.
The following procedure demonstrates how to enable the Federal Information Processing Standard (FIPS) mode on both rhcs10.example.com and rhds11.example.com.
To switch to FIPS mode, use the
fips-mode-setup --enable
command.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Restart your system to allow the kernel to switch to FIPS mode:
reboot
# reboot
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Verify the current state of FIPS mode after the restart:
fips-mode-setup --check
# fips-mode-setup --check FIPS mode is enabled.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
If an existing directory server is running on a non-FIPS RHEL 8 system that has only just had its FIPS enabled, you will need to reset the Directory Manager password to allow the existing directory server to run properly. For more information, see Managing the Directory Manager Password in the Red Hat Directory Server Administration Guide.
6.5. Setting up fapolicyd (for STIG environments) Copiar o linkLink copiado para a área de transferência!
The fapolicyd
software framework controls the execution of applications based on a user-defined policy. In a STIG environment, installing Certificate System will fail if fapolicyd
is not set up properly. The following procedure describes how to add the rules needed to install and run RHCS instances.
Do not follow this section unless you are certain that your system is in a STIG environment. In case you complete the below procedure unnecessarily, and later run into issues when running pkispawn
, you will need to revert the changes before proceeding.
Procedure
To add the required fapolicyd
rule:
As root, create a file under
/etc/fapolicyd/rules.d/
with a unique name. The prefix must contain a number in the 30s range for the priority, such as35-allow-java.rules
, or 39.vi /etc/fapolicyd/35-allow-java.rules
# vi /etc/fapolicyd/35-allow-java.rules
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Add the following rule:
allow perm=open dir=/usr/lib/jvm/ : dir=/usr/share/tomcat/bin/ ftype=application/java-archive
allow perm=open dir=/usr/lib/jvm/ : dir=/usr/share/tomcat/bin/ ftype=application/java-archive
Copy to Clipboard Copied! Toggle word wrap Toggle overflow After saving the file, restart the
fapolicyd
service to recompile the rules:systemctl restart fapolicyd.service
# systemctl restart fapolicyd.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.6. Configuring a HSM Copiar o linkLink copiado para a área de transferência!
To use a Hardware Security Module (HSM), a Federal Information Processing Standard (FIPS) 140-2 validated HSM is required. Red Hat Certificate System supports the nShield Connect XC hardware security module (HSM) and Thales Luna HSM by default (please see Section 4.4, “Supported Hardware Security Modules” for more information on Luna’s limitations). Certificate System-supported HSMs are automatically added to the pkcs11.txt
database with the modutil
command during the pre-configuration stage of the installation, if the PKCS #11 library modules are in the specified installation paths.
- Configure rhcs10.example.com to be the HSM client machine.
Please follow the instructions provided by your HSM vendor for your specific HSM brand / model / release.
In our example, an nShield Connect XC unit is installed and configured with the latest software and firmware for compliance with FIPS 140-2 (Level 3). As of this writing the RFS software is SecWorld_Lin64-12.71.0, the firmware is nShield firmware 12.72.1 (FIPS certified), image 12.80.5.
6.6.1. FIPS mode on an HSM Copiar o linkLink copiado para a área de transferência!
To use a Hardware Security Module (HSM), a Federal Information Processing Standard (FIPS) 140-2 validated HSM is required. Certain deployments require to setup their HSM to use FIPS mode. To enable FIPS Mode on HSMs, please refer to your HSM vendor’s documentation.
- nShield Connect XC HSM
-
On a nShield Connect XC HSM, the FIPS mode can only be enabled when generating the Security World, this cannot be changed afterwards. While there is a variety of ways to generate the Security World, the preferred method is always to use the
new-world
command.
For guidance on how to generate a FIPS-compliant Security World, please follow the HSM vendor’s documentation. - Luna HSM
-
Similarly, enabling the FIPS mode on a Luna HSM must be done during the initial configuration, since changing this policy zeroizes the HSM as a security measure.
For details, please refer to the Luna HSM vendor’s documentation. Please see Section 4.4, “Supported Hardware Security Modules” for more information on Luna’s limitations.
The below steps help you verify if FIPS mode is enabled for nShield Connect XC and Luna HSMs. For other HSMs, please refer to your HSM manufacturer’s documentation.
nShield Connect XC HSM
To verify if the FIPS mode is enabled on an nShield HSM, enter:
/opt/nfast/bin/nfkminfo
# /opt/nfast/bin/nfkminfo
With older versions of the software, if the StrictFIPS140
is listed in the state flag, the FIPS mode is enabled. In newer versions, it is however better to check the new mode
line and look for fips1402level3
. In all cases, there should also be an hkfips
key present in the nfkminfo
output.
Luna HSM
To verify if the FIPS mode is enabled on a Luna HSM:
-
Open the
lunash
management console Use the
hsm show
command and verify that the output contains the textThe HSM is in FIPS 140-2 approved operation mode.
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Please refer to your HSM vendor’s documentation for complete procedures.
6.6.2. Setting up SELinux for an HSM Copiar o linkLink copiado para a área de transferência!
Certain HSMs require that you manually update SELinux settings before you can install Certificate System. The following describes nShield and Luna HSMs. For other HSMs, please refer to your HSM manufacturer’s documentation.
- nShield Connect XC
After you have installed the HSM and before you start installing Certificate System:
Reset the context of files in the
/opt/nfast/
directory:restorecon -R /opt/nfast/
# restorecon -R /opt/nfast/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Restart the
nfast
software./opt/nfast/sbin/init.d-ncipher restart
# /opt/nfast/sbin/init.d-ncipher restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- Thales Luna HSM
- No SELinux-related actions are required before you start installing Certificate System.
For details about supported HSMs and their limits, see Section 4.4, “Supported Hardware Security Modules”.
6.6.3. Preparing for installing Certificate System with an HSM Copiar o linkLink copiado para a área de transferência!
In Chapter 7, Installing and configuring Red Hat Certificate System, you are instructed to use the following parameters in the configuration file you pass to the pkispawn
utility when installing Certificate System with an HSM:
-
The values of the
pki_hsm_libfile
andpki_token_name
parameter depend on your specific HSM installation. These values allow thepkispawn
utility to set up your HSM and enable Certificate System to connect to it. -
The value of the
pki_token_password
depends upon your particular HSM token’s password. The password gives thepkispawn
utility read and write permissions to create new keys on the HSM. -
The value of the
pki_hsm_modulename
is a name used in laterpkispawn
operations to identify the HSM. The string is an identifier you can set as whatever you like. It allowspkispawn
and Certificate System to refer to the HSM and configuration information by name in later operations.
The following section provides settings for individual HSMs. If your HSM is not listed, consult your HSM manufacturer’s documentation.
nShield HSM parameters
For a nShield Connect XC, set the following parameters:
pki_hsm_libfile=/opt/nfast/toolkits/pkcs11/libcknfast.so pki_hsm_modulename=nfast
pki_hsm_libfile=/opt/nfast/toolkits/pkcs11/libcknfast.so
pki_hsm_modulename=nfast
Note that you can set the value of pki_hsm_modulename
to any value. The above is a suggested value.
To identify the token name, run the following command as the root
user:
The value of the name
field in the Cardset
section lists the token name.
Set the token name as follows:
pki_token_name=NHSM-CONN-XC
pki_token_name=NHSM-CONN-XC
SafeNet / Luna HSM parameters
For a SafeNet / Luna HSM, such as a SafeNet Luna Network HSM, specify the following parameters:
pki_hsm_libfile=/usr/safenet/lunaclient/lib/libCryptoki2_64.so pki_hsm_modulename=thalesluna
pki_hsm_libfile=/usr/safenet/lunaclient/lib/libCryptoki2_64.so
pki_hsm_modulename=thalesluna
Note that you can set the value of pki_hsm_modulename
to any value. The above is a suggested value.
To identify the token name, run the following command as the root
user:
The value in the label
column lists the token name.
Set the token name as follows:
pki_token_name=thaleslunaQE
pki_token_name=thaleslunaQE
Please see Section 4.4, “Supported Hardware Security Modules” for more information on Luna’s limitations.
6.6.4. Testing the HSM connection Copiar o linkLink copiado para a área de transferência!
To test the HSM connection:
Create a temporary database:
mkdir -p /root/tmp1
# mkdir -p /root/tmp1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow certutil -N -d /root/tmp1
# certutil -N -d /root/tmp1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Add the PKCS #11 library module to the database:
nShield Connect XC:
modutil -dbdir /root/tmp1 -nocertdb -add nfast -libfile /opt/nfast/toolkits/pkcs11/libcknfast.so
# modutil -dbdir /root/tmp1 -nocertdb -add nfast -libfile /opt/nfast/toolkits/pkcs11/libcknfast.so --- Module "nfast" added to database.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Thales Luna:
modutil -dbdir ~/testLuna -nocertdb -add thalesluna -libfile /usr/safenet/lunaclient/lib/libCryptoki2_64.so
# modutil -dbdir ~/testLuna -nocertdb -add thalesluna -libfile /usr/safenet/lunaclient/lib/libCryptoki2_64.so --- Module "thalesluna" added to database.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
List the modules and note down the HSM name at "token:" for the next step (e.g. NHSM-CONN-XC in the below example):
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Display the certificates for this token:
certutil -L -d /root/tmp1 -h <token name>
# certutil -L -d /root/tmp1 -h <token name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.7. Verifying SELinux enforcement Copiar o linkLink copiado para a área de transferência!
Security-Enhanced Linux (SELinux) is an implementation of a mandatory access control mechanism in the Linux kernel, checking for allowed operations after standard discretionary access controls are checked. SELinux can enforce rules on files and processes in a Linux system, and on their actions, based on defined policies.
By default, RHEL 8 is installed with SELinux enabled. The SELinux policy must be set to Enforcing.
To verify the current SELinux mode:
/usr/sbin/getenforce
# /usr/sbin/getenforce Enforcing
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow Optional: If you need to set the policy to Enforcing:
/usr/sbin/setenforce 1
# /usr/sbin/setenforce 1 Enforcing
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.8. Adding ports to the firewall and with SELinux context Copiar o linkLink copiado para a área de transferência!
In our examples, Certificate System subsystems use the following ports. You might want to bookmark the following table for ease of reference to selected ports used by the example installations.
Instance and services | Ports (RSA) | Ports (ECC) |
---|---|---|
RootCA | ||
HTTP / HTTPS | 8080 / 8443 | 20080 / 20443 |
CRL HTTP | 8085 | 20085 |
LDAP | 389 / 636 | 1389 / 1636 |
Tomcat | 8009 / 8005 | 20009 / 20005 |
SubCA | ||
HTTP / HTTPS | 31080 / 31443 | 21080 / 21443 |
CRL HTTP | 31085 | 21085 |
LDAP | 7389 / 7636 | 8389 / 8636 |
Tomcat | 31009 / 31005 | 21009 / 21005 |
OCSP (RootCA) | ||
HTTP / HTTPS | 33080 / 33443 | 34080 / 34443 |
LDAP | 6389 / 6636 | 2389 / 2636 |
Tomcat | 33009 / 33005 | 34009 / 34005 |
CRL publishing | 12389 / 12636 | 13389 / 13636 |
OCSP (SubCA) | ||
HTTP / HTTPS | 32080 / 32443 | 22080 / 22443 |
LDAP | 11389 / 11636 | 9389 / 9636 |
Tomcat | 32009 / 32005 | 22009 / 22005 |
CRL publishing | 5389 / 5636 | 14389 / 14636 |
KRA | ||
HTTP / HTTPS | 28080 / 28443 | 23080 / 23443 |
LDAP | 22389 / 22636 | 4389 / 4636 |
Tomcat | 28009 / 28005 | 23009 / 23005 |
TKS | ||
HTTP / HTTPS | 24080 / 24443 | N/A |
LDAP | 16389 / 16636 | N/A |
Tomcat Management | 14009 / 14005 | N/A |
TPS | ||
HTTP / HTTPS | 25080 / 25443 | N/A |
LDAP | 17389 / 17636 | N/A |
TPS Auth | 9389 / 9636 | N/A |
Tomcat Management | 14019 / 14015 | N/A |
When you set up Certificate System using the pkispawn
utility, you can customize the port numbers. If you use different ports than the ones listed above, open them correspondingly in the firewall as described below.
To enable communication between the clients and Certificate System, open the required ports in your firewall on the machine that will be hosting the corresponding service:
Make sure the
firewalld
service is running.systemctl status firewalld
# systemctl status firewalld
Copy to Clipboard Copied! Toggle word wrap Toggle overflow To start
firewalld
and configure it to start automatically when the system boots:systemctl start firewalld systemctl enable firewalld
# systemctl start firewalld # systemctl enable firewalld
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Adding ports to the firewall
Open the required ports using the
firewall-cmd
utility. For example, to open the default ports for the RootCA instance in the default firewall zone:firewall-cmd --permanent --add-port={8080/tcp,8443/tcp,8009/tcp,8005/tcp}
# firewall-cmd --permanent --add-port={8080/tcp,8443/tcp,8009/tcp,8005/tcp}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Additionally, to open the default ports for the RootCA’s LDAP instance:
firewall-cmd --permanent --add-port={389/tcp,636/tcp}
# firewall-cmd --permanent --add-port={389/tcp,636/tcp}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Verify that all ports that will be used are successfully added to the firewall:
firewall-cmd --list-ports
# firewall-cmd --list-ports
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Reload the firewall configuration to ensure that the change takes place immediately:
firewall-cmd --reload
# firewall-cmd --reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Adding ports with SELinux context
If you want to add non-default ports, you will need to add them with SELinux context. If not, you will get an error like the following: Installation failed: port 33080 has invalid selinux context ephemeral_port_t
.
For CS instances, add SELinux context to all ports that will be used as type
http_port_t
. You can do this quickly using a FOR loop command with all ports you need to add. For example, to add the default RootCA ports:for port in 8080 8443 8009 8005 31080 31443 31009 31005 33080 33443 33009 33005 32080 32443 32009 32005 28080 28443 28009 28005 24080 24443 14009 14005 25080 25443 14019 14015; do semanage port -a -t http_port_t -p tcp $port; done
# for port in 8080 8443 8009 8005 31080 31443 31009 31005 33080 33443 33009 33005 32080 32443 32009 32005 28080 28443 28009 28005 24080 24443 14009 14005 25080 25443 14019 14015; do semanage port -a -t http_port_t -p tcp $port; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow For DS ports, replace the port type option
http_port_t
withldap_port_t
. For example, for the RootCA’s LDAP ports:for port in 389 636 7389 7636 6389 6636 12389 12636 11389 11636 5389 5636 22389 22636 16389 16636 17389 17636; do semanage port -a -t ldap_port_t -p tcp $i; done
# for port in 389 636 7389 7636 6389 6636 12389 12636 11389 11636 5389 5636 22389 22636 16389 16636 17389 17636; do semanage port -a -t ldap_port_t -p tcp $i; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Verify that all ports that will be used are successfully added with SELinux context:
semanage port -l
# semanage port -l
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.9. Installing RHCS and RHDS packages Copiar o linkLink copiado para a área de transferência!
This section describes the installation of Red Hat Directory Server (RHDS) and Red Hat Certificate System (RHCS) packages and their initial configuration.
When installing the Certificate System packages you can either install them for each subsystem individually or all at once.
The following subsystem packages and components are available in Red Hat Certificate System:
-
pki-ca
: Provides the Certificate Authority (CA) subsystem. -
pki-kra
: Provides the Key Recovery Authority (KRA) subsystem. -
pki-ocsp
: Provides the Online Certificate Status Protocol (OCSP) responder. -
pki-tks
: Provides the Token Key Service (TKS). -
pki-tps
: Provides the Token Processing Service (TPS). -
pki-server
andredhat-pki-server-theme
: Provides the web-based Certificate System interface. Both packages must be installed. This is installed as a dependency if you install one of the following packages:pki-ca
,pki-kra
,pki-ocsp
,pki-tks
,pki-tps
. -
pki-console
andredhat-pki-console-theme
: Provides the Java-based Red Hat PKI console. Both packages must be installed. -
pki-acme
provides Automatic Certificate Management Environment (ACME). pki-est
is available as Technology Preview, providing Enrollment over Secure Transport (EST).NoteTechnology Preview features provide early access to upcoming product functionality, and are not yet fully supported under subscription agreements.
ACME (Automatic Certificate Management Environment) and (EST) Enrollment over Secure Transport are not evaluated and must not be used in the Common Criteria configuration.
With the redhat-pki
module, you can install all Certificate System subsystem packages and components at once on a RHEL 8 system. The redhat-pki
module installs the five subsystems of Red Hat Certificate System: in addition to the pki-core
module (CA, KRA) which is part of Red Hat Identity Management (IdM), includes the RHCS-specific subsystems (OCSP, TKS and TPS) as well as the pki-deps
module that takes care of the required dependencies.
Prerequisites
- You have enabled the corresponding repositories, as described in Section 6.2, “Enabling the repositories”.
Install the packages
Install the Red Hat Certificate System (RHCS) subsystem packages as follows:
On rhcs10.example.com, enable the RHCS module and install the RHCS 10.4 packages:
dnf module enable redhat-pki
# dnf module enable redhat-pki
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dnf install redhat-pki
# dnf install redhat-pki
Copy to Clipboard Copied! Toggle word wrap Toggle overflow This installs the following packages:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow In addition, on rhds11.example.com, install the RHDS module to install all the Red Hat Directory Server 11.5 packages:
dnf module install redhat-ds:11
# dnf module install redhat-ds:11
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Create directories for storing pki files
On rhcs10.example.com:
mkdir -p /root/pki_rsa
# mkdir -p /root/pki_rsa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mkdir -p /opt/pki_rsa
# mkdir -p /opt/pki_rsa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow On rhds11.example.com:
mkdir -p /root/pki_rsa/dirsrv
# mkdir -p /root/pki_rsa/dirsrv
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mkdir -p /opt/pki_rsa
# mkdir -p /opt/pki_rsa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mkdir -p /etc/dirsrv/save-rsa
# mkdir -p /etc/dirsrv/save-rsa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Verifying Certificate System product version
The Red Hat Certificate System product version is stored in the /usr/share/pki/CS_SERVER_VERSION
file.
To display the version:
cat /usr/share/pki/CS_SERVER_VERSION Red Hat Certificate System 10.4.3
# cat /usr/share/pki/CS_SERVER_VERSION Red Hat Certificate System 10.4.3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow To display the PKI version:
cat /usr/share/pki/VERSION Name: pki Specification-Version: 10.13.11 Implementation-Version: 10.13.11-1.module+el8pki+21949+4b2d0700
# cat /usr/share/pki/VERSION Name: pki Specification-Version: 10.13.11 Implementation-Version: 10.13.11-1.module+el8pki+21949+4b2d0700
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Future updates will have newer version numbers (that is, 10.4.x).
Once you have a server installed and running, you could find the product version for each instance by accessing the URLs as instructed in Section 7.13.16, “Determining the product version”.
Updating Certificate System packages
To update Certificate System and operating system packages, use the dnf update
command.
For example:
dnf update
# dnf update
Copy to Clipboard Copied! Toggle word wrap Toggle overflow This updates the whole system including the RHCS packages. You can verify the version number before and after updating packages, to confirm they were successfully installed.
Updating Certificate System requires the PKI infrastructure to be restarted. We suggest scheduling a maintenance window during which you can take the PKI infrastructure offline to install the update.
To optionally download updates without installing, use the
--downloadonly
option in the above procedure:dnf update --downloadonly
# dnf update --downloadonly
Copy to Clipboard Copied! Toggle word wrap Toggle overflow The downloaded packages are stored in the
/var/cache/yum/
directory.
Thednf update
will later use the packages if they are the latest versions.