• mysql数据库限制多次登录失败,限定用户重试时间


    前言

    最近的项目开始进行安全测试,其中有一个安全问题是这样的。
    应该增加用户登录失败处理功能,限制非法登录次数。
    建议是增加mysql数据库的登陆失败的锁定功能。
    相信大家也都会遇到这样的问题,在这里写一下,方便大家直接使用。

    设置方法

    登录mysql数据库

    mysql -u root -p
    

    输入如下命令,安装插件

    install plugin CONNECTION_CONTROL soname 'connection_control.so';
    install plugin CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS soname 'connection_control.so';
    

    查看安装的插件

    我们发下,最下面增加了两个插件

    修改my.cnf文件

    vim /etc/my.cnf
    

    在文件中,我们增加如下两行

    connection-control-failed-connections-threshold=5   #登陆失败次数限制
    connection-control-min-connection-delay=300000    #限制重试时间,此处为毫秒,注意按需求换算,此处为5分钟
    

    重启mysql

    service mysql restart
    

    重新登录数据库,查看是否生效

    show variables like '%connection_control%';
    

    验证

    输入密码错误5次后,将不可以再输入密码

    至此登录限制就完成了

    扩展

    静态安装插件

    上面提供的方式为动态安装,静态安装方式如下:

    vim /etc/my.cnf
    

    增加如下配置

    plugin-load-add = connection_control.so
    

    插件卸载

    UNINSTALL PLUGIN CONNECTION_CONTROL;
    UNINSTALL PLUGIN CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS;
    

    插件参数

    connection_control_failed_connections_threshold:失败登陆次数达到此值后触发延迟。值域:[0, INT_MAX32(2147483647)],0表示关闭此功能。默认值为3。
    connection_control_max_connection_delay:登陆发生延迟时,延迟的最大时间;此值必须大于等于connection_control_min_connection_delay。值域:[1,INT_MAX32(2147483647)]。默认值:INT_MAX32。单位:毫秒。
    connection_control_min_connection_delay:登陆发生延迟时,延迟的最小时间,此值必须小于等于connection_control_max_connection_delay。值域:[1000, INT_MAX32(2147483647)]。默认值:1000。单位:毫秒。

    延迟的时间如何计算

    一旦连续的失败登陆次数超过设定阈值,那么就会产生延迟,并且延迟随着失败次数增加而增加,上限为connection_control_max_connection_delay;
    具体的计算方式如下:
    MIN ((failed_attempts - threshold) * MIN_DELAY), MAX_DELAY)

    总结

    至此,文章结束,欢迎大家留言或者关注公众号一起讨论。

  • 相关阅读:
    16. InOrder
    15. BddStyle: given-willReturn、OneLiner风格
    12. atLeastOnce、atLeast、atMost、never、only、verifyNoMoreInteractions、verifyZeroInteractions
    11. verify验证方法调用
    sqlserver数据文件变更位置
    生产上的sqlserver数据库误删或者操作不当的补救措施
    linux centos7 安装配置jdk
    linux centos7 mysql5.7 设置端口以及远程访问
    linux centos7 安装mysq5.7步骤总结
    关于Netty的那点事
  • 原文地址:https://www.cnblogs.com/jichi/p/14243431.html
Copyright © 2020-2023  润新知