IPSec(Internet协议安全性)是用于保护IP通信的协议。 它对流经网络的每个IP数据包进行身份验证和加密。 当您尝试在不同系统之间进行互操作而不用担心它们之间的安全风险时,这一点尤其重要。
虚拟专用网络(VPN)是企业专用Intranet在诸如Internet之类的公用网络上的扩展,基本上通过专用隧道创建了安全的专用连接。 VPN通过Internet安全地传送信息,从而将远程用户,分支机构和业务合作伙伴连接到扩展的公司网络。
在VPN中,端到端路径上到处都有安全隐患:在拨号链接上,在ISP的访问盒中,在Internet中,在防火墙或路由器中,甚至在公司内部网中。 因此,需要保护该VPN。 Internet工程任务组建议使用IPSec协议保护隧道流量。
VPN端点上的异质性非常高,因此要求IPSec解决方案在异类系统和环境中必须能很好地工作。 因此,本文将讨论AIX IPSec解决方案及其在Windows下的配置,以展示该解决方案的异构功能。
为IPSec配置Windows 2000
Windows 2000的IPSec配置要求创建隧道参数以及使用IPSec管理单元的加密类型。
创建自定义MMC控制台
可以使用MMC(Microsoft管理控制台)来配置和监视Windows 2000计算机。 IPSec管理单元需要添加到此控制台。
- 在Windows桌面上,单击“ 开始” ,再单击“运行” ,然后在“ 打开”文本框中键入mmc 。 单击确定 。
- 在“ 文件”菜单上,单击“ 添加/删除管理单元” 。
- 在“ 添加/删除管理单元”对话框中,单击“ 添加” 。
- 在“ 添加独立管理单元”对话框中,单击“ IP安全策略管理” ,然后单击“ 添加” 。
- 确认已选择“ 本地计算机” ,然后单击“ 完成” 。
- 在“ 添加独立管理单元”对话框中,单击“ IP安全监视器” ,然后单击“ 添加” 。
- 要关闭“ 添加独立管理单元”对话框,请单击“ 关闭” 。
- 要关闭“ 添加/删除管理单元”对话框,请单击“ 确定” 。
- 将其另存为IPSec.msc,以备将来使用。
IPSec管理单元
创建IPSec策略
在此步骤中,我们使用与其他计算机进行协商的Windows计算机来创建和定义IPSec策略。
- 在MMC控制台中 ,右键单击“本地计算机上的IP安全策略” ,然后单击“ 创建IP安全策略” 。 出现IP安全策略向导。
IP安全策略向导
- 单击下一步 。
- 键入Policy1作为策略名称,然后单击Next 。
- 如果您想设置自己的规则,请清除激活默认响应规则复选框,然后单击下一步 。
- 确保选中了Edit Properties复选框(默认情况下),然后单击Finish 。
IPSec策略1已创建
- 在刚创建的策略的“ 属性”对话框中,确保已选中右下角的“ 使用添加向导”复选框,然后单击“ 添加”以启动“ 安全规则向导” 。
- 单击“ 下一步”继续执行“ 安全规则向导” ,该向导是在上一节末尾启动的。
- 选择“ 此规则不指定隧道 ”(默认选择),然后单击“ 下一步” 。
- 选择“ 所有网络连接 ”单选按钮(默认选中),然后单击“ 下一步” 。
创建过滤规则
- 在“ IP筛选器列表”对话框中,单击“ 添加” 。 将显示IP筛选器的空白列表。 将您的过滤器命名为Policy1过滤器列表 。
IP过滤器列表
Policy1过滤器列表
- 确保在屏幕的右上角选择了“ 使用添加向导” ,然后单击“ 添加” 。 这将启动IP筛选器向导 。
- 单击下一步继续。
- 单击下一步,接受我的IP地址作为默认源地址。
- 从下拉列表框中选择一个特定的IP地址 ; 输入您的合作伙伴IP地址 。 在这里,您还可以通过定义子网来使IPSec与多个主机通信,然后单击“ 下一步” 。
- 单击“ 下一步”以接受Any的协议类型。
- 确保清除“ 编辑属性”复选框(这是默认设置),然后单击“ 完成” 。
- 单击“ 关闭”离开“ IP筛选器列表”对话框,并返回到“ 新建规则向导” 。
- 在“ 过滤器列表”对话框中,选择“ Policy1过滤器列表”旁边的单选按钮。
Policy1筛选器列表已创建
- 单击下一步以配置过滤器操作。
配置过滤器动作
在本节中,我们定义过滤器执行的不同操作。
- 在“ 筛选器操作”图所示的“筛选器”对话框中,单击以选中“ 使用添加向导”复选框,然后单击“ 添加” 。
筛选动作
- 单击“ 下一步”继续执行“ 筛选器操作向导” 。
- 将此过滤器操作命名为Policy1过滤器操作 ,然后单击下一步 。
- 在“ 筛选器操作的常规选项”对话框中,选择“ 协商安全性” ,然后单击“ 下一步” 。
- 在下一个向导页面中,单击“不与不支持IPSec的计算机通信” ,然后单击“ 下一步”以保护计算机不受入侵者的侵害。
- 从安全方法列表中选择“ 自定义 ”,然后单击“ 设置” 。 本部分使您有机会选择是否要使用AH(身份验证头)或ESP(封装安全有效载荷)的安全方法。
- 选择要在IPSec隧道中使用的加密算法和哈希算法来加密数据。 单击“ 确定”退出“ 自定义设置” 。
- 单击下一步 。
选择安全方式
- 确保清除“ 编辑属性”复选框(这是默认设置),然后单击“ 完成”以关闭此向导。
- 在“ 筛选器操作”对话框中,单击“ Policy1筛选器操作”旁边的单选按钮,然后单击“ 下一步” 。
- 在“身份验证”方法中,选择“ 使用此字符串以保护密钥交换 (预共享密钥)”旁边的单选按钮。 如果您不想使用对称的预共享密钥,也可以指定证书。
- 提供您要用于IPSec隧道中的身份验证的预共享密钥(例如12345),然后单击下一步 。
- 确保清除“ 编辑属性”复选框(这是默认设置),然后单击“ 完成” 。 您刚刚配置了与伙伴协商期间将使用的过滤器操作。 请注意,您可以在其他策略中重复使用此过滤器操作。
- 在现在显示的“属性”页面中,单击“ 关闭” 。 您已经成功配置了IPSec策略 。
IPSec策略1已创建
分配政策
右键单击刚刚创建的策略,然后单击“ 分配” 。
将Policy1分配为IPSec安全策略
为IPSec配置AIX
为了进行IPSec协商,我们需要在防火墙上打开一些端口和协议。 他们是:
IPSec的端口和协议
- UDP port 500 (for ISAKMP traffic)
Protocol
- IP Protocol 50 (for ESP traffic)
- IP Protocol 51 (for AH traffic)
- And any other port according to your environment.
AIX IPSec前提条件
安装AIX IPSec软件并安装最新的IPSec补丁:
IPSec文件集
bos.msg.en_US.net.ipsec
bos.net.ipsec.keymgt
bos.net.ipsec.rte
bos.net.ipsec.websm
bos.crypto-priv
gskak.rte
要在AIX上启动IP安全性,请运行以下命令:
Smitty ipsec4 ------->start/stop IP Security-------->start IP Security
启动IP安全
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
[Entry Fields]
Start IP Security [Now and After Reboot]
Deny All Non_Secure IP Packets [no]
按Enter键启动IP安全性。 运行以下命令以检查IPSec设备的状态。
#lsdev -Cc ipsec
两个设备都应处于可用状态(ipsec_v4和ipsec_v6)。
# lsdev -Cc ipsec
ipsec_v4 Available IP Version 4 Security Extension
ipsec_v6 Available IP Version 6 Security Extension
要在AIX上配置IPSec,我们首先需要创建IPSec配置文件。 该文件应为XML文件格式。
XML示例文件(使用IPSECpolicy1名称保存文件)
<?xml version="1.0"?>
<AIX_VPN
Version="2.0">
<IKEProtection
IKE_Role="Both"
IKE_XCHGMode="Main"
IKE_KeyOverlap="10"
IKE_Flags_UseCRL="No"
IKE_ProtectionName="P1Pol"
IKE_ResponderKeyRefreshMaxKB="200"
IKE_ResponderKeyRefreshMinKB="1"
IKE_ResponderKeyRefreshMaxMinutes="480"
IKE_ResponderKeyRefreshMinMinutes="1">
<IKETransform
IKE_Hash="MD5"
IKE_DHGroup="1"
IKE_Encryption="DES-CBC"
IKE_KeyRefreshMinutes="480"
IKE_AuthenticationMethod="Preshared_key"/>
</IKEProtection>
<IKETunnel
IKE_TunnelName="P1"
IKE_ProtectionRef="P1Pol"
IKE_Flags_AutoStart="Yes"
IKE_Flags_MakeRuleWithOptionalIP="No">
<IKELocalIdentity>
<IPV4_Address
Value="Local AIX Host IP"/>
</IKELocalIdentity>
<IKERemoteIdentity>
<IPV4_Address
Value="Remote Windows Server IP"/>
</IKERemoteIdentity>
</IKETunnel>
<IKEPresharedKey
Value="12345"
Format="ASCII">
<IKEPresharedRemoteID>
<PK_IPV4_Address
Value="Remote Windows Server IP"/>
</IKEPresharedRemoteID>
</IKEPresharedKey>
<IPSecProposal
IPSec_ProposalName="P2Prop">
<IPSecAHProtocol
AH_KeyRefreshKB="0"
AH_Authentication="AH_MD5"
AH_EncapsulationMode="Transport"
AH_KeyRefreshMinutes="580"/>
<IPSecESPProtocol
ESP_Encryption="ESP_DES"
ESP_KeyRefreshKB="0"
ESP_Authentication="HMAC-MD5"
ESP_EncapsulationMode="Transport"
ESP_KeyRefreshMinutes="580"/>
</IPSecProposal>
<IPSecProtection
IPSec_Role="Both"
IPSec_KeyOverlap="10"
IPSec_ProposalRefs="P2Prop "
IPSec_ProtectionName="P2Pol"
IPSec_InitiatorDHGroup="0"
IPSec_ResponderDHGroup="NO_PFS GROUP_1 GROUP_2 GROUP_5"
IPSec_Flags_UseLifeSize="No"
IPSec_Flags_UseCommitBit="No"
IPSec_ResponderKeyRefreshMaxKB="200"
IPSec_ResponderKeyRefreshMinKB="1"
IPSec_ResponderKeyRefreshMaxMinutes="220"
IPSec_ResponderKeyRefreshMinMinutes="1"/>
<IPSecTunnel
IKE_TunnelName="P1"
IPSec_TunnelName="P2"
IPSec_ProtectionRef="P2Pol"
IPSec_Flags_OnDemand="Yes"
IPSec_Flags_AutoStart="Yes">
<IPSecLocalIdentity>
<IPV4_Address
Value="Local AIX Server IP"/>
</IPSecLocalIdentity>
<IPSecRemoteIdentity>
<IPV4_Address
Value="Remote Windows Server IP"/>
</IPSecRemoteIdentity>
</IPSecTunnel>
</AIX_VPN>
更新IKE数据库中的新IPSec配置
- 我们首先需要在IKE数据库中删除以前的IPSec配置,然后将新的配置文件放入ikedb中。
- 要删除先前的配置,请运行以下命令:
# ikedb -x P1_ITD database created successfully P2_ITD database created successfully P1_PREKEY database created successfully PROPOSAL_LIST database created successfully PROPOSAL database created successfully POLICY database created successfully GROUP database created successfully NDBM:/etc/ipsec/inet/DB/privkey
- 要将新的配置文件放入数据库中,请运行以下命令:
# ikedb -p IPSECpolicy1
检查所有三个守护程序(tmd,isakmpd和cpsd)是否都在运行。 tmd守护程序负责隧道管理,而isakmpd守护程序负责IKE协商。 如果我们不使用证书进行身份验证,则无需运行cpsd守护程序。
要启动守护程序,请运行以下命令:
# startsrc -g ike
0513-059 The cpsd Subsystem has been started. Subsystem PID is 434304.
0513-059 The tmd Subsystem has been started. Subsystem PID is 315554.
0513-059 The isakmpd Subsystem has been started. Subsystem PID is 401504.
运行以下命令以检查守护程序是否已启动。 如果守护程序已启动,则该守护程序的状态应为活动状态。
# lssrc -g ike
Subsystem Group PID Status
cpsd ike 241894 active
tmd ike 315550 active
isakmpd ike 319648 active
运行以下命令以检查是否有任何IPSec隧道处于活动状态:
# ike cmd=list
No tunnels match your request.
如果在实际打算使用该隧道的计算机之间找不到隧道,请运行以下命令来激活隧道:
# ike cmd=activate
Phase 2 tunnel 1 activate request initiated.
现在,ike cmd命令应该为您列出隧道的状态。
# ike cmd=list
Phase Tun Id Status Local Id Remote Id
1 1 Dormant 9.124.101.138 9.124.101.175
2 1 Dormant 9.124.101.138 9.124.101.175
我们需要对远程主机执行ping操作以激活隧道。 在隧道变为活动状态之前,可以拒绝一个或两个ping请求。 从那时起,请求将成功。
# ping 9.124.101.175
PING 9.124.101.175 (9.124.101.175): 56 data bytes
ping: sendto: Permission denied
ping: wrote 9.124.101.175 64 chars, ret=-1
64 bytes from 9.124.101.175: icmp_seq=1 ttl=255 time=0 ms
64 bytes from 9.124.101.175: icmp_seq=2 ttl=255 time=0 ms
64 bytes from 9.124.101.175: icmp_seq=3 ttl=255 time=0 ms
现在,您已经创建了成功的AIX到Windows IPSec隧道,可以将其进一步用于网络上的安全通信。
结论
本文展示了AIX IPSec跨异构环境工作的能力。 与本文中讨论的Windows IPSec配置类似,您可以尝试使用其他操作系统使用IPSec与AIX安全地通信。 这样做可以在具有异构系统的不安全公共网络中提供更高的安全性。
翻译自: https://www.ibm.com/developerworks/aix/library/au-ipsec/index.html