Questo contenuto non è disponibile nella lingua selezionata.
Chapter 9. Security
9.1. Changes in core cryptographic components Copia collegamentoCollegamento copiato negli appunti!
9.1.1. System-wide cryptographic policies are applied by default Copia collegamentoCollegamento copiato negli appunti!
Crypto-policies is a component in Red Hat Enterprise Linux 8, which configures the core cryptographic subsystems, covering the TLS, IPsec, DNSSEC, Kerberos protocols, and the OpenSSH suite. It provides a small set of policies, which the administrator can select using the update-crypto-policies command.
The DEFAULT system-wide cryptographic policy offers secure settings for current threat models. It allows the TLS 1.2 and 1.3 protocols, as well as the IKEv2 and SSH2 protocols. The RSA keys and Diffie-Hellman parameters are accepted if larger than 2047 bits.
See the Consistent security by crypto policies in Red Hat Enterprise Linux 8 article on the Red Hat Blog and the update-crypto-policies(8) man page for more information.
9.1.2. Strong crypto defaults by removing insecure cipher suites and protocols Copia collegamentoCollegamento copiato negli appunti!
The following list contains cipher suites and protocols removed from the core cryptographic libraries in RHEL 8. They are not present in the sources, or their support is disabled during the build, so applications cannot use them.
- DES (since RHEL 7)
- All export grade cipher suites (since RHEL 7)
- MD5 in signatures (since RHEL 7)
- SSLv2 (since RHEL 7)
- SSLv3 (since RHEL 8)
- All ECC curves < 224 bits (since RHEL 6)
- All binary field ECC curves (since RHEL 6)
9.1.3. Cipher suites and protocols disabled in all policy levels Copia collegamentoCollegamento copiato negli appunti!
The following cipher suites and protocols are disabled in all crypto policy levels. They can be enabled only by an explicit configuration of individual applications.
- DH with parameters < 1024 bits
- RSA with key size < 1024 bits
- Camellia
- ARIA
- SEED
- IDEA
- Integrity-only cipher suites
- TLS CBC mode cipher suites using SHA-384 HMAC
- AES-CCM8
- All ECC curves incompatible with TLS 1.3, including secp256k1
- IKEv1 (since RHEL 8)
9.1.4. Switching the system to FIPS mode Copia collegamentoCollegamento copiato negli appunti!
The system-wide cryptographic policies contain a policy level that enables cryptographic modules self-checks in accordance with the requirements by Federal Information Processing Standard (FIPS) Publication 140-2. The fips-mode-setup tool that enables or disables FIPS mode internally uses the FIPS system-wide cryptographic policy level.
To switch the system to FIPS mode in RHEL 8, enter the following command and restart your system:
fips-mode-setup --enable
# fips-mode-setup --enable
See the fips-mode-setup(8) man page for more information.
9.1.5. TLS 1.0 and TLS 1.1 are deprecated Copia collegamentoCollegamento copiato negli appunti!
The TLS 1.0 and TLS 1.1 protocols are disabled in the DEFAULT system-wide cryptographic policy level. If your scenario, for example, a video conferencing application in the Firefox web browser, requires using the deprecated protocols, switch the system-wide cryptographic policy to the LEGACY level:
update-crypto-policies --set LEGACY
# update-crypto-policies --set LEGACY
For more information, see the Strong crypto defaults in RHEL 8 and deprecation of weak crypto algorithms Knowledgebase article on the Red Hat Customer Portal and the update-crypto-policies(8) man page on your system.
9.1.6. TLS 1.3 support in cryptographic libraries Copia collegamentoCollegamento copiato negli appunti!
This update enables Transport Layer Security (TLS) 1.3 by default in all major back-end crypto libraries. This enables low latency across the operating system communications layer and enhances privacy and security for applications by taking advantage of new algorithms, such as RSA-PSS or X25519.
9.1.7. DSA is deprecated in RHEL 8 Copia collegamentoCollegamento copiato negli appunti!
The Digital Signature Algorithm (DSA) is considered deprecated in Red Hat Enterprise Linux 8. Authentication mechanisms that depend on DSA keys do not work in the default configuration. Note that OpenSSH clients do not accept DSA host keys even in the LEGACY system-wide cryptographic policy level.
9.1.8. SSL2 Client Hello has been deprecated in NSS Copia collegamentoCollegamento copiato negli appunti!
The Transport Layer Security (TLS) protocol version 1.2 and earlier allow to start a negotiation with a Client Hello message formatted in a way that is backward compatible with the Secure Sockets Layer (SSL) protocol version 2. Support for this feature in the Network Security Services (NSS) library has been deprecated and it is disabled by default.
Applications that require support for this feature need to use the new SSL_ENABLE_V2_COMPATIBLE_HELLO API to enable it. Support for this feature might be removed completely in future releases of Red Hat Enterprise Linux 8.
9.1.9. NSS now use SQL by default Copia collegamentoCollegamento copiato negli appunti!
The Network Security Services (NSS) libraries now use the SQL file format for the trust database by default. The DBM file format, which was used as a default database format in previous releases, does not support concurrent access to the same database by multiple processes and it has been deprecated in upstream. As a result, applications that use the NSS trust database to store keys, certificates, and revocation information now create databases in the SQL format by default. Attempts to create databases in the legacy DBM format fail. The existing DBM databases are opened in read-only mode, and they are automatically converted to the SQL format. Note that NSS support the SQL file format since Red Hat Enterprise Linux 6.
9.2. SSH Copia collegamentoCollegamento copiato negli appunti!
9.2.1. OpenSSH rebased to version 7.8p1 Copia collegamentoCollegamento copiato negli appunti!
The openssh packages have been upgraded to upstream version 7.8p1. Notable changes include:
-
Removed support for the
SSH version 1protocol. -
Removed support for the
hmac-ripemd160message authentication code. -
Removed support for RC4 (
arcfour) ciphers. -
Removed support for
Blowfishciphers. -
Removed support for
CASTciphers. -
Changed the default value of the
UseDNSoption tono. -
Disabled
DSApublic key algorithms by default. -
Changed the minimal modulus size for
Diffie-Hellmanparameters to 2048 bits. -
Changed semantics of the
ExposeAuthInfoconfiguration option. -
The
UsePrivilegeSeparation=sandboxoption is now mandatory and cannot be disabled. -
Set the minimal accepted
RSAkey size to 1024 bits.
9.2.2. libssh implements SSH as a core cryptographic component Copia collegamentoCollegamento copiato negli appunti!
This change introduces libssh as a core cryptographic component in Red Hat Enterprise Linux 8. The libssh library implements the Secure SHell (SSH) protocol.
9.2.3. libssh2 is not available in RHEL 8 Copia collegamentoCollegamento copiato negli appunti!
The deprecated libssh2 library misses features, such as support for elliptic curves or Generic Security Service Application Program Interface (GSSAPI), and it has been removed from RHEL 8 in favor of libssh
9.3. Rsyslog Copia collegamentoCollegamento copiato negli appunti!
9.3.1. The default rsyslog configuration file format is now non-legacy Copia collegamentoCollegamento copiato negli appunti!
The configuration files in the rsyslog packages now use the non-legacy format by default. The legacy format can be still used, although mixing current and legacy configuration statements has several constraints. Configurations carried from previous RHEL releases should be revised. See the rsyslog.conf(5) man page for more information.
9.3.2. The imjournal option and configuring system logging with minimized journald usage Copia collegamentoCollegamento copiato negli appunti!
To avoid duplicate records that might appear when journald rotated its files, the imjournal option has been added. Note that use of this option can affect performance.
Note that the system with rsyslog can be configured to provide better performance as described in the Configuring system logging without journald or with minimized journald usage Knowledgebase article.
9.3.3. Negative effects of the default logging setup on performance Copia collegamentoCollegamento copiato negli appunti!
The default logging environment setup might consume 4 GB of memory or even more and adjustments of rate-limit values are complex when systemd-journald is running with rsyslog.
See the Negative effects of the RHEL default logging setup on performance and their mitigations Knowledgebase article for more information.
9.4. OpenSCAP Copia collegamentoCollegamento copiato negli appunti!
9.4.1. OpenSCAP API consolidated Copia collegamentoCollegamento copiato negli appunti!
This update provides OpenSCAP shared library API that has been consolidated. 63 symbols have been removed, 14 added, and 4 have an updated signature. The removed symbols in OpenSCAP 1.3.0 include:
- symbols that were marked as deprecated in version 1.2.0
- SEAP protocol symbols
- internal helper functions
- unused library symbols
- unimplemented symbols
9.4.2. oscap-podman replaces oscap-docker for security and compliance scanning of containers Copia collegamentoCollegamento copiato negli appunti!
In RHEL 8.2, a new utility for security and compliance scanning of containers has been introduced. The oscap-podman tool provides an equivalent of the oscap-docker utility that serves for scanning container and container images in RHEL 7.
For more information, see the Scanning container and container images for vulnerabilities section.
9.5. Audit Copia collegamentoCollegamento copiato negli appunti!
9.5.1. Audit 3.0 replaces audispd with auditd Copia collegamentoCollegamento copiato negli appunti!
With this update, functionality of audispd has been moved to auditd. As a result, audispd configuration options are now part of auditd.conf. In addition, the plugins.d directory has been moved under /etc/audit. The current status of auditd and its plug-ins can now be checked by running the service auditd state command.
9.6. SELinux Copia collegamentoCollegamento copiato negli appunti!
9.6.1. SELinux packages migrated to Python 3 Copia collegamentoCollegamento copiato negli appunti!
-
The
policycoreutils-pythonhas been replaced by thepolicycoreutils-python-utilsandpython3-policycoreutilspackages. -
The functionality of the
libselinux-pythonpackage is now provided by thepython3-libselinuxpackage. -
The functionality of the
setools-libspackage is now provided by thepython3-setoolspackage. -
The functionality of the
libsemanage-pythonpackage is now provided by thepython3-libsemanagepackage.
9.6.2. Changes in SELinux sub-packages Copia collegamentoCollegamento copiato negli appunti!
-
The
libselinux-static,libsemanage-static,libsepol-static, andsetools-libs-tclhas been removed. -
The
setools-guiandsetools-console-analysesare not available in RHEL 8.0 and 8.1. RHEL 8.2 is the first minor version of RHEL 8 that contains these sub-packages.
9.6.3. Changes in SELinux policy Copia collegamentoCollegamento copiato negli appunti!
The init_t domain type is no longer unconfined on RHEL 8. This might cause problems for third-party applications that use a different SELinux labeling approach.
To overcome SELinux labeling problems in the non-standard locations, you can configure file context equivalency for such locations.
Configure file context equivalency for the
/my/appsand/directories:semanage fcontext -a -e / /my/apps
# semanage fcontext -a -e / /my/appsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Verify file context equivalency by listing local customizations of the SELinux policy:
semanage fcontext -l -C SELinux Local fcontext Equivalence /my/apps = /
# semanage fcontext -l -C SELinux Local fcontext Equivalence /my/apps = /Copy to Clipboard Copied! Toggle word wrap Toggle overflow Restore the context of
/my/appsto the default, which is now equivalent to the context of/:restorecon -Rv /my/apps restorecon reset /my/apps context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:root_t:s0 restorecon reset /my/apps/bin context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:bin_t:s0 restorecon reset /my/apps/bin/executable context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:bin_t:s0
# restorecon -Rv /my/apps restorecon reset /my/apps context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:root_t:s0 restorecon reset /my/apps/bin context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:bin_t:s0 restorecon reset /my/apps/bin/executable context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:bin_t:s0Copy to Clipboard Copied! Toggle word wrap Toggle overflow
This approach assigns correct labels to the majority of files and directories installed in the non-standard location, which also leads to correctly labeled processes started by some of the executable files.
To remove file context equivalency, use the following command:
semanage fcontext -d -e / /my/apps
# semanage fcontext -d -e / /my/apps
-
For additional information, see the
semanage-fcontextman page on your system.
9.6.4. Changes in SELinux booleans Copia collegamentoCollegamento copiato negli appunti!
9.6.4.1. New SELinux booleans Copia collegamentoCollegamento copiato negli appunti!
This update of the SELinux system policy introduces the following booleans:
-
colord_use_nfs -
deny_bluetooth -
httpd_use_opencryptoki -
logrotate_use_fusefs -
mysql_connect_http -
pdns_can_network_connect_db -
ssh_use_tcpd -
sslh_can_bind_any_port -
sslh_can_connect_any_port -
tor_can_onion_services -
unconfined_dyntrans_all -
use_virtualbox -
virt_sandbox_share_apache_content -
virt_use_pcscd
9.6.4.2. Removed SELinux booleans Copia collegamentoCollegamento copiato negli appunti!
The RHEL 8 SELinux policy does not provide the following booleans that were available in the previous release:
-
container_can_connect_any -
ganesha_use_fusefs
9.6.4.3. Changes of default values Copia collegamentoCollegamento copiato negli appunti!
In RHEL 8, the following SELinux booleans are set to a different default value than in the previous release:
-
domain_can_mmap_filesis nowoffby default. -
httpd_graceful_shutdownis nowoffby default. -
mozilla_plugin_can_network_connectis nowonby default. -
named_write_master_zonesis nowonby default.
Additionally, the descriptions of the antivirus_use_jit and ssh_chroot_rw_homedirs booleans have been changed.
To get a list of booleans including their meaning, and to find out if they are enabled or disabled, install the selinux-policy-devel package and use:
semanage boolean -l
# semanage boolean -l
9.6.5. Changes in SELinux port types Copia collegamentoCollegamento copiato negli appunti!
The RHEL 8 SELinux policy provides the following additional port types:
-
appswitch_emp_port_t -
babel_port_t -
bfd_control_port_t -
conntrackd_port_t -
firepower_port_t -
nmea_port_t -
nsca_port_t -
openqa_port_t -
openqa_websockets_port_t -
priority_e_com_port_t -
qpasa_agent_port_t -
rkt_port_t -
smntubootstrap_port_t -
statsd_port_t -
versa_tek_port_t
Furthermore, the definitions of the dns_port_t and ephemeral_port_t port types have been changed, and the gluster_port_t port type has been removed.
9.6.6. Changes in sesearch usage Copia collegamentoCollegamento copiato negli appunti!
-
The
sesearchcommand no longer uses the-Coption, and it requires to include conditional expressions. The
-T,--typeoption has been changed to:-
-T,--type_trans- find type_transition rules. -
--type_member- find type_member rules. -
--type_change- find type_change rules.
-
9.7. Removed security functionality Copia collegamentoCollegamento copiato negli appunti!
9.7.1. shadow-utils no longer allow all-numeric user and group names Copia collegamentoCollegamento copiato negli appunti!
The useradd and groupadd commands disallow user and group names consisting purely of numeric characters. The reason for not allowing such names is that this can confuse potentially many tools that work with user and group names and user and group ids (which are numbers). Please note that the all-numeric user and group names are deprecated in Red Hat Enterprise Linux 7 and their support is completely removed in Red Hat Enterprise Linux 8.
9.7.2. securetty is now disabled by default Copia collegamentoCollegamento copiato negli appunti!
Because of the dynamic nature of tty device files on modern Linux systems, the securetty PAM module has been disabled by default and the /etc/securetty configuration file is no longer included in RHEL. Since /etc/securetty listed many possible devices so that the practical effect in most cases was to allow by default, this change has only a minor impact. However, if you use a more restrictive configuration, you need to add a line enabling the pam_securetty.so module to the appropriate files in the /etc/pam.d directory, and create a new /etc/securetty file.
9.7.3. The Clevis HTTP pin has been removed Copia collegamentoCollegamento copiato negli appunti!
The Clevis HTTP pin has been removed from RHEL 8, and the clevis encrypt http sub-command is no longer available.
9.7.3.1. Coolkey has been removed Copia collegamentoCollegamento copiato negli appunti!
The Coolkey driver for smart cards has been removed from RHEL 8, and OpenSC now provides its functionality.
9.7.3.2. crypto-utils have been removed Copia collegamentoCollegamento copiato negli appunti!
The crypto-utils packages have been removed from RHEL 8. You can use tools provided by the openssl, gnutls-utils, and nss-tools packages instead.
9.7.3.3. KLIPS has been removed from Libreswan Copia collegamentoCollegamento copiato negli appunti!
In Red Hat Enterprise Linux 8, support for Kernel IP Security (KLIPS) IPsec stack has been removed from Libreswan.