通过 IP 对 SSH 进行 PAM 过滤

通过 IP 对 SSH 进行 PAM 过滤

我知道这可能是一个有点奇怪的问题,但我需要一些意见。因此,如果我使用,last我可以看到我的 IP,并且它也会在我的身份验证日志中,无论是失败还是接受,例如。

12 月 9 日 19:30:16 wilhelm sshd[14211]:来自 59.63.188.44 端口 16257 ssh2 的 root 密码失败

我想知道是否可以只允许来自某个 ISP 的 IP 的连接。例如,如果我在我的 IP 上执行 whois XXXX 并 grep 查找 ISP:

root@wilhelm:~# whois X.X.X.X|grep <ISPNAME>
netname:        <ISPNAME>

那么是否可以将其添加到 pam 中以进行 SSH 连接?这种方法有什么缺点吗(除了在另一个位置时被锁定(可能是敲门))?它在 VPS 上,所以我不担心互联网掉线。如果确实有必要,我可以只使用 VNC。我已经对此进行了一些快速搜索,并将继续进行。

答案1

不完全是由 PAM 实现,但是是的,这是可以做到的。如果您的发行版为您提供了扩展名,您可以tcp_wrappers通过修改您的来进行设置:/etc/hosts.allowaclexec

sshd: aclexec whois %a | grep <ISPNAME>

或者您可以将命令包装到可以轻松调用的脚本中。

更多信息可以在手册页中找到hosts_options(5)

相关内容