pam_tally2将有效尝试计数为有助于DoS攻击的失败



我们有一个基于gRPC的客户端和服务器。我们使用gRPC调用身份验证。也就是说,我们在从客户端到服务器的每个gRPC调用中使用(用户名、密码(。我们有一个RPC,它每分钟都会被调用。

问题是:

在服务器上:

/etc/pam.d$ grep unlock *
login:auth    required        pam_tally2.so file=/var/log/tallylog deny=3 unlock_time=300
sshd:auth    required        pam_tally2.so file=/var/log/tallylog deny=3 unlock_time=300

如果有人使用(username,<error_password>(手动登录服务器3次,则该用户将被锁定。此时,gRPC调用开始以UNAUTHENTICATED的形式失败。之后,使用权限(用户名、密码(的gRPC调用也会被pam_tally2.so计数,导致用户永远无法解锁。

唯一的出路是做:

pam_tally2 -r

这是为gRPC服务创建DOS攻击的一种非常简单的方法。

  1. 当用户被锁定时,是否有任何方法可以使pam_tally不考虑有效的登录尝试
  2. 有没有一种方法可以在使用调用级别凭据的同时保护gRPC服务

感谢您抽出时间。

我认为gRPC没有使用pam的内置身份验证模块,所以它更可能是一个定制的插件。我的猜测是,您可能需要查看关于其锁的pam配置;https://man7.org/linux/man-pages/man8/pam_tally2.8.html

最新更新