MYSQL数据库测评命令:
MYSQL
- MySQL测评控制点包括:身份鉴别、访问控制、安全审计、入侵防范、数据备份恢复。
- 身份鉴别:首先看登录用户是否是空口令,用户是否是唯一的,是否存在多余不用的用户,以及密码的复杂度要求。
- select * from mysql.user;
- Select * from mysql.user where length(password) = 0 or password is null;查看是否有空口令用户。
- 用户口令复杂度设置:show VARIABLES like 'validate%';或者 show VARIABLES like ’%password%’;有设置的情况如下:
- 查看登录超时、空闲时间、最大错误连接次数。
Show variables like ‘%timeout%’;其中connect_timeout代表连接超时,interactive_timeout代表空闲时间。
Show variables like ‘%max_connect_errors%’;最大错误连接次数为多少次之后锁定。
- 查看远程登录时是否采用加密方式对系统进行远程管理。
Show variables like ‘%have_ssl%’;如果没有开启就建议整改为开启模式。
- 查看各个用户的权限:
Show grants for ‘用户名’@‘主机名’;查看是否设置了网络管理员,安全管理员,系统管理员,和他们各自的账号权限,是否达到三权分立的效果。
- 查看访问控制策略哎不同的表进行:
Select * from mysql.user 检查用户权限
Select * from mysql.db 检查数据库权限
Select * from mysql.tables_priv 检查用户表权限
Select * from mysql.columns_priv 检查列权限列管理员
- 查看mysql的日志内容:
Show variables like ‘log_%’;
查看log_error的信息存放的位置,以及log_warrings的类型。类型为0:表示将告警信息不记录。类型为1:表示将告警信息写入在错误日志中。类型大于1,:表示将不只是告警信息,包括例如有关网络故障的信息和重新连接信息写入错误日志。审计记录包括日期和时间、类型、等级、结果以及描述。
- 查看用户的权限是否是加上限制的,具体的ip地址而不是%;
Show grants for ‘root’@’localhost’;
- 查看mysql版本信息:
Show variables like ‘%version%’;
- 查看mysql补丁安装情况以及版本信息:
Show variables where variable_name like ‘%version%’;