Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

路由协议身份验证

您可以为许多路由协议(包括 BGP、IS-IS、OSPF、RIP 和 RSVP)配置路由协议消息的身份验证方法和密码。为了防止交换未经身份验证或伪造的数据包,路由器必须确保它们与可信对等方形成路由协议关系(对等关系或邻接关系)。其中一种方法是验证路由协议消息。相邻路由器使用密码验证协议从路由器或路由器接口发送的数据包的真实性。

本主题提供高级概述和一些用于验证路由协议的基本示例。有关配置特定路由协议身份验证的详细信息,请参阅该协议的用户指南。

路由协议的身份验证方法

某些路由协议(BGP、IS-IS、OSPF、RIP 和 RSVP)允许您配置身份验证方法和密码。相邻路由器使用密码验证协议从路由器或路由器接口发送的数据包的真实性。支持以下身份验证方法:

  • 简单身份验证(IS-IS、OSPF 和 RIP)— 使用简单的文本密码。接收路由器使用身份验证密钥(密码)来验证数据包。由于传输的数据包中包含密码,因此此方法相对不安全。我们建议您 避免 使用此身份验证方法。

  • MD5 和 HMAC-MD5(BGP、IS-IS、OSPF、RIP 和 RSVP)— MD5 会创建一个编码校验和,该校验和包含在传输的数据包中。HMAC-MD5 将 HMAC 身份验证与 MD5 相结合,增加了迭代加密散列函数的使用。使用这两种类型的身份验证,接收路由器会使用身份验证密钥(密码)来验证数据包。HMAC-MD5 身份验证在 RFC 2104 HMAC:消息认证的密钥散列中定义。

一般来说,身份验证密码是文本字符串,由最大字母和数字数组成。密码可以包含任何 ASCII 字符。如果密码中包含空格,请将所有字符括在引号 (“”) 中。

示例:为 BGP 和 IS-IS 路由协议配置身份验证密钥

路由器的主要任务是使用其路由和转发表将用户流量转发到其预期目标。攻击者可以将伪造的路由协议数据包发送到路由器,企图更改或损坏其路由表或其他数据库的内容,这反过来又会降低路由器和网络的功能。为了防止此类攻击,路由器必须确保它们与可信对等方形成路由协议关系(对等或邻接关系)。其中一种方法是验证路由协议消息。我们强烈建议在配置路由协议时使用身份验证。

Junos OS Evolved 支持用于 BGP、IS-IS、OSPF、RIP 和 RSVP 的 HMAC-MD5 身份验证。HMAC-MD5 使用密钥与传输的数据相结合来计算散列。计算得出的散列随数据一起传输。接收方使用匹配密钥重新计算并验证消息散列。如果攻击者伪造或修改了消息,则哈希不匹配,数据将被丢弃。

在以下示例中,我们将 BGP 配置为外部网关协议 (EGP),将 IS-IS 配置为内部网关协议 (IGP)。如果使用 OSPF,则配置方式与显示的 IS-IS 配置类似。

配置 BGP

以下示例显示了为不同 BGP 对等组配置单个身份验证密钥。您还可以在邻接方或路由实例级别或者为所有 BGP 会话配置 BGP 身份验证。与任何安全配置一样,细粒度(在某种程度上,安全性程度)与维护系统所需的管理量之间存在权衡。

此示例还为路由协议事件和错误配置了多个跟踪选项,这些选项可以很好地指示对路由协议的攻击。这些事件包括协议身份验证故障,可能指向攻击者。攻击者可能会向路由器发送欺骗或以其他方式格式错误的路由数据包,试图诱发特定行为。

配置 IS-IS

尽管 Junos OS Evolved 支持所有 IGP 的身份验证,但某些 IGP 本质上比其他 IGP 更安全。大多数服务提供商使用 OSPF 或 IS-IS 来实现快速的内部融合和可扩展性,以及通过 MPLS 使用流量工程功能。由于 IS-IS 不在网络层运行,因此比 OSPF 更难欺骗。OSPF 封装在 IP 中,因此会受到远程欺骗和拒绝服务 (DoS) 攻击的攻击。

以下示例配置 IS-IS 身份验证。它还为路由协议事件和错误配置了多个跟踪选项,这些选项可以很好地指示对路由协议的攻击。这些事件包括协议身份验证故障,可能指向攻击者。攻击者可能会向路由器发送欺骗或以其他方式格式错误的路由数据包,试图诱发特定行为。

配置路由协议的身份验证密钥更新机制

您可以为 BGP、LDP 和 IS-IS 路由协议配置身份验证密钥更新机制。您可以通过此机制更新身份验证密钥,而无需中断相关的路由和信令协议,如 OSPF 和 RSVP。

要配置此功能,请在 authentication-key-chains 层级添加语句 [edit security] 。要应用密钥链,必须在协议的相应层级配置密钥链标识符和密钥链算法。

以下部分提供有关为路由协议配置身份验证密钥更新的更多信息。有关为特定路由协议配置身份验证密钥更新的详细信息,请参阅该协议的用户指南。

配置身份验证密钥更新

要配置身份验证密钥更新机制,请在 key-chain 层次结构级别包含该语句 [edit security authentication-key-chains] ,并指定 key 用于创建包含多个身份验证密钥的密钥链的选项。

key-chain- 为密钥链机制分配名称。您可以在相应的层级引用此名称,以便协议使用以下选项关联唯一身份验证 key-chain 属性:

  • algorithm-IS-IS 的身份验证算法。

  • key-可唯一标识密钥链中的每个密钥的整数值。范围从 0 到 63。

  • options-(仅限 IS-IS)协议传输编码格式,用于对路由协议数据包中的消息身份验证代码进行编码。

  • secret-加密文本或纯文本格式的密码。即使您以纯文本格式输入密钥数据,密钥也始终以加密格式显示。

  • start-time-身份验证密钥传输的开始时间,以 UTC 指定。开始时间在密钥链中必须是唯一的。

为身份验证密钥更新配置 BGP 和 LDP

要为 BGP 和 LDP 路由协议配置身份验证密钥更新机制,请在层次结构级别中包含语句authentication-key-chain[edit protocols (bgp | ldp)]。包括该语句会将authentication-key-chain每个路由协议与[edit security authentication-key-chains]身份验证密钥相关联。您还必须配置authentication-algorithm语句并指定算法。例如:

注意:

为 BGP 配置身份验证密钥更新机制时,您无法使用身份验证密钥或密钥链提交 0.0.0.0/allow 语句。如果尝试此操作,CLI 会发出警告,但提交会失败。