我们有一个基于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如果有人使用(用户名,)手动登录服务器3次,用户将被锁定。此时,gRPC调用作为未经身份验证的方式开始失败。在此之后,使用权限(用户名、密码)的gRPC调用也会被pam_tally2.so计算,从而导致用户永远不会被解锁。
唯一的出路是:
pam_tally2 -r这是为gRPC服务创建DOS攻击的一个非常简单的方法。
。
耽误您时间,实在对不起。
发布于 2020-10-07 17:38:09
我认为gRPC没有使用pam的内置身份验证模块,所以它更有可能是一个定制的插件。我的猜测是,您可能需要查看有关其锁的pam配置;https://man7.org/linux/man-pages/man8/pam_tally2.8.html。
https://stackoverflow.com/questions/64178741
复制相似问题