Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

通过线缆加密配置 IP 安全性( IP security , IPsec )

贡献者

ONTAP在传输模式下使用互联网协议安全性(Internet Protocol Security、IPsec)来确保数据持续安全和加密、即使在传输过程中也是如此。IPsec 为所有 IP 流量提供数据加密,包括 NFS , iSCSI 和 SMB 协议。

从ONTAP 9.12.1开始、MetroCluster IP和MetroCluster 光纤连接配置支持前端主机协议IPsec。
MetroCluster 集群中的IPsec支持仅限于前端主机流量、MetroCluster 集群间LIF不支持。

从 ONTAP 9.10.1 开始,您可以使用预共享密钥( PSK )或证书通过 IPsec 进行身份验证。以前, IPsec 仅支持 PSK 。

从ONTAP 9.1.1开始、IPsec使用的加密算法已通过FIPS 140-2验证。这些算法由ONTAP 中的NetApp加密模块生成、该模块执行FIPS 140-2验证。

从ONTAP 9.8开始、ONTAP支持在传输模式下使用IPsec。

配置 IPsec 后,客户端和 ONTAP 之间的网络流量将通过预防措施得到保护,以防止重放和中间人( MIM )攻击。

对于 NetApp SnapMirror 和集群对等流量加密,仍然建议使用集群对等加密( Cluster peering encryption , CPE )和传输层安全( Transport Layer Security , TLS )而不是通过 IPsec 进行,以便通过线缆进行安全传输。这是因为 TLS 的性能优于 IPsec 。

在集群上启用了 IPsec 功能时,网络需要使用安全策略数据库( SPD )条目来匹配要保护的流量,并指定保护详细信息(例如密码套件和身份验证方法),然后才能使流量流动。每个客户端上也需要相应的 SPD 条目。

在集群上启用 IPsec

您可以在集群上启用 IPsec ,以确保数据持续安全和加密,即使在传输期间也是如此。

步骤
  1. 发现是否已启用 IPsec :

    security ipsec config show

    如果结果包括 `IPsec Enabled: false`下,继续下一步。

  2. 启用 IPsec :

    security ipsec config modify -is-enabled true

  3. 再次运行 discovery 命令:

    security ipsec config show

    结果现在包括 IPsec Enabled: true

准备使用证书身份验证创建IPsec策略

如果您仅使用预共享密钥(PSK)进行身份验证、而不使用证书身份验证、则可以跳过此步骤。

在创建使用证书进行身份验证的IPsec策略之前,必须验证是否满足以下前提条件:

  • ONTAP和客户端都必须安装另一方的CA证书、以使最终实体(ONTAP或客户端)证书可由双方验证

  • 系统会为参与此策略的 ONTAP LIF 安装证书

备注 ONTAP LIF 可以共享证书。不需要在证书和 LIF 之间进行一对一映射。
步骤
  1. 将在相互身份验证期间使用的所有CA证书(包括ONTAP端和客户端CA)安装到ONTAP证书管理中、除非已安装(例如ONTAP自签名根CA)。

    命令示例
    cluster::> security certificate install -vserver svm_name -type server-ca -cert-name my_ca_cert

  2. 要确保安装的CA在身份验证期间位于IPsec CA搜索路径内、请使用将ONTAP证书管理CA添加到IPsec模块 security ipsec ca-certificate add 命令:

    命令示例
    cluster::> security ipsec ca-certificate add -vserver svm_name -ca-certs my_ca_cert

  3. 创建并安装一个证书以供 ONTAP LIF 使用。此证书的颁发者 CA 必须已安装到 ONTAP 并添加到 IPsec 中。

    命令示例
    cluster::> security certificate install -vserver svm_name -type server -cert-name my_nfs_server_cert

有关ONTAP中证书的详细信息,请参见ONTAP 9文档中的security certificates命令。

定义安全策略数据库( SPD )

在允许流量在网络上流动之前, IPsec 需要 SPD 条目。无论您使用的是 PSk 还是证书进行身份验证,都是如此。

步骤
  1. 使用 security ipsec policy create 命令:

    1. 选择要参与 ONTAP 传输的 IPsec IP 地址或 IP 地址子网。

    2. 选择要连接到 ONTAP IP 地址的客户端 IP 地址。

      备注 客户端必须使用预共享密钥( psk )支持 Internet 密钥交换版本 2 ( IKEv2 )。
    3. 可选。选择细化的流量参数、例如上层协议(UDP、TCP、ICMP等) )、本地端口号和用于保护流量的远程端口号。相应的参数为 protocolslocal-portsremote-ports

      跳过此步骤可保护 ONTAP IP 地址和客户端 IP 地址之间的所有流量。默认情况下,保护所有流量。

    4. 为输入PSK或公共密钥基础架构(PKI) auth-method 所需身份验证方法的参数。

      1. 如果输入PSK、请包含参数、然后按<enter>显示提示、以输入并验证预共享密钥。

        备注 local-identityremote-identity 如果主机和客户端均使用strong、并且未为主机或客户端选择通配符策略、则参数为可选参数。
      2. 如果输入PKI、则还需要输入 cert-namelocal-identityremote-identity parameters如果远程端证书标识未知、或者如果需要多个客户端标识、请输入特殊标识 ANYTHING

security ipsec policy create -vserver vs1 -name test34 -local-ip-subnets 192.168.134.34/32 -remote-ip-subnets 192.168.134.44/32
Enter the preshared key for IPsec Policy _test34_ on Vserver _vs1_:
security ipsec policy create -vserver vs1 -name test34 -local-ip-subnets 192.168.134.34/32 -remote-ip-subnets 192.168.134.44/32 -local-ports 2049 -protocols tcp -auth-method PKI -cert-name my_nfs_server_cert -local-identity CN=netapp.ipsec.lif1.vs0 -remote-identity ANYTHING

只有在ONTAP和客户端都设置了匹配的IPsec策略并且身份验证凭据(PSK或证书)在两端都到位之后、IP流量才能在客户端和服务器之间流动。有关详细信息、请参见客户端IPsec配置。

使用 IPsec 身份

对于预共享密钥身份验证方法、如果主机和客户端都使用strong、并且未为主机或客户端选择通配符策略、则本地和远程标识是可选的。

对于 PKI/ 证书身份验证方法,本地和远程身份都是必需的。这些身份用于指定在每一方的证书中进行认证并在验证过程中使用的身份。如果远程身份未知或可能是多个不同的身份、请使用特殊身份 ANYTHING

关于此任务

在 ONTAP 中,标识是通过修改 SPD 条目或在创建 SPD 策略期间指定的。SPD 可以是 IP 地址或字符串格式的标识名称。

步骤

要修改现有SPD标识设置、请使用以下命令:

security ipsec policy modify

命令示例

security ipsec policy modify -vserver vs1 -name test34 -local-identity 192.168.134.34 -remote-identity client.fooboo.com

IPsec 多客户端配置

如果少数客户端需要利用 IPsec ,则为每个客户端使用一个 SPD 条目就足以满足要求。但是,当数百甚至数千个客户端需要利用 IPsec 时, NetApp 建议使用 IPsec 多客户端配置。

关于此任务

ONTAP 支持将多个网络中的多个客户端连接到启用了 IPsec 的单个 SVM IP 地址。您可以使用以下方法之一完成此操作:

  • * 子网配置 *

    要允许特定子网上的所有客户端(例如192.168.134.0/24)使用单个SPD策略条目连接到单个SVM IP地址、必须指定 remote-ip-subnets 子网形式。此外、您还必须指定 remote-identity 具有正确客户端标识的字段。

备注 在子网配置中使用单个策略条目时,该子网中的 IPsec 客户端将共享 IPsec 身份和预共享密钥( PSk )。但是,对于证书身份验证,情况并非如此。使用证书时,每个客户端都可以使用自己的唯一证书或共享证书进行身份验证。ONTAP IPsec 会根据安装在其本地信任存储上的 CA 检查证书的有效性。ONTAP 还支持证书撤消列表( Certificate Revocation List , CRL )检查。
  • * 允许所有客户端配置 *

    要允许任何客户端(无论其源IP地址如何)连接到已启用SVM IPsec的IP地址、请使用 0.0.0.0/0 指定时使用通配符 remote-ip-subnets 字段。

    此外、您还必须指定 remote-identity 具有正确客户端标识的字段。对于证书身份验证、您可以输入 ANYTHING

    此外、当 0.0.0.0/0 如果使用通配符、则必须配置要使用的特定本地或远程端口号。例如: NFS port 2049

    步骤
    1. 使用以下命令之一为多个客户端配置IPsec。

      1. 如果使用*subnetconfiguration (子网配置)*支持多个IPsec客户端:

        security ipsec policy create -vserver vserver_name -name policy_name -local-ip-subnets IPsec_IP_address/32 -remote-ip-subnets IP_address/subnet -local-identity local_id -remote-identity remote_id

      命令示例

      security ipsec policy create -vserver vs1 -name subnet134 -local-ip-subnets 192.168.134.34/32 -remote-ip-subnets 192.168.134.0/24 -local-identity ontap_side_identity -remote-identity client_side_identity

      1. 如果使用*允许所有客户端配置*支持多个IPsec客户端:

        security ipsec policy create -vserver vserver_name -name policy_name -local-ip-subnets IPsec_IP_address/32 -remote-ip-subnets 0.0.0.0/0 -local-ports port_number -local-identity local_id -remote-identity remote_id

    命令示例

    security ipsec policy create -vserver vs1 -name test35 -local-ip-subnets IPsec_IP_address/32 -remote-ip-subnets 0.0.0.0/0 -local-ports 2049 -local-identity ontap_side_identity -remote-identity client_side_identity

IPsec 统计信息

通过协商,可以在 ONTAP SVM IP 地址和客户端 IP 地址之间建立一个称为 "ike 安全关联( SA ) " 的安全通道。IPsec SAS 安装在两个端点上,用于执行实际的数据加密和解密工作。

您可以使用 statistics 命令来检查 IPsec SAS 和 ike SAS 的状态。

命令示例

IKESA 命令示例:

security ipsec show-ikesa -node hosting_node_name_for_svm_ip

IPsec SA 命令和输出示例:

security ipsec show-ipsecsa -node hosting_node_name_for_svm_ip

cluster1::> security ipsec show-ikesa -node cluster1-node1
            Policy Local           Remote
Vserver     Name   Address         Address         Initator-SPI     State
----------- ------ --------------- --------------- ---------------- -----------
vs1         test34
                   192.168.134.34  192.168.134.44  c764f9ee020cec69 ESTABLISHED

IPsec SA 命令和输出示例:

security ipsec show-ipsecsa -node hosting_node_name_for_svm_ip

cluster1::> security ipsec show-ipsecsa -node cluster1-node1
            Policy  Local           Remote          Inbound  Outbound
Vserver     Name    Address         Address         SPI      SPI      State
----------- ------- --------------- --------------- -------- -------- ---------
vs1         test34
                    192.168.134.34  192.168.134.44  c4c5b3d6 c2515559 INSTALLED