方法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(具有风险)
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。