问题描述
我们有一个基于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
如果有人使用(用户名,
唯一的出路就是做
pam_tally2 -r
这是为gRPC服务创建DOS攻击的非常简单的方法。
感谢您的时间。
解决方法
我认为gRPC没有使用pam的内置身份验证模块,因此它更有可能是定制插件。我的猜测是,您可能需要查看有关其锁的pam配置; https://man7.org/linux/man-pages/man8/pam_tally2.8.html