方法1:

设备具备密码复杂度校验功能,可配置如下:a)密码复杂度策略启用,设置密码长度最少8个字符,包含大小写字母、特殊符号和数字;b)密码更换周期最大为90天。

查询命令:show variables like 'validate%';  或者 show variables like "password%";

配置步骤:

1.安装插件 validate_password

mysql>>INSTALL PLUGIN validate_password SONAME 'validate_password.so';

 2.在/etc/my.cnf加上配置,并重启mysql(具有风险)

mysql 数据库密码复杂度如何查看 mysql用户密码复杂度配置_数据库

3、定期90天更换口令:

sql>set global default_password_lifetime=90;

方法2:

MySQL数据库可设置用户的登录失败处理策略,配置如下:a)登录失败处理:尝试5次,锁定账户10分钟;b)登录连接超时退出:无操作超时时间5分钟自动退出登录界面。

查询命令:show variables like '%max_connect_errors';

配置步骤

1. 安装MySQL控制插件

install plugin CONNECTION_CONTROL soname 'connection_control.so';
install plugin CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS soname 'connection_control.so';

2. 配置策略MySQL登录失败锁定策略

vim /etc/my.cnf

connection-control-failed-connections-threshold=5
connection-control-min-connection-delay= 600000   (10分钟)

3.配置超时退出策略

vim /etc/my.cnf

interactive_timeout=5
wait_timeout=5

4. 重启MySQL服务(具有风险)

方法3:

MySQL数据库需采用SSL加密协议进行远程管理,能够防止鉴别信息在网络传输过程中被窃听。

查询命令:

##查看是否采用加密方式远程连接##

show variables like '%have_ssl%';
show variables like '%ssl%';

执行操作

禁用Telnet协议,仅允许通过SSL方式管理。

方法4:

MySQL数据库不能存在test、root等易被猜测的默认账户,出厂的默认口令需进行修改。

执行操作

删除或禁用系统默认的test、root用户删除多余、过期账户。

方法5:

MySQL数据库不应当有超级管理员权限,需对超级管理员进行三权分立。

执行操作

禁用超级管理员root账号,然后重新设置系统管理员、审计管理员、配置管理员(安全管理员)等管理账户,并授予其所需的最小权限。

方法6:

MySQL数据库应具有安全审计功能模块,并启用安全审计功能,审计日志能够覆盖到每个用户

执行操作

sql> INSTALL PLUGIN server_audit SONAME 'libaudit_plugin.so';
sql> SET GLOBAL audit_json_file=ON;

方法7:

MySQL数据库里的日志数据、业务数据应当实现本地备份,一旦数据遭到破坏,可恢复到破坏前的数据。

执行操作

日志数据需对接现有日志服务器或数据库审计系统,将本设备的日志记录备份至日志服务器或数据库审计系统中,业务数据需要提供本地备份措施。

方法8:

MySQL数据库应当实现异地备份,以便本地数据全部遭到破坏后,仍有可恢复的数据副本。

执行操作

本地备份的数据应当同样实现异地备份,要求建立异地容灾机制,实时异地备份日志数据和业务数据。

方法9:

查看终端登录限制,需限制登录本系统的终端地址。

执行操作

添加管理终端地址,用于限制终端IP,如sshd: 192.*.*.10/255. 255. 255. 0。