ikev2 ikev1

    技术2024-07-15  74

    顾名思义,Internet协议安全性(IPsec)在Internet协议(IP)层提供安全性。 本教程需要基本了解什么是IPsec,以及如何将其用于保护网络上的数据。 您可以参考知识中心或Wiki之类的其他资源来熟悉IPsec。

    本教程讨论了在AIX(6.1 / 7.1 / 7.2)和Windows 2012系统之间建立IPsec隧道的两种不同方法。 这些方法涉及在AIX和Windows系统之间使用IKEv2的预共享密钥和证书。 表1简要描述了本教程中涉及的主要主题及其含义。

    表1.涵盖的主要主题
    内容 描述 术语和假设 本节提供有关本教程中使用的重要术语的注释,以及一些配置设置的假设。 使用证书的IKEv2隧道 本部分说明了要在AIX上更新的必需的Internet密钥交换(IKE)XML文件。 它还详细说明了如何在Microsoft Windows 2012 IKEv2上使用PowerShell CLI。 使用预共享密钥的IKEv2隧道 本节说明了在AIX上更新所需的IKE XML文件。 Windows 2012上几乎所有要运行的步骤都与“ 使用证书的IKEv2隧道 ”部分中提到的步骤相同。 这两种方法在Windows上仅一步之遥。 本节仅突出显示此单个步骤。

    术语和假设

    本节说明了一些术语,例如发起方和响应方,并重点介绍了本教程所基于的一些假设。

    在本教程中,出于说明目的,我们提到了AIX系统的IP为1.1.1.1,Windows系统的IP为2.2.2.2。 这些需要替换为您环境中的相应IP。 源和目标系统矩阵:
    表2.源和目标IP
    系统 包方向 资源 目的地 在AIX上 传入 2.2.2.2(Windows) 1.1.1.1(AIX) 在AIX上 外向 1.1.1.1(AIX) 2.2.2.2(Windows) 在Windows上 传入 1.1.1.1(AIX) 2.2.2.2(Windows) 在Windows上 外向 2.2.2.2(Windows) 1.1.1.1(AIX)

    源始终是创建和发送数据包的系统。 目的地始终是接收目的地的系统。 该表(表2)需要从左到右读取。 例如,第一行的解释如下:

    在“ AIX”系统上,当数据包“传入”时,数据包中提到的源是“ 2.2.2.2(Windows)”,此数据包中提到的目的地是“ 1.1.1.1(AIX)”

    发起者是发起隧道连接的系统,响应者是响应发起者请求的系统。

    Windows或AIX系统都可以作为启动器。 您可以通过ping通或与AIX通信从Windows激活隧道。 或者,您可以在AIX上运行ike cmd=activate命令,隧道将处于活动状态。 如果这些方法之一不起作用,请尝试其他方法。

    对于此设置,您需要在AIX上配置IPsec设备。

    在AIX上运行lsdev -Cc ipsec命令将显示ipsec_v4设备可用。 否则运行smitty ipsec4.

    在“ smitty”面板中:

    选择“ 启动/停止IP安全” ,然后按Enter。 选择“ 启动IP安全性” ,然后按Enter。 在下一个屏幕上,保留默认设置,然后按Enter。 在“命令状态”屏幕上,消息ipsec_v4 Available表示设备已成功配置。

    使用证书在AIX和Windows之间建立IKEv2隧道

    在继续执行本节中的步骤之前,如果已将IKEv1策略分配给Windows系统,请取消分配它。 要取消分配v1策略,请参考AIX 6.1或更高版本与Windows 2012之间的IKEv1 IPsec隧道中图40所示的步骤。

    如果已分配策略,则右键单击该策略将显示“ 取消分配”而不是“ 分配” 。 单击取消分配以取消分配策略。

    在继续执行以下步骤之前,请参考教程“在AIX中生成证书并将证书导入Windows以用于IKE IPsec隧道” ,以在AIX上创建证书并导入Windows操作系统。

    需要在AIX系统上创建以下XML文件。 让我们将其命名为AIX-Windows-Certificates-IKEv2.xml。 使用以下命令将此XML添加到AIX上的IKE数据库:

    /usr/sbin/ikedb -x /usr/sbin/ikedb -p AIX-Windows-Certificates-IKEv2.xml <?xml version="1.0"?> <AIX_VPN Version="2.0"> <IKEProtection IKE_Role="Both" IKE_Version="2" IKE_XCHGMode="Main" IKE_KeyOverlap="10" IKE_Flags_UseCRL="No" IKE_ProtectionName="P1Pol" IKE_ResponderKeyRefreshMaxKB="200" IKE_ResponderKeyRefreshMinKB="1" IKE_ResponderKeyRefreshMaxMinutes="1440" IKE_ResponderKeyRefreshMinMinutes="1"> <IKETransform IKE_Encryption="AES-CBC-256" IKE_PRF="PRF_SHA2_256" IKE_Hash="SHA2_256" IKE_DHGroup="2" IKE_AuthenticationMethod="RSA_signatures"/> </IKEProtection> <IKETunnel IKE_TunnelName="P1" IKE_ProtectionRef="P1Pol" IKE_Flags_AutoStart="No" IKE_Flags_MakeRuleWithOptionalIP="Yes"> <IKELocalIdentity> <ASN1_DN Value="/C=IN/ST=KA/L=BA/O=IBM/OU=ISL/CN=test2"> <IPV4_Address Value="1.1.1.1"/> </ASN1_DN> </IKELocalIdentity> <IKERemoteIdentity> <ASN1_DN Value="/C=IN/ST=KA/L=BA/O=IBM/OU=ISL/CN=test1"> <IPV4_Address Value="2.2.2.2"/> </ASN1_DN> </IKERemoteIdentity> </IKETunnel> <IPSecProposal IPSec_ProposalName="P2Prop"> <IPSecESPProtocol ESP_Encryption="ESP_AES_256" ESP_KeyRefreshKB="0" ESP_Authentication="HMAC-SHA" ESP_ExtendedSeqNum="0" ESP_EncapsulationMode="Transport" ESP_KeyRefreshMinutes="30"/> </IPSecProposal> <IPSecProtection IPSec_Role="Both" IPSec_KeyOverlap="10" IPSec_ProposalRefs="P2Prop " IPSec_ProtectionName="P2Pol" IPSec_InitiatorDHGroup="0" IPSec_ResponderDHGroup="NO_PFS" IPSec_Flags_UseLifeSize="No" IPSec_Flags_UseCommitBit="No" IPSec_ResponderKeyRefreshMaxKB="200" IPSec_ResponderKeyRefreshMinKB="1" IPSec_ResponderKeyRefreshMaxMinutes="43200" IPSec_ResponderKeyRefreshMinMinutes="1"/> <IPSecTunnel IKE_TunnelName="P1" IPSec_TunnelName="P2" IPSec_ProtectionRef="P2Pol" IPSec_Flags_OnDemand="No" IPSec_Flags_AutoStart="No"> <IPSecLocalIdentity> <IPV4_Address_Range To_IPAddr="1.1.1.1" From_IPAddr="1.1.1.1"/> </IPSecLocalIdentity> <IPSecRemoteIdentity> <IPV4_Address_Range To_IPAddr="2.2.2.2" From_IPAddr="2.2.2.2"/> </IPSecRemoteIdentity> </IPSecTunnel> </AIX_VPN>

    为简单起见,让我们使用以下命令仅启动IKEv2守护程序:

    stopsrc -g ike startsrc -s tmd ; startsrc -s ikev2d; startsrc -s cpsd

    当我们仅启动ikev2d (IKEv2守护程序)时,我们不需要启动isakmpd (IKEv1)或iked (代理)守护程序。 仅需要tmd守护程序。

    您需要在Windows 2012系统上的Widows PowerShell上执行以下步骤,以使用证书创建IKEv2策略。

    这是一组示例命令,一定不能当作在Windows上实现IKEv2的标准方法。 您可以根据需要更改名称和属性。 同样,我们将PersistentStore用作PolicyStoreSource并在Windows 2012 PolicyStoreSourceType Local用于PolicyStoreSourceType 。

    PS C:\> $IPsAP = New-NetIPsecAuthProposal -Machine -Cert -Authority "C=IN, O=IBM, CN=ipsecroot" -AuthorityType Root

    PS C:\> $IPsP1AS = New-NetIpsecPhase1Authset -DisplayName "Phase1 Auth Set" -proposal $IPsAP

    图1. get-NetIPsecPhase1AuthSet输出

    PS C:\> $IPsMMCP = New-NetIPsecMainModeCryptoProposal -Encryption AES256 -Hash SHA256 -KeyExchange DH2

    PS C:\> $IPsMMCS = New-NetIPsecMainModeCryptoSet -DisplayName "Main Mode crypto set" -proposal $IPsMMCP

    图2. get-NetIPsecMainModeCryptoSet输出

    PS C:\> New-NetIPsecMainModeRule -DisplayName "Main Mode Rule" -MainModeCryptoSet $IPsMMCS.Name -Phase1AuthSet $IPsP1AS.Name

    图3. New-NetIPsecMainModeRule输出

    PS C:\> $IPsQMCP = New-NetIPsecQuickModeCryptoProposal -Encapsulation ESP -ESPHash SHA1 -Encryption AES256

    PS C:\> $IPsQMCS = New-NetIPsecQuickModeCryptoSet -DisplayName "IPsec quick Mode crypto set" -proposal $IPsQMCP

    我们可以运行Get-NetIPsecMainModeCryptoSet来检查以前的cmdlet的输出。

    图4. get-NetIPsecQuickModeCryptoSet输出

    PS C:\> New-NetIpsecRule -DisplayName "Ipsec Rule" -localaddress 2.2.2.2 -remoteaddress 1.1.1.1 -phase1AuthSet $IPsP1AS.InstanceID -requireAuthorization $true -Inboundsecurity require -Outboundsecurity require -KeyModule IKEv2 -Quickmodecryptoset $IPsQMCS.Name

    图5. New-NetIPsecRule输出

    PS C:\> Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True

    请注意,在运行Set-NetFirewallProfile命令时,基于Set-NetFireWallProfile的默认选项,其他没有IPsec规则的系统可能无法连接到Windows系统。 如果遇到任何问题,您需要在Microsoft官方网站上检查命令的选项以覆盖默认选项。

    如果要撤消上述配置,请先删除上次运行的规则并向后移动。 也就是说,首先使用remove - NetIpsecRule命令remove最后一条规则,然后再使用remove-NetIPsecQuickModeCryptoSet , remove-NetIPsecMainModeRule , remove-NetIPsecMainModeCryptoSet以及最后remove-NetIpsecPhase1AuthSet 。

    若要删除创建的IPsec规则,请运行以下cmdlet:

    remove-NetIpsecRule -displayName "Ipsec Rule"

    若要删除QuickModeCrypto集,请使用以下cmdlet:

    remove-NetIPsecQuickModeCryptoSet -displayName "IPsec quick Mode crypto set"

    若要删除MainModeRule使用以下cmdlet:

    remove-NetIPsecMainModeRule -displayName "Main Mode Rule"

    若要删除MainModeCryptoSet ,请使用以下cmdlet:

    remove-NetIPsecMainModeCryptoSet -displayName "Main Mode Crypto set"

    若要删除此phase1AuthSet ,请使用以下cmdlet:

    remove-NetIpsecPhase1AuthSet -displayName "Phase1 Auth set"

    使用预共享密钥在AIX和Windows之间建立IKEv2隧道

    在继续执行本节中的步骤之前,如果已将IKEv1策略分配给Windows系统,请取消分配它。 要取消分配v1策略,请参考AIX 6.1或更高版本与Windows 2012之间的IKEv1 IPsec隧道中图40中所示的步骤。 如果已分配策略,则右键单击该策略将显示“ 取消分配”而不是“ 分配” 。 单击取消分配以取消分配策略。

    否则,如果您尝试了前面提到的IKEv2步骤,请先运行上一节中引用的remove-命令,然后再继续操作。 接下来,使用前面提到的必需更改重新运行IKEv2 PowerShell命令。

    需要在AIX系统上创建以下XML文件。 让我们将其命名为AIX-Windows-PreShared-IKEv2.xml。 使用以下命令将此XML文件添加到AIX上的IKE数据库:

    /usr/sbin/ikedb -x /usr/sbin/ikedb -p AIX-Windows-PreShared-IKEv2.xml <?xml version="1.0"?> <AIX_VPN Version="2.0"> <IKEProtection IKE_Role="Both" IKE_Version="2" IKE_XCHGMode="Main" IKE_KeyOverlap="10" IKE_Flags_UseCRL="No" IKE_ProtectionName="P1Pol" IKE_ResponderKeyRefreshMaxKB="200" IKE_ResponderKeyRefreshMinKB="1" IKE_ResponderKeyRefreshMaxMinutes="1440" IKE_ResponderKeyRefreshMinMinutes="1"> <IKETransform IKE_Encryption="AES-CBC-256" IKE_PRF="PRF_SHA2_256" IKE_Hash="SHA2_256" IKE_DHGroup="2" IKE_AuthenticationMethod="Preshared_key"/> </IKEProtection> <IKETunnel IKE_TunnelName="P1" IKE_ProtectionRef="P1Pol" IKE_Flags_AutoStart="No" IKE_Flags_MakeRuleWithOptionalIP="Yes"> <IKELocalIdentity> <IPV4_Address Value="1.1.1.1"/> </IKELocalIdentity> <IKERemoteIdentity> <IPV4_Address Value="2.2.2.2"/> </IKERemoteIdentity> </IKETunnel> <IKEPresharedKey Value="12345" Format="ASCII"> <IKEPresharedRemoteID> <PK_IPV4_Address Value="2.2.2.2"/> </IKEPresharedRemoteID> </IKEPresharedKey> <IPSecProposal IPSec_ProposalName="P2Prop"> <IPSecESPProtocol ESP_Encryption="ESP_AES_256" ESP_KeyRefreshKB="0" ESP_Authentication="HMAC-SHA" ESP_ExtendedSeqNum="0" ESP_EncapsulationMode="Transport" ESP_KeyRefreshMinutes="480"/> </IPSecProposal> <IPSecProtection IPSec_Role="Both" IPSec_KeyOverlap="10" IPSec_ProposalRefs="P2Prop " IPSec_ProtectionName="P2Pol" IPSec_InitiatorDHGroup="5" IPSec_ResponderDHGroup="GROUP_5" IPSec_Flags_UseLifeSize="No" IPSec_Flags_UseCommitBit="No" IPSec_ResponderKeyRefreshMaxKB="200" IPSec_ResponderKeyRefreshMinKB="1" IPSec_ResponderKeyRefreshMaxMinutes="43200" IPSec_ResponderKeyRefreshMinMinutes="1"/> <IPSecTunnel IKE_TunnelName="P1" IPSec_TunnelName="P2" IPSec_ProtectionRef="P2Pol" IPSec_Flags_OnDemand="No" IPSec_Flags_AutoStart="No"> <IPSecLocalIdentity> <IPV4_Address_Range To_IPAddr="1.1.1.1" From_IPAddr="1.1.1.1"/> </IPSecLocalIdentity> <IPSecRemoteIdentity> <IPV4_Address_Range To_IPAddr="2.2.2.2" From_IPAddr="2.2.2.2"/> </IPSecRemoteIdentity> </IPSecTunnel> </AIX_VPN>

    为简单起见,让我们使用以下命令仅启动IKEv2守护程序:

    stopsrc -g ike startsrc -s tmd ; startsrc -s ikev2d

    当我们仅启动ikev2d (IKEv2守护程序)时,我们不需要启动isakmpd (IKEv1)或iked (代理)守护程序。 仅需要tmd守护程序。

    具有预共享密钥和证书的用于IKEv2隧道的PowerShell cmdlet仅一步之遥。 在“ 使用证书的AIX和Windows之间的IKEv2隧道 ”部分的第一步中,代替证书,我们将在New-NetIPsecAuthProposal使用预共享密钥,如下所示:

    PS C:\> $IPsAP = New-NetIPsecAuthProposal -Machine -PreSharedKey "12345"

    在预共享密钥配置中,“ AIX和Windows之间使用证书的IKEv2隧道 ”部分中遵循New-NetIpsecAuthProposal所有其他PowerShell步骤也相同。

    现在,我们将在get-NetIPsecPhase1AuthSet的输出中看到预共享的密钥数据:

    图6. get-NetIPsecPhase1AuthSet输出

    摘要

    本教程说明了如何使用证书和预共享密钥在AIX 6.1 / 7.1 / 7.2与Windows 2012系统之间建立IKEv2隧道。 以下教程说明了如何在AIX和Windows操作系统之间使用IKEv1建立隧道:

    AIX 6.1或更高版本与Windows 2012之间的IKEv1 IPsec隧道

    第2部分和第3部分共同解释了在AIX 6.1 / 7.1 / 7.2与Windows 2012系统之间建立隧道的四种不同方法。 这四种方法是使用AIX和Windows之间的预共享密钥和证书来建立IKEv1和IKEv2隧道。

    Windows的配置步骤(在本教程中进行了说明)在实验室中进行了尝试,并适用于测试团队。 这些步骤未得到Microsoft或IBM的认可。 在PowerShell上运行的所有步骤都是使用在线提供的Microsoft文档开发的。 您可以考虑将本教程中提到的步骤作为入门的指导。 隧道尽头总是有光。 因此,享受配置隧道的乐趣!

    相关话题

    Windows上的PowerShell命令 IKEv2的RFC

    翻译自: https://www.ibm.com/developerworks/aix/library/au-aix-ipsec-tunnel-config-3/index.html

    相关资源:《互联网密钥交换协议(IKEv2)技术要求》 (YD_T 1897-2009).pdf
    Processed: 0.010, SQL: 9