我们在 Linux 机器上运行面向公众的递归 DNS 服务器。我们已经被用于 DNS 放大攻击。是否有任何建议的iptables规则可以帮助减轻这些攻击?
显而易见的解决方案是将出站 DNS 数据包限制在某个流量级别。但我希望找到更聪明的方法,这样攻击就可以阻止流向受害者 IP 地址的流量。
我已经搜索过建议和建议,但它们似乎都是“不要运行面向公众的递归名称服务器”。不幸的是,我们陷入了这样一种情况:如果我们不这样做,不容易改变的事情就会崩溃,这是由于十多年前在这些攻击成为问题之前做出的决定。
想象一下你有一些像这样配置的网络
+-----+ +------+ +------+ +-----+
|comp.|---|bridge|---|router|---|comp.|
| A |---| B |---| C |---| D |
+-----+ +------+ ^ +------+ +-----+
|
-- Here!
Run Code Online (Sandbox Code Playgroud)
如果计算机 A 向计算机 D 发送一个以太网数据包...
我想我把它缩小到两种可能性:
哪个——如果有的话——是正确的?
谢谢你的时间?
PS:我希望在我的 ASCII 艺术技能上得到表扬。请务必在下面发表评论。
Amazon 的Elastic Load Balancer 支持 PROXY 协议版本 1。这允许负载均衡器后面的服务器确定客户端连接的原始源 IP 地址。
但是,协议规范在第 2 节和第 5 节中明确指出,您必须以某种方式确保只有经过授权的端点才能连接到支持该协议的端口。否则,恶意用户可以直接连接到服务器,绕过代理,并发送一个 PROXY 标头,声称他们希望使用任何源 IP 地址。
我的问题是,你如何用 ELB 做到这一点?据我所知,没有可以连接到服务器的源 IP 地址的固定列表。没有办法限制端口,以便只有您的 ELB 可以连接到它。似乎任何人都可以创建一个 EC2 实例并在 ELB 代理的同一端口上直接连接到您的服务器,模拟负载均衡器,并声称从他们喜欢的任何 IP 地址进行连接。
那不可能是对的。我错过了什么?