防火墙安全 - 蜜罐和滴水盘 - 想法?

Luk*_*uke 3 security iptables

我已经设置了一个端口敲击方案来使用 iptable 规则保护端口 22。最重要的是,如果客户端访问未使用的公共端口(例如端口 21)或敲击序列周围的端口,我设置了一些“蜜罐”规则来禁用客户端的端口敲击几分钟。这似乎工作得很好(我相信这是一个比将端口更改为晦涩的东西更好的选择)。对于 SSHD 密码登录无论如何都是禁用的 - 需要加密的私钥/公钥组合。

这个页面上有一个“滴水盘”方案,如果未使用的端口被命中,客户端在 60 秒内无法与任何东西(甚至是开放端口)通信。我最担心的是“--hitcount 3”似乎是由对单个端口的任何简单请求触发的。

所以我的问题是,您如何看待这种设置?网络服务器上的“滴水盘”是不是太多了,还是刚刚好?除了保持退出策略和只打开需要的东西之外,你们还有其他防火墙安全建议吗?

编辑:我使用的是 CentOS 5.7。我们假设“在合理范围内尽可能安全”。服务器必须通过 PCI/SAS 合规性(和其他类似标准)。重点将是防火墙,不一定是可能被发现的单个服务的漏洞(这是另一个主题)。我遗漏的任何与防火墙或外部任何事物有关的东西。希望使攻击者尽可能难以获得访问权限。

gra*_*ace 7

这里完全是主观意见,但我从来没有对敲端口感兴趣。

感觉有点像 kluge,我一直担心到那时它会完全停止按预期工作,或者我发现一个边缘情况将我锁定在我的系统之外。

我发现在禁用密码身份验证和仅使用 SSH 密钥对的情况下,我很少看到同一个机器人多次尝试该端口。当有这么多其他主机要尝试和拥有时,这是不切实际的。直到人们不再允许 root SSH 登录并完全放弃密码验证,网络犯罪分子的垂手可得的果实仍然存在并且已经成熟。

在防火墙处,我通常会断开与 TCP 22 的连接,除了少数几个位置,因为我很少在需要能够直接访问盒子的任何地方(我只会将 VPN 连接到可以访问的位置)。

我假设这是一个 Web 服务器,是吗?花一些时间了解您的 Web 应用程序的需求。您典型的有状态防火墙几乎无法防御通过端口 80 发生的攻击,例如 SQL 注入、XSS 等。

我还会设置一些强大的日志记录(如果您正在运行数据库,请记录所有 SQL 查询;为防火墙日志、Web 服务器日志、auth.log、系统日志、Web 服务器日志等设置远程系统日志)

我会在另一台主机上设置一个代理服务器(如果可以的话),并在防火墙处从您的 Web 服务器中删除所有出站内容。当/如果您的盒子被拥有,攻击者将无法在 Internet 上建立直接的 TCP/UDP 连接(通常攻击者想要做的第一件事就是获得一个 shell 到您的系统),并且如果你的警报已经到位,你马上就会知道。

唯一应该允许的传出 HTTP 流量应该通过代理服务器退出,并且您应该(至少对于服务器)有一个正常的域白名单(如包管理存储库)。

这样做会有很长的路要走;假设您将获得所有权并相应地计划和防御。