跳到主要内容

9. Security Considerations (安全考虑)

9. Security Considerations (安全考虑)

安全性是任何网络设计的重要方面, 大规模数据中心也不例外。本节讨论与本文档中描述的 EBGP Clos 设计相关的安全考虑。

BGP 会话安全

BGP 会话应该受到保护以防止未经授权的访问和操纵。推荐的安全机制包括:

MD5 认证: BGP 支持 TCP MD5 认证 [RFC2385], 这提供了基本的认证和完整性保护。虽然不如更现代的方法安全, 但它被广泛支持并提供了合理的保护水平, 防止数据中心内的意外或基本攻击。

router bgp 64701
neighbor 10.1.1.1 password 7 <encrypted-password>

TCP-AO: TCP 认证选项 (TCP-AO) [RFC5925] 提供比 MD5 更强的安全性。如果设备支持, 应该优先使用它而不是 MD5。

TTL 安全 (GTSM): 通用 TTL 安全机制 (GTSM) [RFC5082] 可以防止来自不是直接邻居的源的 BGP 数据包。由于 EBGP Clos 设计仅使用单跳 EBGP 会话, GTSM 提供了额外的保护层。

router bgp 64701
neighbor 10.1.1.1 ttl-security hops 1

访问控制列表 (ACL): 应该使用 ACL 来限制哪些 IP 地址可以建立 BGP 会话。

ip access-list BGP-PEERS
permit tcp host 10.1.1.1 eq bgp host 10.1.1.2
deny ip any any

line vty 0 15
access-class BGP-PEERS in

路由策略安全

应该应用路由策略以防止不适当的路由注入或操纵:

前缀过滤: 使用前缀列表或路由映射来过滤接受和通告的前缀。只接受预期范围内的前缀, 并拒绝默认路由, RFC 1918 地址 (如果不适当) 等。

ip prefix-list SERVER-PREFIXES permit 10.0.0.0/8 le 32
ip prefix-list SERVER-PREFIXES deny 0.0.0.0/0 le 32

router bgp 64701
neighbor 10.1.1.1 prefix-list SERVER-PREFIXES in

AS 路径过滤: 验证接收到的路由的 AS 路径, 以确保它们来自预期的源并遵循预期的路径。

ip as-path access-list 1 permit ^65001$

router bgp 64701
neighbor 10.1.1.1 filter-list 1 in

最大前缀限制: 配置每个 BGP 邻居的最大前缀限制, 以防止路由表溢出攻击或配置错误。

router bgp 64701
neighbor 10.1.1.1 maximum-prefix 1000 80 warning-only

控制平面保护

数据中心网络设备的控制平面应该受到保护以防止拒绝服务 (DoS) 攻击和资源耗尽:

控制平面策略 (CoPP): 实施控制平面策略以限制和优先处理发送到设备 CPU 的流量。这可以防止控制平面被过多的流量淹没。

class-map match-any BGP-TRAFFIC
match protocol bgp

policy-map CONTROL-PLANE-POLICY
class BGP-TRAFFIC
police rate 10 mbps

control-plane
service-policy input CONTROL-PLANE-POLICY

BGP 速率限制: 一些实现允许对 BGP 更新进行速率限制, 以防止控制平面过载。

资源限制: 配置适当的资源限制 (例如, BGP 会话数量, 路由表大小) 以防止资源耗尽。

数据平面安全

虽然本文档主要关注路由设计, 但数据平面安全性也很重要:

uRPF (单播反向路径转发): uRPF 可以帮助防止 IP 地址欺骗, 通过验证传入数据包的源地址是否可通过接收它的接口到达。

然而, 在具有 ECMP 的 Clos 拓扑中, 传统的 uRPF (严格模式) 可能会导致问题, 因为数据包可能在与其返回流量不同的接口上到达。宽松模式 uRPF 或 Feasible Path uRPF 可能更合适。

interface Ethernet1/1
ip verify unicast source reachable-via any

ACL 和防火墙: 应该使用 ACL 和防火墙策略来限制数据中心内部和数据中心与外部网络之间的流量。

隔离和分段: 使用 VRF, VLAN 或其他机制来隔离不同的流量类型和租户。

私有 ASN 泄漏

如第 5.2.4 节所述, 在将路由通告到外部网络时, 必须注意移除私有 ASN。泄漏私有 ASN 可能会泄露内部拓扑信息并可能导致路由问题。

边缘路由器应该配置为移除私有 ASN:

router bgp 64500
neighbor 198.51.100.1 remove-private-as

第三方路由注入安全

如第 8.1 节所述, 如果使用第三方路由注入, 必须保护它以防止未经授权的路由注入:

认证: 对来自外部控制器或应用程序的 BGP 会话使用强认证。

授权: 实施严格的授权策略, 以限制哪些源可以注入路由以及可以注入哪些前缀。

验证: 验证注入的路由的合理性 (例如, 前缀范围, 下一跳, AS 路径)。

监控和日志记录

全面的监控和日志记录对于检测和响应安全事件至关重要:

BGP 监控: 监控 BGP 会话状态, 路由表更改和异常行为。

日志记录: 启用详细的 BGP 日志记录, 以捕获会话变化, 路由更新和错误。

logging buffered 100000 debugging
logging monitor debugging
debug ip bgp updates

SNMP 和 Syslog: 使用 SNMP 和 Syslog 将监控数据和日志发送到中央系统进行分析。

警报: 配置对关键事件的警报, 例如 BGP 会话中断, 路由表大小超过阈值等。

定期审计: 定期审计 BGP 配置和路由表, 以检测配置漂移或异常。

物理安全

虽然本文档主要关注逻辑安全, 但物理安全性也很重要:

访问控制: 限制对数据中心设施和网络设备的物理访问。

控制台安全: 保护设备控制台端口, 以防止未经授权的本地访问。

带外管理: 使用专用的带外管理网络来隔离管理流量与生产流量。

总结

EBGP Clos 设计本身提供了一些安全优势, 例如故障隔离和简化的配置。然而, 应该实施适当的安全措施以保护 BGP 会话, 路由策略和网络基础设施免受威胁。通过遵循本节中概述的最佳实践, 运营商可以构建安全且有弹性的大规模数据中心网络。