我一直在列举我后端生产服务器上的其余安全问题,当时我意识到我的操作系统上游存储库中缺less一些可能非常有用的东西。
我一直在寻找一个PAM模块 ,它检查远程主机IP地址对DNS阻止列表 ( DNSBL )。
我的使用案例是…虽然IDS软件可以在检测到探测,漏洞扫描或蛮力攻击之后做出响应 –
某些服务(ie Apache2, proFTPd, Sendmail, SpamAssassin)包含DNSBL模块或function,这有助于大大减less可以参与攻击的计算机数量。 它通过阻止已知的感染或僵尸机器,公共代理和TOR出口中继节点(例如)来实现这一点。
其他人,据我所知,不。 Dovecot/Saslauthd不包括这样的function。 这些在我的networking上经常遭受powershell攻击 。 这些服务仍然由IDS系统覆盖, 但遭受了大部分的攻击 。
使用一个PAM模块来检查远程主机IP,在authentication过程中,对DNSBL进行检查…有效地, 所有的服务都可以具有这种额外的弹性,以抵抗分布式的暴力攻击或探测(限制可用于所述可能的机器攻击)
我想知道是否有一个现有的PAM模块来达到这个目的? 如果没有,为什么开发商忽略了这一点?
这将是一个令人难以置信的简单的模块,(在我看来)可以为一个伟大的目的..
目前,我已经写了一个脚本,它与PAM进行接口(通过“pam_exec.so”模块)。 出于某种原因,这是行不通的(只是导致BASH崩溃)。 当我有机会,我打算尝试“pam_script.so”模块。
我愿意编写一个PAM模块来做到这一点,但是我不确定将一个软件放入Debian或Ubuntu Repositories是多么困难。
谢谢
我不知道这样的模块。 你的第二个问题(为什么)将要求主要基于观点的答案,因为我不能想出为什么这样一个PAM模块不能存在的明确理由。
以下是我在评估可行性时所确定的devise考虑因素:
/etc/resolv.conf的权限下,使用C库进行DNS查找/etc/resolv.conf 。 如果实施了DNS重试,则该模块不得使用C库进行DNS查找。 最终结果将是嵌套的重试操作。 auth堆栈中调用,则会生成日志错误。 auth堆栈用于authentication。 这个模块不用于authentication。 如果用户把它放在那里,绕过auth堆栈(SSH密钥authentication,GSSAPIauthentication等)的决定将击败模块。 我自己更像是一个红帽子的人,但是我一直想知道类似的模块。 好问题。 我还没有看到一个模块来处理这个。
至于出版软件这可能会有所帮助。
我从来没有与主要的仓库好运,但rpmforge(现在repoforge)有一些相当容易的方式来介入。 看这里。
对于Debian / Ubuntu的我还没有看到一个大的第三方存储库。 他们似乎都是产品特定的。 我的东西似乎从来都不合适,而且我也无法certificate我自己的公开仓库是正确的。
我倾向于留下任何需要打包的debian衍生产品在github上的源代码。
你可以实现这个没有太大的麻烦,但这样做是一个坏主意。
首先,让我们记住PAM是什么:这是一个处理用户login的系统。 authentication,授权,会计等
所以,这个build议倒下的地方是:
有很多方法可以处理各种服务的暴力攻击,其中最常用的是fail2ban,但是这个提议看起来像是一个非常糟糕的想法。