1.2.5 防暴力破解
A. 限制密码输错次数。使用命令 create user ‘用户’@‘host’ identified by ‘密码’ failed_login_attempts 3 password_lock_time 1 限制用户输入密码错误 3 次就锁定账号 1 天。
B. 在 mysqld.cnf 文件里添加如下命令:
plugin-load-add=connection_control.so
connection-control=FORCE_PLUS_PERMANENT
connection-control-failed-login-attempts=FORCE_PLUS_PERMANENT
connection-control-failed-connections-threshold=3
connection-control-min-connection-delay=86400000
connection-control-max-connection-delay=86400000
1.3 口令
A. 检查账户默认密码和弱密码。
B. 口令长度需要至少 14 位,并需要包括数字、英文字母和特殊符号。执行以下命令可对密码类型进行限制。
mysql> INSTALL PLUGIN validate_password SONAME ‘validate_password.so’;
mysql> show variables like ‘validate_password%’;
±-------------------------------------±-------+
| Variable_name | Value |
±-------------------------------------±-------+
| validate_password_check_user_name | ON |
| validate_password_dictionary_file | | #规则文件保存路径
| validate_password_length | 8 | #密码长度
| validate_password_mixed_case_count | 1 | #整个密码中至少要包含大/小写字母的总个数;
| validate_password_number_count | 1 | #整个密码中至少要包含阿拉伯数字的个数;
| validate_password_policy | MEDIUM | #密码的验证强度等级
| validate_password_special_char_count | 1 | #密码中特殊字符至少的个数
±-------------------------------------±-------+
7 rows in set (0.00 sec
C. 密码应至少每 90 天进行一次更换。
- 在 mysqld.cnf 文件中添加配置 default_password_lifetime=90,并重启 mysql。
- 使用命令 alter user ‘账号名’@‘host 地址’ password expire interval 90 day 将账号设置为 90 天更换一次。
D. 您可以通过执行以下命令修改密码。必须要修改 mysql 安装后给的 root 超级管理员的随机密码。
mysql> update user set password=password(‘密码’) where user=‘root’;
mysql> flush privilege
E. 在 mysqld.cnf 文件中添加配置 validate_password_policy=STRONG 将密码强度更改为强
F. 在 mysqld.cnf 文件中添加配置 validate_password_length=14,设置密码长度最小为 14。
G. 禁止数据库用户密码为空。输入命令 SELECT User,host FROM mysql.user WHERE LENGTH(authentication_string) = 0 检查是否有密码为空的用户。
H. 禁止在 mysqld.cnf 中配置密码。执行命令 cat mysqld.cnf 2>/dev/null | grep -i ‘[a-zA-Z0-9#]*password’,若返回结果不为空,则在 mysqld.cnf 配置文件中清除[client]中的 password 信息.
1.4 授权
在数据库权限配置能力范围内,根据用户的业务需要,配置其所需的最小权限。
A. 查看数据库授权情况。
mysql> use mysql;
mysql> select * from user;
mysql>select * from db;
mysql>select * from host;
mysql>select * from tables_priv;
mysql>select * from columns_priv;
B. 通过 revoke 命令回收不必要的或危险的
mysql> help revoke
Name: ‘REVOKE’
Description:
Syntax:
REVOKE
priv_type [(column_list)]
[, priv_type [(column_list)]] … ON [object_type]
{
*
| .
| db_name.*
| db_name.tbl_name
| tbl_name
| db_name.routine_name
}
FROM user [, user] …
1.5 开启日志审计功能
数据库应配置日志功能,便于记录运行状况和操作行为。
MySQL 服务有以下几种日志类型: 错误日志: -log-err
查询日志: -log (可选)
慢查询日志: -log-slow-queries (可选)
更新日志: -log-slave-updates
二进制日志: -log-bin
A. 添加错误日志。在 mysqld.cnf 文件中如果没有 log-error,则添加
log-error=/var/log/mysqld.log。
B. 添加二进制日志和更新日志。在 mysqld.cnf 文件中添加以下内容。
log-bin=/var/lib/mysql/文件名
server-id=字符串 #随机指定一个不能和其他集群中机器重名的字符串
log-slave-updates=11
C. 使用命令 set global slow_query_log=ON 添加慢查询日志。使用 set global long_query_time=5;
设置慢查询时间。
D. 修改配置后,要重启 mysql。
日志查询操作说明
执行 show variables like ‘log_%’;命令可查看所有的 log。
执行 show variables like ‘log_bin’;命令可查看具体的 log。
1.6 安装最新补丁
确保系统安装了最新的安全补丁。
注意: 在保证业务及网络安全的前提下,并经过兼容性测试后,安装更新补丁。
1.7 设置可信 IP 访问控制
通过数据库所在操作系统的防火墙限制,实现只有信任的 IP 才能通过监听器访问数据库。
mysql> GRANT 权限 ON db.* TO 用户名@'IP 子
1.8 连接数设置
根据您的机器性能和业务需求,设置最大、最小连接数。
在 MySQL 配置文件(mysqld.cnf)的 [mysqld] 配置段中添加 max_connections = 3000,保存配置文件,重启 MySQL 服务后即可生效。
1.9 设置证书撤销列表
在 mysqld.cnf 文件添加 ssl_crl=file_name。
1.10 删除不使用的客户端程序
删除不使用的客户端程序、头文件、测试文件和 debug 文件。
步骤 1 以默认安装路径说明,执行如下命令删除/usr/bin 路径下除了 mysql、mysqlbinlog 和
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
一、网安学习成长路线图
网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、网安视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
三、精品网安学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、网络安全源码合集+工具包
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、网络安全面试题
最后就是大家最关心的网络安全面试题板块
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
插入图片描述](https://img-blog.csdnimg.cn/b07abbfab1fd4edc800d7db3eabb956e.png)
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-oBMvJfcW-1712762291820)]