Skip to main content

数据完整性/保密性

测评项:a)应采用校验技术或密码技术保证重要数据在传输过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等
测评项:a)应采用密码技术保证重要数据在传输过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等

该项核查与身份鉴别c强相关,即仅允许使用TLS证书进行传输时为符合。

# 查看指定用户名(如root)是否强制使用TLS传输
select user, host, ssl_type from mysql.user where user = 'root';
# 查看是否全局开启强制TLS传输
show variables like 'require_secure_transport';
# 查看MySQL是否已开启TLS传输
show variables like 'have_ssl';
# 查看MySQL当前TLS相关配置信息
show global variables like 'ssl_cipher';
show global variables like 'ssl_ca';
show global variables like 'ssl_cert';
show global variables like 'ssl_key';
# (重点)查看当前会话是否采用TLS传输
show session status like 'ssl_cipher';
show session status LIKE 'Ssl_cipher_list';
show session status like 'ssl_version';
# 查看MySQL当前支持的TLS版本
show variables like 'tls_version';


测评项:b)应采用校验技术或密码技术保证重要数据在存储过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等
测评项:b)应采用密码技术保证重要数据在存储过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等

MySQL 5.6 、MySQL 5.7和 MySQL 8.0.0 ~8.0.33 ,MySQL默认采用 mysql_native_password 插件。该插件依赖存在安全风险的SHA1算法。

MySQL 5.6 ~ MySQL 8.0.3 支持的sha256_password 或 MySQL 8.0.4 开始支持的caching_sha2_password 引入RSA公私钥对鉴别数据进行加密,两者均使用SHA256校验算法进行保存,区别在于后者加入缓存机制允许高并发操作。

-- 查看当前用户@地址口令段加密后的信息和所采用的算法
select user, host, plugin, authentication_string from mysql.user;
-- 查看私钥路径(caching_sha2_password)
show variables like 'caching_sha2_password_private_key_path';
-- 查看公钥路径(caching_sha2_password)
show variables like 'caching_sha2_password_public_key_path';
-- 查看当前通信使用的公钥
show status like 'caching_sha2_password_rsa_public_key';
-- 查看公钥路径(sha256_password)
SHOW VARIABLES LIKE 'sha256_password_public_key_path';
-- 查看私钥路径(sha256_password)
SHOW VARIABLES LIKE 'sha256_password_private_key_path';
-- 查看当前通信使用的公钥
show status like 'rsa_public_key';

The Caching_sha2_password_rsa_public_key status variable displays the RSA public key value used by the caching_sha2_password authentication plugin.