暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

OceanBase 学习笔记93:如何在MySQL模式下登录失败处理策略?

734

对于多次登录失败的用户,OceanBase 数据库会锁定该用户,以便防止恶意的密码攻击,从而保护数据库,提升数据库的安全性。

登录失败处理策略
OceanBase 数据库的 MySQL 模式通过租户级配置项 connection_control_failed_connections_threshold 来控制用户错误登录尝试的阈值,当用户连续错误登录次数超过该变量定义的值之后,系统会对账户进行锁定。

connection_control_failed_connections_threshold 配置项用于指定用户错误登录尝试的阈值,默认值为 0, 取值范围为 [0,2147483647]。 其中:

当取值为 0 时,表示关闭该功能,即不对用户的错误登录尝试进行处理。

当取值为非 0 值时,待用户错误登录次数超过指定的值后,系统会对账户进行锁定,具体锁定时间通过以下公式来计算:

MIN(MAX((current_failed_login_num + 1 - connection_control_failed_connections_threshold) * 1000, connection_control_min_connection_delay), connection_control_max_connection_delay)

其中:对于多次登录失败的用户,OceanBase 数据库会锁定该用户,以便防止恶意的密码攻击,从而保护数据库,提升数据库的安全性。

登录失败处理策略

OceanBase 数据库的 MySQL 模式通过租户级配置项 connection_control_failed_connections_threshold 来控制用户错误登录尝试的阈值,当用户连续错误登录次数超过该变量定义的值之后,系统会对账户进行锁定。

connection_control_failed_connections_threshold 配置项用于指定用户错误登录尝试的阈值,默认值为 0, 取值范围为 [0,2147483647]。 其中:

  • 当取值为 0 时,表示关闭该功能,即不对用户的错误登录尝试进行处理。

  • 当取值为非 0 值时,待用户错误登录次数超过指定的值后,系统会对账户进行锁定,具体锁定时间通过以下公式来计算:

    MIN(MAX((current_failed_login_num + 1 - connection_control_failed_connections_threshold) * 1000, connection_control_min_connection_delay), connection_control_max_connection_delay)

    其中:

    • current_failed_login_num 表示用户当前连续错误登录的次数,且 current_failed_login_num 大于或等于 connection_control_failed_connections_threshold

    • 配置项 connection_control_min_connection_delay 用于指定超过连续错误登录次数阈值之后锁定时长的最小值,取值范围为 [1000,2147483647],默认值为 1000,单位为毫秒。

      配置项 connection_control_min_connection_delay 的更多说明信息,请参见 connection_control_min_connection_delay

    • 配置项 connection_control_max_connection_delay 用于指定超过连续错误登录次数阈值之后锁定时长的最大值,取值范围为 [1000,2147483647],默认值为 2147483647,单位为毫秒。

      配置项 connection_control_max_connection_delay 的更多说明信息,请参见 connection_control_max_connection_delay

配置示例

  1. 管理员登录到数据库的 MySQL 租户。

  2. 执行以下语句,修改配置项 connection_control_failed_connections_thresholdconnection_control_min_connection_delay 与 connection_control_max_connection_delay 的值。

    示例如下:

    obclient> ALTER SYSTEM SET connection_control_failed_connections_threshold=5;
    
    obclient> ALTER SYSTEM SET connection_control_min_connection_delay=60000;
    
    obclient> ALTER SYSTEM SET connection_control_max_connection_delay=360000;
    

    配置项相关的详细设置及说明请参见 修改集群参数

current_failed_login_num 表示用户当前连续错误登录的次数,且 current_failed_login_num 大于或等于 connection_control_failed_connections_threshold。

配置项 connection_control_min_connection_delay 用于指定超过连续错误登录次数阈值之后锁定时长的最小值,取值范围为 [1000,2147483647],默认值为 1000,单位为毫秒。

配置项 connection_control_min_connection_delay 的更多说明信息,请参见 connection_control_min_connection_delay。

配置项 connection_control_max_connection_delay 用于指定超过连续错误登录次数阈值之后锁定时长的最大值,取值范围为 [1000,2147483647],默认值为 2147483647,单位为毫秒。

配置项 connection_control_max_connection_delay 的更多说明信息,请参见 connection_control_max_connection_delay。

配置示例
管理员登录到数据库的 MySQL 租户。

执行以下语句,修改配置项 connection_control_failed_connections_threshold、connection_control_min_connection_delay 与 connection_control_max_connection_delay 的值。

示例如下:

obclient> ALTER SYSTEM SET connection_control_failed_connections_threshold=5;

obclient> ALTER SYSTEM SET connection_control_min_connection_delay=60000;

obclient> ALTER SYSTEM SET connection_control_max_connection_delay=360000;
配置项相关的详细设置及说明请参见 修改集群参数。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论