为 FIPS 模式配置 IPsec
配置 IPsec 以在 FIPS 模式下启用 Junos OS 路由引擎之间的内部通信
在 FIPS 模式下 的 Junos OS 环境中,具有两个路由引擎的路由器必须使用 IPsec 在路由引擎之间进行内部通信。在 FIPS 模式下安装 Junos OS 后,可以配置内部 IPsec。您必须是 加密官员 才能配置内部 IPsec。
您无法在 FIPS 模式下的 Junos OS 中配置基于 DES 的 IPsec SA。内部 IPsec SA 使用 HMAC-SHA1-96 身份验证和 3DES-CBC 加密。
手动 SA 不需要协商。所有值(包括键)都是静态的,并在配置中指定。手动 SA 静态定义要使用的 SPI 值、算法和密钥,并要求隧道两端的配置匹配。每个对等方必须具有相同的配置选项才能进行通信。
当交换机处于 FIPS 模式时,在每个路由引擎上建立 IPsec SA 之前,无法使用 commit synchronize
命令。
作为加密官员,您可以通过在每个路由引擎上使用以下语句在层次结构级别上 [security]
创建一个 SA,为路由引擎之间的通信配置内部 IPsec SA:
要配置内部 IPsec,请在层次结构级别包含 security-association
语句 [security]
。您可以配置参数,例如必须应用手动 IPsec SA 的方向、唯一标识要在接收路由引擎上使用的 SA 的 SPI 值,以及定义手动 IPsec SA 的身份验证和加密密钥的 IPsec 密钥。
[ security] ipsec { internal { security-association { manual { direction (bidirectional | inbound | outbound) { protocol esp; spi spi-value; encryption { algorithm (hmac-sha1-96 | hmac-sha2-256); key (ascii-text ascii-text-string | hexadecimal hexadecimal-number); } } } } } }
为 Junos-FIPS 配置内部 IPsec 的任务如下。您可以配置必须应用手动 IPsec SA 的方向、唯一标识要在接收路由引擎上使用的 SA 的 SPI 值,以及定义手动 IPsec SA 的身份验证和加密密钥的 IPsec 密钥。
配置 SA 方向
要配置必须应用 IPsec 隧道的手动 SA 的 IPsec SA 方向,请在层次结构级别包含 direction
以下语句 [security ipsec internal security-association manual]
:
direction (bidirectional | inbound | outbound);
该值可以是以下值之一:
bidirectional
— 在路由引擎之间的两个方向上应用相同的 SA 值。inbound
— 仅将这些 SA 属性应用于入站 IPsec 隧道。outbound
— 仅将这些 SA 属性应用于出站 IPsec 隧道。
如果未将 SA 配置为双向,则必须在入站和出站方向上为 IPsec 隧道配置 SA 参数。以下示例使用入站和出站 IPsec 隧道:
我们建议您不要在 FIPS 模式下将 IPsec 密钥用作 Junos OS 的 ASCII 密钥。相反,您必须将 IPsec 密钥用作十六进制密钥,以获得最大的密钥强度。
[security] ipsec { internal { security-association { manual { direction inbound { protocol esp; spi 512; encryption { algorithm 3des-cbc; key hexadecimal 309fc4be20f04e53e011b00744642d3fe66c2c7c; } } direction outbound { protocol esp; spi 513; encryption { algorithm 3des-cbc; key hexadecimal b0344c61d8db38535ca8afceaf0bf12b881dc200c9833da7; } } } } } }
配置 IPsec SPI
安全参数索引 (SPI) 是一个 32 位索引,用于标识一对路由引擎之间的安全上下文。要配置 IPsec SPI 值,请在层次结构级别包含spi
[security ipsec internal security-association manual direction]
语句:
spi value;
该值必须介于 256 到 16,639 之间。
配置 IPsec 密钥
我们建议您不要在 FIPS 模式下将 IPsec 密钥用作 Junos OS 的 ASCII 密钥。相反,您必须将 IPsec 密钥用作十六进制密钥,以获得最大的密钥强度。
密钥的分配和管理对于成功使用 VPN 至关重要。您必须配置 ASCII 文本密钥值以进行身份验证和加密。要配置 ASCII 文本密钥,请在层次结构级别包含 key
语句 [security ipsec internal security-association manual direction encryption]
:
key (ascii-text ascii-text-string | hexadecimal hexadecimal-string);
对于这种类型的 SA,两个密钥都必须是预共享的十六进制值,并且每个密钥都需要特定的加密算法:
身份验证算法
HMAC-SHA1-96(40 个字符)
HMAC-SHA2-256(64 个字符)
加密算法
3DES-CBC(48 个字符)
必须输入密钥十六进制值两次,并且输入的字符串必须匹配,否则将无法设置密钥。十六进制密钥永远不会以纯文本形式显示。建议将 IPsec 密钥用作十六进制密钥以获得最大密钥强度,而不是在 FIPS 模式下用作 Junos OS 的 ASCII 密钥。
示例:配置内部 IPsec
配置具有 SPI 值 512 且密钥值符合 FIPS 140-2 规则的双向 IPsec SA:
[edit security] ipsec { internal { security-association { manual { direction bidirectional { protocol esp; spi 512; encryption { algorithm 3des-cbc; key ascii-text “$ABC123”; } } } } } }