配置在JDBC客户端使用用户名密码认证访问HetuEngine防暴力攻击
使用场景
HetuEngine支持在JDBC客户端使用用户名密码认证方式连接HSBroker,该方式不需要提供Kerberos相关配置,操作简单且与Kerberos认证机制兼容。
然而在缺乏本地防护机制的情况下,如果攻击者持续使用错误的密码访问HetuEngine,连续失败5次将触发Kerberos锁定用户。由于解锁用户后再次连续失败仍会立即锁定,这种循环会导致用户账户长期不可用,严重影响正常的Kerberos认证能力。
在防暴力破解场景下,当检测到连续登录失败时,HetuEngine将在服务端直接锁定用户,并在指定时间内禁止其通过JDBC客户端登录,从而保障了用户账户的可用性及Kerberos认证服务的稳定性。
约束与限制
- 本章节仅适用于MRS 3.3.0-LTS及之后版本。
- 仅集群已启用Kerberos认证(安全模式)支持此功能。
- 本章节操作适用于JDBC客户端通过HSBroker模式访问HetuEngine。
- 用于进行认证的用户必须为在Manager界面的“系统 > 权限 > 用户”中创建的用户。
操作步骤
- 登录Manager界面,选择“集群 > 服务”,在服务列表中单击“HetuEngine”进入概览页面,选择“ 配置 > 全部配置”。
- 在全部配置界面右上角的搜索框中搜索“hsbroker.password.lockup.enabled”,该参数值默认为“true”,表示开启密码连续错误后锁定功能。
- (可选)在搜索框中搜索表1中的参数,并根据实际需求配置参数值。
表1 HetuEngine基于用户名密码认证连续错误后锁定功能的参数配置 参数
参数描述
默认取值
hsbroker.password.lockup.enabled
是否开启密码连续错误后锁定功能。
- true:开启密码连续错误后锁定功能。
- false:不开启密码连续错误后锁定功能。
true
hsbroker.password.cache.ttl
认证密码缓存时长,单位:秒。
180
hsbroker.password.lockup.duration
密码连续错误后锁定的时长,单位:秒。
120
hsbroker.password.lockup.max.times
密码连续错误次数,连续输入错误密码的次数超过此数值时用户将锁定无法登录。
5
- 单击“保存”,在弹出窗口单击“确定”保存配置。
- 单击“实例”,勾选所有HSBroker实例,选择“更多 > 重启实例”,输入当前用户密码并单击“确定”重启HSBroker实例。