Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

配置高级 MACsec 功能

媒体访问控制安全 (MACsec) 是一种行业标准的安全技术,为以太网链路上几乎所有类型的流量提供安全通信。MACsec 在直接连接的节点之间提供以太网链路的点对点安全,能够识别和阻止大多数安全威胁,包括拒绝服务、入侵、中间人攻击、伪装、被动窃听和回放攻击。MACsec 在 IEEE 802.1AE 中实现标准化。

配置加密选项

分配加密算法

您可以使用以下任一 MACsec 加密算法对进入或离开接口的所有信息流进行加密:

  • gcm-aes-128 — GCM-AES-128 密码套件,不带扩展数据包编号 (XPN) 模式

  • gcm-aes-256 — 不带 XPN 的 GCM-AES-256 密码套件

  • gcm-aes-xpn-128 — 采用 XPN 模式的 GCM-AES-XPN_128 密码套件

  • gcm-aes-xpn-256 — 采用 XPN 模式的 GCM-AES-XPN_256 密码套件

如果启用了 MACsec 加密,并且未指定加密算法,则不使用 XPN 模式即可使用默认 (gcm-aes-128) 加密算法。

注意:

强烈建议在 40G 和 100G 链路上使用 MACsec 时使用 XPN。

注意:
  • MX 系列 MPC7E-10G 路由器不支持具有 XPN 模式的加密算法。

  • MIC-3D-20GE-SFP-E 和 MIC-3D-20GE-SFP-EH 仅支持 GCM-AES-128。

例如,如果您想使用连接关联中的 GCM-AES-XPN-128 算法进行加密,该算法名为 ca1

禁用加密

MACsec 的默认行为是加密通过链路的信息流。如果仅想使用 MACsec 来验证端点并保证链路的完整性,则可以禁用加密。这称为仅限完整性模式。如果您需要在多个跃点上承载 MACsec 时能够看到未加密的有效负载,则仅完整性模式很有用。

禁用加密时,流量将通过以太网链路以明文转发。监控链路时,您可以在遍历链路的以太网帧中查看未加密的数据。但是,MACsec 标头仍然应用于帧,并且所有 MACsec 数据完整性检查均在链路的两端运行,以确保链路上发送或接收的信息流不会被篡改,也不会代表安全威胁。

要禁用加密,请使用以下命令:

配置偏移

偏移在完全分段和不加密之间提供选项。配置偏移以暴露一组有效负载字节并加密其余的字节。对于交换机到主机链路,这可用于中间负载平衡或在主机上进行负载分配。

默认偏移为 0。启用 offset 加密且未设置加密时,连接关联中的所有信息流均已加密。

将偏移设置为 30 时,IPv4 标头和 TCP/UDP 标头在加密其余流量时不加密。将偏移设置为 50 时,IPv6 标头和 TCP/UDP 标头在加密其余流量时不加密。

如果需要在八位位组中查看数据以执行功能,则通常会使用前 30 个或 50 个八位位组转发信息流,但除此之外,您更愿意对遍历链路的帧中的剩余数据进行加密。特别是负载平衡功能,通常需要在前 30 或 50 个八位位组中看到 IP 和 TCP/UDP 标头,以便合理地平衡流量。

要配置偏移,请使用以下命令:

例如,如果要将偏移设置为连接关联中的 30,名为 ca1

配置预共享的无中断切换密钥链(建议在路由器到路由器链路上启用 MACsec)

在 17.4R1 版本之前使用静态连接关联键 (CAK) 的 MACsec 实施中,允许用户为每个连接关联配置一个静态 CAK。每当 CAK 配置发生变化时,MACsec 会话就会被丢弃、重置对等会话或中断路由协议。

为了提高安全性并防止会话在 CAK 配置发生变化时丢弃会话,将实施无中断的反转密钥链功能。在本实施中,将使用具有多个安全密钥、密钥名称和开始时间的关键链。密钥链中的每个密钥都有独特的开始时间。在下一个密钥的启动时间,从当前密钥转到下一个密钥,下一个密钥变成当前密钥。随着无中断反转密钥链功能的实施,MACsec 密钥协议 (MKA) 协议可在 CAK 配置发生变化时成功建立 MACsec 会话,而不会中断任何会话。

对于使用预共享密钥 (PSK) 无中断反转密钥链的成功 MACsec 配置:

  • 参与的两个节点中的密钥链名称、密钥和开始时间必须相同。

  • 参与的节点中的密钥链名称、密钥和开始时间的顺序必须相同。

  • 必须在参与的节点中同步时间。

authentication-key-chains现有和macsec connectivity-association命令用于实施无中断反转密钥链,并添加了两个新属性:

  • key-name—认证密钥名称,用作 key-name MACsec 的 CKN。

  • pre-shared-key-chain— 预共享连接关联键链名称。

要通过使用 MACsec 与 PSK 无中断反转密钥链配置来保护路由器到路由器以太网链路:

注意:

确保您按相同的顺序在参与的节点中执行以下步骤。

  1. 将参与节点中的时间同步到同一个 NTP 服务器。

    例如,要根据 NTP 服务器 192.168.40.1 设置日期和时间,请输入:

  2. 密钥链中配置一组 PSK。密钥链由安全密钥、密钥名称和开始时间组成。

    要配置密钥链:

    1. 创建要使用的密钥密码。这是一串六角数字,长达 64 个字符。如果字符字符串以引号括起来,则密码可以包含空格。密钥链的秘密数据用作 CAK。

      例如,要创建密钥密码 01111233444556678899bbccddeeff 用于密钥链macsec_key_chain和密钥 1,请输入:

    2. 配置认证密钥名称。这是一串六角数字,长达 32 个字符。

      例如,要创建密钥名称 01112233444566778899bbccddeefe,请输入:

    3. 配置预共享反转密钥链启动的时间。

      例如,如果您希望密钥名称为 0111223344556678899abbcdeefe 在 2017-12-18.20:55:00 +0000 开始反转,请输入:

  3. 将新创建的密钥链与 MACsec 连接关联相关联。
    1. 为连接关联配置 MACsec 安全模式。

      例如,要使用安全模式静态 cak 配置连接关联 ca1,请输入:

    2. 将预共享密钥链名称与连接关联相关联。

      例如,如果要将密钥链名称macsec_key_chain与连接关联 ca1 相关联,请输入:

  4. 分配与指定 MACsec 接口的已配置连接关联。

    例如,要将连接关联 ca1 分配给接口 ge-0/0/1:

在故障开放模式下配置 MACsec 关键协议协议

您可以为 MACsec 配置故障开放模式,以防止在 MKA 会话处于非活动状态时信息流被丢弃。建议服务提供商将网络可用性优先于信息安全。

MACsec 通过将 MACsec 标头附加到在 MACsec 安全链路上传输的以太网帧来维护数据完整性。当 MKA 会话处于活动状态时,链路上仅允许带 MACsec 标头的帧信息流。当 MKA 会话处于非活动状态时,帧将不会收到 MACsec 标头。所有流量(包括入口和出口)都将被丢弃。唯一例外是 EAPoL 流量。

您可以使用 should-secure CLI 语句配置故障开放模式。即使 MKA 会话处于非活动状态,也允许在 MACsec 安全链路上进行流量。信息流以明文方式传输,无需 MACsec 标头。

要在故障开放模式下配置 MKA 协议:

配置重放保护

MACsec 将 ID 编号分配给 MACsec 安全链路上的每个数据包。启用重放保护后,接收接口将检查通过 MACsec 安全链路的所有数据包的 ID 编号。如果数据包不按顺序到达,并且数据包编号之间的差异超过重放保护窗口大小,则接收接口将丢弃数据包。

例如,如果回放保护窗口大小设置为 5,而分配的 1006 ID 的数据包在分配给 1000 的 ID 后立即到达接收链路,则带有 ID 1006 的数据包将因其不在重放保护窗口之外而丢弃。

重放保护对于对抗中间人攻击很有用。由以太网链路上的中间人攻击者重放的数据包将按顺序到达接收链路,因此重放保护有助于确保回放的数据包被丢弃,而不是通过网络转发。

注意:

通过将回放窗口大小设置为 0,可以要求所有数据包按顺序到达。如果数据包预计无法得到订单,则不应启用重放保护。

要启用重播保护,请使用以下命令:

例如,要在连接关联 ca1上以五个窗口大小启用回放保护:

配置边界延迟保护

您可以配置受限的延迟保护,以确保媒体访问控制安全 (MACsec) 帧在延迟两秒或更短后不会交付。这可确保中间人攻击导致的 MACsec 帧延迟不会被检测到。

配置绑定延迟保护时,还必须配置重放保护。这是允许重复和重放数据包的窗口。绑定延迟优先于重放保护。您可以为窗口大小配置较低的值,从而提高受限延迟保护的有效性。

配置绑定延迟保护之前,必须配置重放保护。请参阅 配置重放保护

要配置绑定延迟保护,请使用以下命令:

注意:

受限的延迟会影响 CPU 利用率,从而降低性能。我们只建议在绝对需要的接口上配置绑定延迟。

使用回退 PSK 配置 MACsec

使用静态 CAK 安全模式启用 MACsec 时,会在点对点以太网链路每端的设备之间交换预共享密钥 (PSK)。PSK 包括连接关联名称 (CKN) 和连接关联密钥 (CAK)。PSK 必须跨设备匹配,才能建立 MACsec 会话。如果存在不匹配,将无法建立会话,并且将丢弃所有数据包。

如果主 PSK 未能建立连接,您可以配置回退 PSK 以防止流量丢失。当主密钥与初始 MACsec 协商不匹配时,将使用回退 PSK。

如果已建立 MACsec 会话,并且主 PSK 在一台设备上更改,但未更改另一个设备,则由此产生的不匹配将通过使用旧的主 PSK 来解决。较旧的主 PSK 是称为前述 PSK 的临时密钥。

配置了回退 PSK 后,可使用以下一个密钥保护 MACsec 会话:

  • 主 PSK(可配置)— 首选密钥。

  • 回退 PSK(可配置)—在主要 PSK 无法建立 MACsec 会话时使用。

  • 前方 PSK(不可配置)—配置新主 PSK 时,旧的主 PSK 将成为前述 PSK。

每个密钥的 CAK 状态可以是实时的、有效的,也可以是在进行中。有关每个状态的说明,请参阅 表 1

表 1:CAK 状态说明
CAK 状态 说明

  • CAK 已通过 MKA 验证。

  • MACsec 会话已上线。

  • 使用此密钥成功生成 SAK。

  • CAK 用于对 MACsec 会话进行加密和解密。

  • 以配置的间隔为此密钥发送和接收 MKA hello 数据包。

积极

  • CAK 已通过 MKA 验证。

  • MACsec 会话已上线。

  • 未使用此密钥生成 SAK。

  • CAK 不用于对 MACsec 会话进行加密和解密。

  • 以配置的间隔为此密钥发送和接收 MKA hello 数据包。

正在进行中

  • 未找到有效的现场或潜在对等方。

  • MACsec 会话正在查找对等方。

  • 以配置的间隔为此密钥发送 MKA hello 数据包。

如果在 MACsec 链路的一侧配置了新 PSK,另一侧的密钥配置不当或未使用新密钥配置,则会出现密钥不匹配。回退行为取决于 PSK 的哪些组件已更改(CAK、CKN 或两者兼有)。每个不匹配场景均如下所述:

  • 如果 CAK 已更改,并且 CKN 保持不变,则现有 MACsec 会话将断开连接。将使用旧 CKN 和新 CAK 值启动新会话。

  • 如果 CKN 已更改,并且 CAK 保持不变,则与现有 CAK 配对的旧 CKN 将成为之前的 PSK,并且会话将与之前的 PSK 配合使用。新会话由新创建的 CKN 和 CAK 启动,这将在进行中,直至对等节点也使用相同的 CKN 配置。

  • 如果同时更改了 CAK 和 CKN,则旧的 CAK+CKN 对将成为之前的 PSK,并且会话将与前面的 PSK 配合使用。新会话由新 CAK+CKN 对启动,将在对等节点使用同一 CAK+CKN 配置对等节点之前继续进行。

注意:

前面的 PSK 优先于回退 PSK,因此如果会话与前面的 PSK 配合使用,则回退 PSK 将不会生效。如果您希望该会话与回退 PSK 配合使用,则必须配置该 disable-preceding-key 语句。

预共享密钥链支持回退 PSK。您可以配置回退 PSK 以及预共享密钥或预共享密钥链。预共享密钥和预共享密钥链是相互排斥的。

如果只配置了回退 PSK,并且没有主 PSK,则两台设备都尝试与回退 PSK 建立会话。如果会话出现,从回退 PSK 派生出的 SAK 用于数据流量加密。如果已建立的会话中断,设备将继续尝试重新建立会话,并在重新建立会话之前丢弃流量。

回退 PSK 配置为连接关联 (CA) 的一部分。CA 可为所有接口或每个接口进行全局配置,从而允许不同接口的不同回退密钥。

要配置回退 PSK,请将 CAK 和 CKN 配置为 CA 的一部分:

以下限制适用于回退 PSK 配置:

  • 回退 CAK 和 CKN 不应与在同一 CA 下密钥链中配置的预共享密钥 CKN 和 CAK 或任何密钥匹配。

  • 必须存在安全模式配置才能配置回退密钥。

  • 配置的密码套件的关键长度限制适用于回退 CAK 和 CKN。