Answers:
我知道人们可以修改IP标头和更改源IP地址,但是网络设备检测到这些消息应该很简单。
头中的伪造IP源地址可以在商用网络设备中检测和阻止;其他伪造的IPv4标头可能很难识别。大多数人将检测伪造的源IP地址的功能称为“单播反向路径转发”,它是uRPF的缩写;uRPF是在RFC 3704中定义的,被认为是Internet 最佳实践。 uRPF应该应用于客户端设备的第一个路由器,或公司网络中的边缘路由器。
如果他们不这样做,为什么这么难?它会增加过多的开销吗?
只要路由器不是基于CPU的路由器,就不会降低性能。ISP使用的许多路由器/交换机在硬件的ASIC中都内置了此功能。通常,打开它不会有很大的性能损失。有时会有功能冲突,但是在大多数情况下,这并不是什么大问题。
ISP工程/运营人员的政策和能力各不相同,许多ISP(尤其是在较小的国家/地区)非常忙于使事情“正常工作”,以至于他们没有使事情“正常工作”的周期。
防止更改源IP地址需要访问列表(ACL)或单播反向路径过滤(uRPF)。
两者都不是免费的。uRPF通常需要其他查询或更复杂的单个查询,因此在某些平台上它甚至可能使您的查询性能降低一半。ACL将减慢查找速度并占用内存。
uRPF是免维护的,您只需配置一次就可以了。ACL需要知道哪些地址位于接口后面并确保ACL保持最新状态的系统。
ACL比uRPF受到更广泛的支持,而uRPF在L3交换机级设备中相对较少。在“真实”路由器中,通常两种功能都可用。
即使这两种功能都可用,在网络的错误位置配置uRPF也会破坏网络,不了解特定于平台的ACL限制可能会导致中断。
通常,您自己不会在防止源地址欺骗中受益,而受益的主要是整个Internet。尝试这样做会带来非零风险,因为您可能最终会破坏东西。而且您的客户不会获得任何收益,没有人会付给您更多的收益来实施它们。因此,这样做的回报很低。
负责任的服务提供商可以这样做,因为这样做是正确的,但是期望我们在部署的访问设备的相当大一部分中获得反欺骗是不现实的。更现实的目标是,如果我们在IP传输连接中执行ACL,因为那里只有大约6000左右的粗略AS编号。
为什么这甚至是问题,是因为UDP反射攻击,可以通过QUIC和MinimaLT之类的协议解决该问题,这些协议可确保反射没有收益,因为传入查询被确保大于传出答案,因此欺骗失去了它的好处。
最近,使用UDP反射作为DDoS攻击再次变得非常流行。消费者CPE设备中有许多广为开放的DNS服务器,这些消费者并不知道,因此这些消费者会遭受痛苦,因为它们的家庭连接被用来反映攻击,因而拥塞。这也是获得显着放大的简便方法,几十个字节的小查询可以产生超过一千个字节的大答案。反射型DDoS攻击每秒几百吉比特,每天都在减少,仅在星期日晚上,我们将43Gbps攻击传送给了一位客户。
在现实世界中,源地址过滤是不平凡的,因为Internet路由是不对称的,因此原则上我们需要进行有根据的猜测,以判断来自此源的数据包是否可能出现在此传入接口上。
这没有简单的公式,因为对于几乎在所有情况下都适用的每条规则,还有一个使业务有意义的用例会在那时中断。
反向路径过滤在边缘路由器上非常有用,其中对“内部”和“外部”有明确的定义-您不允许外部人员使用“内部”地址,反之亦然。一旦我开始使用多个边缘路由器来实现冗余,它将变得更加复杂。
对于骨干路由器,唯一可以实现反向路径过滤的方法是在对等方宣布一条工作路由时允许传入的数据包(无论它是否是我们的首选)。那将是一个令人望而却步的漫长查找,很容易被绕开,并且破坏了我故意购买公交但不声明该链接前缀的用例。