MySQL安全加固手册

1.密码复杂度

MySQL5.6.6版本之后增加了密码强度验证插件validate_password

我们可以去mysql安装目录下的/lib/plugin 目录下查看是否有该插件

默认情况下,mysql是未启用该插件的

添 加 :  install plugin validate_password soname 'validate_password.so';

插件安装成功

默认配置:

卸载:

mysql> uninstall plugin validate_password;

2.定期更换口令

首先无论是全局变量default_password_lifetime 还是 User表中的字段password_lifetime,它们的单位都是

当password_lifetime为null的时候,则代表该用户当前口令的有效期使用的是全局变量default_password_lifetime的值。

当password_lifetime为一个具体的值的时候,则代表使用的是字段password_lifetime的值。

对于default_password_lifetime 和password_lifetime而言,值为0则代表有效期为永远。

修改my.cnf配置文件,重启mysql生效。

show variables like 'default_password_lifetime';

3.登录失败处理

connection_control 参数

可以使用插件connection_controlconnection_control_failed_login_attempts共同实现。

show variables like 'connection_control%';

参数解释如下:

connection_control_failed_connections_threshold:

在服务器增加后续连接尝试的延迟之前,允许客户端进行的连续失败连接尝试次数。

connection_control_min_connection_delay:

对于超出阈值的每个连续连接失败,要添加的延迟量。connection_control_max_connection_delay: 要添加的最大延迟。

上述参数中,关于时间参数的单位为毫秒,其作用如下:

例如,connection_control_failed_connections_threshold和connection_control_min_connection_delay 的值分别为3和1000,客户端的前三个连续失败连接尝试没有延迟,第四次失败尝试有1000毫秒的延迟,第五次失败尝试有2000毫秒的延迟,以此类推,直到允许的最大延迟connection_control_max_connection_delay。

注意:max_connect_errors不是登录失败处理设置

它的作用是:

如果MySQL服务器连续接收到了来自于同一个主机的请求,而且这些连续的请求全部都没有成功的建立连接就被中断了,当这些连续的请求的累计值大于max_connect_errors的设定值时,MySQL服务器就会阻止这台主机后续的所有请求。

4.超时退出

show global variables like 'interactive_timeout'; show global variables like 'wait_timeout';

在初级教程中,说的是wait_timeout参数,这个参数的单位是秒,默认值是28800。这个超时时间,指的是某个和数据库的连接,在限制时间内没有发起任何请求,这个连接就会被清理掉。

但实际上相关的参数是两个,从官方文档上来看,interactive_time和wait_timeout是一样的,都是指不活跃的连接超时时间,连接线程启动的时候wait_timeout 会根据是交互模式还是非交互模式被设置为这两个值中的一个。

交互式操作:通俗的说,就是你在你的本机上打开mysql的客户端,就是那个黑窗口, 在黑窗口下进行各种sql操作,当然走的肯定是tcp协议。

非交互式操作:就是你在你的项目中进行程序调用。比如一边是tomcat web服务器, 一边是数据库服务器,两者怎么通信?在java web里,我们通常会选择hibernate或者是jdbc来连接。那么这时候就是非交互式操作。

当使用交互模式时,使用interactive_timeout 参数,而非交互模式时,则使用wait_timeout 参数。

5.传输加密

6.权限分配

7.安全审计

8.地址限制

  • 23
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十年人间~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值