了解 IS-IS 的 BFD 身份验证
双向转发检测 (BFD) 可快速检测相邻系统之间的通信故障。默认情况下,BFD 会话的身份验证处于禁用状态。但是,在网络层协议上运行 BFD 时,服务攻击的风险可能很大。如果通过多个跃点或不安全的隧道运行 BFD,强烈建议使用身份验证。从 Junos OS 9.6 版开始,Junos OS 支持对通过 IS-IS 运行的 BFD 会话进行身份验证。BFD认证仅在国内镜像中支持,在导出镜像中不可用。
通过指定身份验证算法和钥匙串,然后使用钥匙串名称将该配置信息与安全身份验证钥匙串相关联,来验证 BFD 会话。
以下部分介绍支持的身份验证算法、安全密钥串和可配置的身份验证级别:
BFD 身份验证算法
Junos OS 支持以下算法进行 BFD 身份验证:
simple-password - 纯文本密码。1 到 16 字节的纯文本用于验证 BFD 会话。可以配置一个或多个密码。此方法是最不安全的,仅当 BFD 会话不受数据包拦截时才应使用。
keyed-md5 — 传输和接收间隔大于 100 毫秒的会话的键控消息摘要 5 哈希算法。为了验证 BFD 会话,密钥 MD5 使用一个或多个密钥(由算法生成)和一个定期更新的序列号。使用此方法,如果其中一个密钥匹配,且序列号大于或等于接收到的最后一个序列号,则在会话的接收端接受数据包。虽然这种方法比简单密码更安全,但容易受到重放攻击。提高序列号的更新速率可以降低这种风险。
meticulous-keyed-md5—细致键控消息摘要 5 哈希算法。此方法的工作方式与键控 MD5 相同,但序列号随每个数据包更新。尽管此方法比密钥 MD5 和简单密码更安全,但可能需要额外的时间来验证会话。
keyed-sha-1 — 密钥安全散列算法 I,适用于传输和接收间隔大于 100 毫秒的会话。为了验证 BFD 会话,密钥 SHA 使用一个或多个密钥(由算法生成)和一个定期更新的序列号。密钥不在数据包内携带。使用此方法,如果其中一个密钥匹配且序列号大于上次接收的序列号,则在会话的接收端接受数据包。
meticulous-keyed-sha-1—细致密钥安全散列算法 I.此方法的工作方式与密钥 SHA 相同,但序列号会随每个数据包更新。尽管此方法比密钥 SHA 和简单密码更安全,但可能需要额外的时间来验证会话。
细致密钥 md5 和细致密钥 sha-1 身份验证算法不支持不间断活动路由 (NSR)。切换后,使用这些算法的 BFD 会话可能会中断。
QFX5000 系列交换机和 EX4600 交换机不支持小于 1 秒的最小间隔值。
安全认证钥匙串
安全身份验证密钥链定义用于身份验证密钥更新的身份验证属性。通过密钥链名称配置安全认证密钥链并与协议关联时,可以在不中断路由和信令协议的情况下进行认证密钥更新。
身份验证钥匙串包含一个或多个钥匙串。每个钥匙串都包含一个或多个钥匙。每个密钥都保存密钥数据以及密钥生效的时间。必须在 BFD 会话的两端配置算法和钥匙串,并且它们必须匹配。配置中的任何不匹配都会阻止创建 BFD 会话。
BFD 允许每个会话有多个客户端,并且每个客户端都可以定义自己的密钥链和算法。为避免混淆,建议仅指定一个安全认证钥匙串。
严格身份验证与松散身份验证
默认情况下,将启用严格身份验证,并在每个 BFD 会话的两端检查身份验证。或者,要从未经身份验证的会话顺利迁移到已经过身份验证的会话,您可以配置 松散检查。配置松散检查时,将接受数据包,而不会在会话的每一端检查身份验证。此功能仅适用于过渡期。