Rule ID
SV-286235r1292255_rule
Version
V1R1
CCIs
Public key cryptography is a valid authentication mechanism for individuals, machines, and devices. For Public Key Infrastructure (PKI) solutions, status information for certification paths includes certificate revocation lists or certificate status protocol responses. For Personal Identity Verification (PIV) cards, certificate validation involves the construction and verification of a certification path to the Common Policy Root trust anchor, which includes certificate policy processing. Implementing a local cache of revocation data to support path discovery and validation also supports system availability in situations where organizations are unable to access revocation information via the network.
Verify that TLS is enabled and certificates are configured. As a DBA, run: SHOW GLOBAL VARIABLES LIKE 'ssl_%'; Confirm that certificate paths are configured (for example): - ssl_ca. - ssl_cert. - ssl_key. If TLS certificates are not configured when public key-based authentication is required, this is a finding. Verify that a Certificate Revocation List (CRL) file or CRL directory is configured by running: SHOW GLOBAL VARIABLES LIKE 'ssl_crl%'; Expected variables include "ssl_crl" and "ssl_crlpath". If both variables are empty when public key authentication is used, this is a finding. Verify that the CRL file or directory exists on the system. Example: ls -l /etc/my.cnf.d/certs/ Confirm the CRL file or CRL directory referenced by "ssl_crl" or "ssl_crlpath" exists and is readable by the MariaDB server process. If the CRL file or directory does not exist or is not accessible, this is a finding.
Configure MariaDB to implement a local cache of certificate revocation data to support certificate path discovery and validation. Use a CRL provided by the issuing Certificate Authority (CA). Obtain the CRL file from the CA (for example: example.crl.pem) and place it in a secure location on the MariaDB server such as "/etc/pki/tls/certs/". Configure MariaDB to reference the CRL by updating the configuration file (for example "/etc/my.cnf" or a file under it): [mariadb] ssl_crl=/etc/pki/tls/certs/example.crl.pem Restart the MariaDB service to apply the configuration: systemctl restart mariadb Ensure TLS certificates are properly configured for MariaDB so revocation checks can occur during client authentication: [mariadb] ssl_key=/etc/pki/tls/private/server.example.com.key.pem ssl_cert=/etc/pki/tls/certs/server.example.com.crt.pem ssl_ca=/etc/pki/tls/certs/ca.crt.pem