使用反向代理背后的 iptables 将 IP 列入黑名单

使用反向代理背后的 iptables 将 IP 列入黑名单

我有一台 Ubuntu Server 16,我将其用作iptables防火墙。HTTP流量HTTPS位于我无法控制的反向代理后面,但我已经X-Forwarded-For激活了字段。

是否有可能在阶段过滤掉流量iptables而不是在 Apache 中添加规则?

如果不是,那么在 Apache 中实现黑名单的最佳方法是什么?

答案1

iptables无法深入检查数据包。即使可以,也只能检查 HTTP 流量,而不能检查 HTTPS。在 Apache 中,您可以使用指令将其列入黑名单Limit

答案2

这实际上是完全有可能的,尽管根据您的发行版,可能需要内核补丁。有一个stringnetfilter 扩展,它允许您根据数据包中是否包含字符串来匹配特定数据包。我们过去曾用它来处理 DDOS 流量。

这是一个未经测试的示例:

# iptables -A INPUT -m string --string 'X-Forwarded-For: badIP' -j DROP

请记住,这是一种相当不灵活的手段,可能会导致流量意外丢失 - 请确保你制定的规则是谨慎而明确的。正如 EEAA 所述,它不适用于加密流量。

更多信息请参见:https://www.netfilter.org/documentation/HOWTO/netfilter-extensions-HOWTO-3.html#ss3.18

相关内容