MYS8-00-012000 - The MySQL Database Server 8.0 must implement cryptographic mechanisms to prevent unauthorized modification of organization-defined information at rest (to include, at a minimum, PII and classified information) on organization-defined information system components.

Information

Database Management Systems (DBMSs) handling data requiring 'data at rest' protections must employ cryptographic mechanisms to prevent unauthorized disclosure and modification of the information at rest. These cryptographic mechanisms may be native to the DBMS or implemented via additional software or operating system/file system settings, as appropriate to the situation.

Selection of a cryptographic mechanism is based on the need to protect the integrity of organizational information. The strength of the mechanism is commensurate with the security category and/or classification of the information. Organizations have the flexibility to either encrypt all information on storage devices (i.e., full disk encryption) or encrypt specific data structures (e.g., files, records, or fields).

The decision whether and what to encrypt rests with the data owner and is also influenced by the physical measures taken to secure the equipment and media on which the information resides.

Solution

Configure the MySQL Database Server 8.0, operating system/file system, and additional software as relevant, to provide the required level of cryptographic protection.

Enable the MySQL Key Ring for securely managing encryption keys with KMIP or other supported protocols.

Change TABLESPACES, TABLES to put in place encryption.

ALTER TABLESPACE <tablespacename> ENCRYPTION = 'Y';
ALTER TABLE <tablespacename> ENCRYPTION = 'Y';

Require all new tables and tablespaces to be encrypted.
set persist table_encryption_privilege_check=ON;

Require AUDIT LOG encryption
sudo vi /etc/my.cnf
[mysqld]
audit-log=FORCE_PLUS_PERMANENT
audit-log-format=JSON
audit-log-encryption=AES

Require BINLOG encryption
set persist binlog_encryption=ON;

Require REDO and UNDO log encryption
set persist innodb_redo_log_encrypt=ON;
set persist innodb_undo_log_encrypt=ON;

Turn off insecure logging (use the audit log above to track activity).
SET PERSIST general_log = 'OFF';

See Also

https://dl.dod.cyber.mil/wp-content/uploads/stigs/zip/U_Oracle_MySQL_8-0_V2R2_STIG.zip

Item Details

Category: SYSTEM AND COMMUNICATIONS PROTECTION

References: 800-53|SC-28(1), CAT|I, CCI|CCI-002475, Rule-ID|SV-235192r1018560_rule, STIG-ID|MYS8-00-012000, Vuln-ID|V-235192

Plugin: MySQLDB

Control ID: 25b04b452c07b2d193a70b442e58c398ed861fb919089cb251256ac8c7901dd0