数据库安全策略
对于以前项目的部分总结
应用在做二级等保时,会进行漏扫,安全扫描等
以下为数据库要求及解决方法
1、身份鉴别
要求用户口令需包含数字、大小写字母、特殊符号中的三种及三种以上,长度至少包含8位,并定期每季度更新口令。数据库口令复杂度策略未配置,口令未定期更换。可能导致创建出易被冒用的弱口令账户。可能导致口令被恶意攻击者长期持有或无法有效抵御口令猜测等攻击;
密码可在 mysql 文件的 cnf 中进行设置或使用命令
-
set
global
validate_password_policy=1;
配值参数注解:
-
- validate_password_number_count参数是密码中至少含有的数字个数,当密码策略是MEDIUM或以上时生效。
- validate_password_special_char_count参数是密码中非英文数字等特殊字符的个数,当密码策略是MEDIUM或以上时生效。
- validate_password_mixed_case_count参数是密码中英文字符大小写的个数,当密码策略是MEDIUM或以上时生效。
- validate_password_length参数是密码的长度,这个参数由下面的公式生成
validate_password_number_count+ validate_password_special_char_count+ (2 * validate_password_mixed_case_count)
-
- validate_password_dictionary_file参数是指定密码验证的字典文件路径。
- validate_password_policy这个参数可以设为0、1、2,分别代表从低到高的密码强度,此参数的默认值为1,如果想将密码强度改弱,则更改此参数为0。
配置后查询:
2、 配置数据库的登陆失败措施和连接超时自动退出功能
数据库未配置登录失败处理措施和连接超时自动退出功能。可能无法有效抵御对鉴别信息的暴力破解攻击。可能造成非授权访问和信息泄露。
可在 my.cnf 文件中进行操作处理, 操作后重启MySQL 查看服务是否生效
如:
[mysqld]
connection-control-failed-connections-threshold=5
connection-control-min-connection-delay=300000
3、数据库定时备份处理
部署日志审计系统实时接收设备的审计记录或定期导出审计记录进行备份,避免受到未预期的删除、修改或覆盖等,留存时间不少于六个月,符合法律法规的相关要求;
如在Linux 中写入定时服务处理,每周日凌晨一点自动备份处理,并将其处理写入日志:
具体执行 .sh 文件 暂时无法暂时
4、数据库开启SSL
使用命令查询开启情况 : show global variables like '%ssl%' ;
如果没开启则需要进行开启
5、数据库默认端口限制
在正常情况下,mysql数据库如果使用默认端口为3306,安全漏扫服务容易通过此端口去攻击数据库,造成安全隐患漏洞;
应将默认端口换成特定端口;
在linux 中查看Mysql端口信息
show global variables like 'port';
在 my.cnf 文件中进行操作处理,添加特定端口 ,如下:
[mysqld]
port=3606
并重启数据库服务,再次查看端口信息;
6、数据库服务器访问限制
数据库所在服务器防火墙限制,只允许特定的ip 进行访问
如下例子:
#查看防火墙状态
systemctl status firewalld
#开启防火墙
systemctl start firewalld
#查询打开的端口
firewall-cmd --zone=public --list-ports
#关掉刚刚打开的8082端口
firewall-cmd --zone=public --remove-port= 8082 /tcp --permanent
firewall-cmd –reload
#重新载入一下防火墙设置,使设置生效
firewall-cmd --reload
本文来自博客园,作者:WD。。。,转载请注明原文链接:https://www.cnblogs.com/wd4j/p/17669127.html