顾名思义,Internet协议安全性(IPsec)在Internet协议(IP)层提供安全性。 本教程需要基本了解什么是IPsec,以及如何将其用于保护网络上的数据。 您可以参考知识中心或Wiki之类的其他资源来熟悉IPsec。
本教程讨论了在AIX(6.1 / 7.1 / 7.2)和Windows 2012系统之间建立IPsec隧道的两种不同方法。 这些方法涉及在AIX和Windows系统之间使用IKEv2的预共享密钥和证书。 表1简要描述了本教程中涉及的主要主题及其含义。
本节说明了一些术语,例如发起方和响应方,并重点介绍了本教程所基于的一些假设。
在本教程中,出于说明目的,我们提到了AIX系统的IP为1.1.1.1,Windows系统的IP为2.2.2.2。 这些需要替换为您环境中的相应IP。 源和目标系统矩阵:源始终是创建和发送数据包的系统。 目的地始终是接收目的地的系统。 该表(表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表示设备已成功配置。在继续执行本节中的步骤之前,如果已将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
PS C:\> $IPsMMCP = New-NetIPsecMainModeCryptoProposal -Encryption AES256 -Hash SHA256 -KeyExchange DH2
PS C:\> $IPsMMCS = New-NetIPsecMainModeCryptoSet -DisplayName "Main Mode crypto set" -proposal $IPsMMCP
PS C:\> New-NetIPsecMainModeRule -DisplayName "Main Mode Rule" -MainModeCryptoSet $IPsMMCS.Name -Phase1AuthSet $IPsP1AS.Name
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的输出。
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
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"在继续执行本节中的步骤之前,如果已将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的输出中看到预共享的密钥数据:
本教程说明了如何使用证书和预共享密钥在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文档开发的。 您可以考虑将本教程中提到的步骤作为入门的指导。 隧道尽头总是有光。 因此,享受配置隧道的乐趣!
翻译自: https://www.ibm.com/developerworks/aix/library/au-aix-ipsec-tunnel-config-3/index.html
相关资源:《互联网密钥交换协议(IKEv2)技术要求》 (YD_T 1897-2009).pdf