【等保加固】MySQL5.7.38
MySQL5.7.38
密码复杂度配置和密码有效期:
#为空则未启用插件
SHOW VARIABLES LIKE 'validate_password%';
#查看是否启用插件,为空未启用
SELECT PLUGIN_NAME,PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME='validate_password';
#安装插件
INSTALL PLUGIN validate_password SONAME 'validate_password.so';
#查看密码有效期:
SHOW VARIABLES LIKE 'default_password_lifetime';
#设置密码有效期: 90 天
SET GLOBAL default_password_lifetime=90;
登录失败处理功能和登录超时自动退出
#安装登录失败处理 + 空闲登录超时
#安装插件:
INSTALL PLUGIN CONNECTION_CONTROL SONAME 'connection_control.so';
INSTALL PLUGIN CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS SONAME 'connection_control.so';
#查看插件状态
SHOW VARIABLES LIKE 'connection_control%';
#连续失败5次后触发延迟
SET GLOBAL connection_control_failed_connections_threshold=5;
SET GLOBAL connection_control_min_connection_delay=60000;
SET GLOBAL connection_control_max_connection_delay=2147483647;
#设置登录超时
SET GLOBAL interactive_timeout=1800;
SET GLOBAL wait_timeout=1800;
#查看
SHOW VARIABLES LIKE 'wait_timeout,interactive_timeout';
查看用户和创建三权限用户
#查看用户情况
SELECT user,host,account_locked FROM mysql.user;
#锁定账号
ALTER USER 'sysadmin'@'localhost' ACCOUNT LOCK;
#解锁账号
ALTER USER 'sysadmin'@'localhost' ACCOUNT UNLOCK;
#创建账户
#1.系统管理员 sysadmin,仅本地登录
CREATE USER 'sysadmin'@'localhost' IDENTIFIED BY '你的强密码';
#2.安全管理员 secadmin,仅本地登录
CREATE USER 'secadmin'@'localhost' IDENTIFIED BY '你的强密码';
#3.审计管理员 auditor,仅本地登录
CREATE USER 'auditor'@'localhost' IDENTIFIED BY '你的强密码';
#分配权限
#sysadmin 系统管理员权限(运维、建库、数据操作,不能管账号安全)
GRANT CREATE,ALTER,DROP,INSERT,UPDATE,DELETE,SELECT,INDEX,REFERENCES,LOCK TABLES,PROCESS,RELOAD ON *.* TO 'sysadmin'@'localhost';
#secadmin 安全管理员(账号管理、安全策略,不能随意删业务数据)
GRANT CREATE USER,ALTER USER,DROP USER,GRANT OPTION,REVOKE,PROCESS,FLUSH,SHOW DATABASES ON *.* TO 'secadmin'@'localhost';
# auditor 审计管理员(纯只读,只能查看,禁止修改/删除)
GRANT SELECT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'auditor'@'localhost';
#刷新权限,立即生效
FLUSH PRIVILEGES;
#设置 3 个账号密码有效期 90 天
ALTER USER 'sysadmin'@'localhost' PASSWORD EXPIRE INTERVAL 90 DAY;
ALTER USER 'secadmin'@'localhost' PASSWORD EXPIRE INTERVAL 90 DAY;
ALTER USER 'auditor'@'localhost' PASSWORD EXPIRE INTERVAL 90 DAY;
审计功能
#查看审计功能
SHOW VARIABLES LIKE 'general_log%';
#启用审计
SET GLOBAL general_log = ON;
配置地址限制
#1、先创建账号(替换成你的root密码)
CREATE USER 'root'@'192.168.2.100' IDENTIFIED BY '你的root密码';
#2、再授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.2.100' WITH GRANT OPTION;
#3、设置密码有效期90天
ALTER USER 'root'@'192.168.2.100' PASSWORD EXPIRE INTERVAL 90 DAY;
#4、刷新权限
FLUSH PRIVILEGES;
#删除地址限制
DROP USER 'root'@'192.168.2.100';
#创建地址段账户
CREATE USER 'root'@'192.168.2.%' IDENTIFIED BY '你的强密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.2.%' WITH GRANT OPTION;
ALTER USER 'root'@'192.168.2.%' PASSWORD EXPIRE INTERVAL 90 DAY;
FLUSH PRIVILEGES;
MySQL5.7.38加固
密码复杂度配置和密码有效期:
#为空则未启用插件
SHOW VARIABLES LIKE 'validate_password%';
#查看是否启用插件,为空未启用
SELECT PLUGIN_NAME,PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME='validate_password';
#安装插件
INSTALL PLUGIN validate_password SONAME 'validate_password.so';
#查看密码有效期:
SHOW VARIABLES LIKE 'default_password_lifetime';
#设置密码有效期: 90 天
SET GLOBAL default_password_lifetime=90;
登录失败处理功能和登录超时自动退出
#安装登录失败处理 + 空闲登录超时
#安装插件:
INSTALL PLUGIN CONNECTION_CONTROL SONAME 'connection_control.so';
INSTALL PLUGIN CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS SONAME 'connection_control.so';
#查看插件状态
SHOW VARIABLES LIKE 'connection_control%';
#连续失败5次后触发延迟
SET GLOBAL connection_control_failed_connections_threshold=5;
SET GLOBAL connection_control_min_connection_delay=60000;
SET GLOBAL connection_control_max_connection_delay=2147483647;
#设置登录超时
SET GLOBAL interactive_timeout=1800;
SET GLOBAL wait_timeout=1800;
#查看
SHOW VARIABLES LIKE 'wait_timeout,interactive_timeout';
查看用户和创建三权限用户
#查看用户情况
SELECT user,host,account_locked FROM mysql.user;
#锁定账号
ALTER USER 'sysadmin'@'localhost' ACCOUNT LOCK;
#解锁账号
ALTER USER 'sysadmin'@'localhost' ACCOUNT UNLOCK;
#创建账户
#1.系统管理员 sysadmin,仅本地登录
CREATE USER 'sysadmin'@'localhost' IDENTIFIED BY '你的强密码';
#2.安全管理员 secadmin,仅本地登录
CREATE USER 'secadmin'@'localhost' IDENTIFIED BY '你的强密码';
#3.审计管理员 auditor,仅本地登录
CREATE USER 'auditor'@'localhost' IDENTIFIED BY '你的强密码';
#分配权限
#sysadmin 系统管理员权限(运维、建库、数据操作,不能管账号安全)
GRANT CREATE,ALTER,DROP,INSERT,UPDATE,DELETE,SELECT,INDEX,REFERENCES,LOCK TABLES,PROCESS,RELOAD ON *.* TO 'sysadmin'@'localhost';
#secadmin 安全管理员(账号管理、安全策略,不能随意删业务数据)
GRANT CREATE USER,ALTER USER,DROP USER,GRANT OPTION,REVOKE,PROCESS,FLUSH,SHOW DATABASES ON *.* TO 'secadmin'@'localhost';
# auditor 审计管理员(纯只读,只能查看,禁止修改/删除)
GRANT SELECT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'auditor'@'localhost';
#刷新权限,立即生效
FLUSH PRIVILEGES;
#设置 3 个账号密码有效期 90 天
ALTER USER 'sysadmin'@'localhost' PASSWORD EXPIRE INTERVAL 90 DAY;
ALTER USER 'secadmin'@'localhost' PASSWORD EXPIRE INTERVAL 90 DAY;
ALTER USER 'auditor'@'localhost' PASSWORD EXPIRE INTERVAL 90 DAY;
审计功能
#查看审计功能
SHOW VARIABLES LIKE 'general_log%';
#启用审计
SET GLOBAL general_log = ON;
配置地址限制
#1、先创建账号(替换成你的root密码)
CREATE USER 'root'@'192.168.2.100' IDENTIFIED BY '你的root密码';
#2、再授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.2.100' WITH GRANT OPTION;
#3、设置密码有效期90天
ALTER USER 'root'@'192.168.2.100' PASSWORD EXPIRE INTERVAL 90 DAY;
#4、刷新权限
FLUSH PRIVILEGES;
#删除地址限制
DROP USER 'root'@'192.168.2.100';
#创建地址段账户
CREATE USER 'root'@'192.168.2.%' IDENTIFIED BY '你的强密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.2.%' WITH GRANT OPTION;
ALTER USER 'root'@'192.168.2.%' PASSWORD EXPIRE INTERVAL 90 DAY;
FLUSH PRIVILEGES;