12. Security Considerations (安全考虑)
12. Security Considerations (安全考虑)
只要 Flow Specifications 被限制为匹配相关前缀的相应单播路由路径 (第 6 节), 该提案的安全特性就等同于 BGP 单播路由的现有安全属性。第 6 节中描述的验证过程的任何放宽都可能允许传播不需要的 Flow Specifications, 从而可能对流应用不需要的流量过滤动作。
如果上述机制不到位, 这可能会为进一步的拒绝服务攻击打开大门, 例如不需要的流量过滤、重新标记或重定向。
在网络的管理边界内部署验证的特定放宽对于某些网络来说是有用的, 可以快速分发过滤器以防止拒绝服务攻击。要使网络利用这种放宽, BGP 策略必须支持额外的过滤, 因为源 AS 字段为空。放宽验证限制的规范必须包含安全考虑, 提供所需额外过滤的详细信息。例如, 使用源验证可以在 AS 联盟内提供增强的过滤。
域间路由基于信任网络。相邻的自治系统被信任通告有效的可达性信息。如果违反此信任模型, 相邻自治系统可能会通过为其不提供服务的给定前缀通告可达性信息 (未过滤的地址空间劫持) 而导致拒绝服务攻击。由于 Flow Specification 的验证与最佳单播路由的通告相关联, 最佳路径路由验证中的失败可能会阻止本地路由器使用 Flow Specification。可能的缓解措施是 [RFC6811] 和 [RFC8205]。
在互联网交换点 (Internet Exchange Points, IXP) 上, 路由通常通过不扩展 AS_PATH 的路由服务器进行交换。在这种情况下, 无法强制 AS_PATH 中最左侧的 AS 为邻居 AS (路由服务器的 AS)。由于 Flow Specification 的验证 (第 6 节) 依赖于此, 因此必须格外小心。建议在此类场景中使用严格的入站路由策略。
在没有集中管理的情况下在路由器中启用类似防火墙的功能可能会使某些故障更难诊断。例如, 可以允许 TCP 数据包在一对地址之间传递, 但不允许 ICMP 数据包。也可以允许小于 900 或大于 1000 个八位字节的数据包在一对地址之间传递, 但不允许长度在 900-1000 范围内的数据包。这种行为可能令人困惑, 无论是手动配置还是通过本文档中描述的协议扩展协调, 都应谨慎使用这些功能。
Flow Specification BGP 说话者 (例如, 自动化 DDoS 控制器) 如果编程不当、算法未按预期执行或只是恶意系统, 可能会通告意外的 Flow Specifications, 以高速率发送更新, 或生成大量的 Flow Specifications。这可能会给接收系统带来压力, 超过其容量, 或导致对流应用不需要的流量过滤动作。
系统可能无法定位识别数据包所需的所有报头值。这在分片数据包不是第一个片段的情况下尤其成问题, 因此缺少上层协议报头或封装安全有效载荷 (Encapsulating Security Payload, ESP) NULL [RFC4303] 加密。
虽然 Flow Specification NLRI 的一般验证在本文档中指定 (第 6 节), 但第三方接收的流量过滤动作可能需要自定义验证或过滤。特别是, 所有非流量速率动作都可能允许第三方修改数据包转发属性, 并可能获得对其他路由表/VPN 或不需要的队列的访问权限。这可以通过在网络边界正确过滤/筛选流量过滤动作社区并仅向第三方公开预定义的流量过滤动作子集 (见第 7 节) 来避免。实现此目的的一种方法是将可由第三方设置的用户定义社区映射到流量过滤动作, 并且不接受来自第三方的流量过滤动作扩展社区。
此扩展向互联网路由器添加了额外的信息。这些在它们可以容纳的最大数据元素数量以及它们能够在给定时间单位内处理的事件数量方面受到限制。服务提供商需要考虑其设备的最大容量, 并可能需要限制接受和处理的 Flow Specifications 的数量。