我有一个Ubuntu服务器16,我使用iptables作为防火墙。 HTTP和HTTPSstream量位于我无法控制的反向代理服务器后面,但我已激活了X-Forwarded-For字段。
是否有可能在iptables阶段过滤stream量,而不是在Apache中添加规则?
如果不是在Apache中实现黑名单的最佳方式是什么?
iptables是无法深入检查数据包。 即使可以,它也只能检查HTTPstream量,而不是HTTPS。 在Apache中,你可以使用Limit指令来黑名单。
这实际上是很有可能的,虽然它可能需要一个内核补丁,取决于你的分配。 有一个string netfilter扩展名,让你匹配特定的数据包,如果一个string是包含在其中。 过去我们使用它来处理DDOSstream量。
一个未经testing的例子是:
# iptables -A INPUT -m string --string 'X-Forwarded-For: badIP' -j DROP
请记住,这是一个相当钝的工具,可能会导致stream量意外下降,请确保您仔细和明确地制定您的规则。 正如EEAA所说的那样,它不能用于encryptionstream量。
更多信息在这里: https : //www.netfilter.org/documentation/HOWTO/netfilter-extensions-HOWTO-3.html#ss3.18