数据安全审计 MySQL 加密审计实践教程

数据安全审计 SaaS 型自6.0.2版本起,已支持自建 MySQL、MariaDB 的 SSL 加密审计。这篇档对该功能的限制、配置、常。

相关产品
数据安全审计 产品页,含版本规格、价格与购买入口。

一、功能限制

本功能限制如下:

·仅支持自建的 MySQL、MariaDB;云数据库 MySQL 通过云原生审计方式可支持加密审计,无需单独配置。

·支持的加密算法:TLS_RSA_WITH_AES_128_CBC_SHA 、TLS_RSA_WITH_AES_256_CBC_SHA 、TLS_RSA_WITH_AES_128_CBC_SHA256、 TLS_RSA_WITH_AES_256_CBC_SHA256。

二、步骤1:检测是否开启加密

1. 在数据库中,输入如下命令,确认是否开启了 SSL 加密。

show global variables like '%ssl%';

2. 若 have_ssl 的值为 YES,则表明已经开启了 SSL,需要关闭 SSL 后才能审计到。

dba:(none)> show global variables like '%ssl%';+—————+—————–+| Variable_name | Value |+—————+—————–+| have_openssl | YES || have_ssl | YES | #已经开启了SSL| ssl_ca | ca.pem || ssl_capath | || ssl_cert | server-cert.pem || ssl_cipher | || ssl_crl | || ssl_crlpath | || ssl_key | server-key.pem |+—————+—————–+

三、步骤2:检测加密算法

1. 在数据库中,输入如下命令,检测加密算法。

show global variables like 'ssl_cipher';

2. 若 ssl_cipher 的值中只包含 AES128-SHA、AES256-SHA、AES128-SHA256、AES256-SHA256 四个中的一个或多个,则表示是支持的,否则表示不支持,需要进行修改。

dba:(none)> show global variables like 'ssl_cipher';+—————+—————–+| Variable_name | Value |+—————+—————–+| ssl_cipher | | #此处为空,需要修改+—————+—————–+

四、修改方式

通过修改数据库的相关配置,使数据安全审计可以审计到数据库语句。可根据实际情况,任意选择如下一种修改方式。

五、关闭 SSL 加密

MySQL 的 SSL 虽然提高了安全性,但也牺牲了部分性能。如果用户单位没有必须开启 SSL 加密的规定,可以考虑直接关闭 SSL 加密。

注意:该方法需要重启数据库。

1. 修改配置文件 my.cnf,在[mysqld]下增加如下内容:

[mysqld]# disable_sslskip_ssl

2. 输入如下指令,重启 MySQL。

service mysqld restart

3. 使用上述 检测方式,验证是否修改成功。

dba:(none)> show global variables like '%ssl%';+—————+—————–+| Variable_name | Value |+—————+—————–+| have_openssl | DISABLED || have_ssl | DISABLED | #已经关闭了SSL| ssl_ca | ca.pem || ssl_capath | || ssl_cert | server-cert.pem || ssl_cipher | || ssl_crl | || ssl_crlpath | || ssl_key | server-key.pem |+—————+—————–+

六、设置加密算法

在配置文件中,设置加密算法,该方法可以对数据库的所有连接生效。

注意:该方法需要重启数据库。

1. 修改配置文件 my.cnf,在[mysqld]下增加如下内容:

[mysqld]# 设置加密算法ssl_cipher="AES128-SHA:AES256-SHA:AES128-SHA256:AES256-SHA256"

2. 输入如下指令,重启 MySQL。

service mysqld restart

3. 使用上述 检测方式,验证是否修改成功。

dba:(none)> show global variables like 'ssl_cipher';+—————+————————————————–+| Variable_name | Value |+—————+————————————————–+| ssl_cipher | AES128-SHA:AES256-SHA:AES128-SHA256:AES256-SHA256| +—————+————————————————–+

七、在客户端连接时指定参数

若不想修改数据库配置,可以在客户端建立连接时,指定参数,如:

mysql -u root -pxxxx -h 10.x.x.x –ssl-cipher=AES128-SHA

注意:该方法只针对本连接,不会影响其他连接。

赞 (0)
上一篇 5天前
下一篇 5天前