IPSec (Internet Protocol Security) 是用来保护 IP 通信的协议。它对流经网络的每个 IP 数据包进行身份验证和加密。这对于在不同的系统之间进行互操作尤其重要,让我们能够不必担心系统之间的安全风险。
虚拟私有网络 (VPN) 是企业的私有内部网跨 Internet 等公共网络的扩展,它通过私有隧道创建安全的私有连接。VPN 可以安全地通过 Internet 传输信息,把远程用户、分支机构办公室和业务伙伴连接成扩大的企业网络。
在 VPN 中,整个通信路径上到处都有可能受到安全攻击的地方:在拨号链路上,在 ISP 的接入服务器中,在 Internet 中,在防火墙或路由器中,甚至在企业内部网中。因此,需要对 VPN 进行保护。Internet Engineering Task Force 建议用 IPSec 协议保护隧道通信流。
VPN 中有各种类型的端点,这要求 IPSec 解决方案能够适应各种类型的系统和环境。本文讨论 AIX IPSec 解决方案以及在 Windows 作为另一个端点的情况下的配置,以此说明这个解决方案适应各种系统的能力。
IPSec for Windows 2000 的配置需要使用 AIX snap-in 创建隧道参数和加密类型。
可以使用 MMC (Microsoft Management Console) 配置和监视 Windows 2000 系统。需要把 IPSec snap-in 添加到这个控制台中。
- 在 Windows 桌面上,单击 Start,单击 Run,在 Open 文本框中输入 mmc。单击 OK。
- 在 File 菜单中,单击 Add/Remove Snap-in。
- 在 Add/Remove Snap-in 对话框中,单击 Add。
- 在 Add Standalone Snap-in 对话框中,单击 IP Security Policy Management,然后单击 Add。
- 确认选择了 Local Computer,单击 Finish。
- 在 Add Standalone Snap-in 对话框中,单击 IP Security Monitor,然后单击 Add。
- 单击 Close 关闭 Add Standalone Snap-in 对话框。
- 单击 OK 关闭 Add/Remove Snap-in 对话框。
- 把它保存为 IPSec.msc 供以后使用。
IPSec Snap-in
在这一步中,在 Windows 系统上创建和定义 IPSec 策略,Windows 系统要使用这些策略与其他系统协商。
- 在 MMC Console 中,右键单击 IP Security Policies on Local Machine,然后单击 Create IP Security Policy。IP Security Policy Wizard 出现。
IP Security Policy Wizard
- 单击 Next。
- 输入 Policy1 作为策略名称,单击 Next。
- 如果希望设置自己的规则,那么清除 Activate the default response rule 复选框,然后单击 Next。
- 确保选择 Edit Properties 复选框(这是默认设置),然后单击 Finish。
创建的 IPSec Policy1
- 在刚才创建的策略的 Properties 对话框中,确保选择右下角的 Use Add Wizard 复选框,然后单击 Add 启动 Security Rule Wizard。
- 单击 Next 继续通过 Security Rule Wizard。
- 选择 This rule does not specify a tunnel(默认情况下是选中的),然后单击 Next。
- 选择 All network connections 单选按钮(默认情况下是选中的),单击 Next。
- 在 IP Filter List 对话框中,单击 Add。显示空的 IP 筛选列表。把筛选命名为 Policy1 Filter List。
IP Filter List
Policy1 Filter List
- 确保在屏幕的右边中间区域选择 Use Add Wizard,然后单击 Add。这会启动 IP Filter Wizard。
- 单击 Next 继续。
- 单击 Next 接受 My IP Address 作为默认的源地址。
- 从下拉列表框中选择 A Specific IP address;输入您的 Partners IP Address。在这里,还可以通过定义子网让 IPSec 与多个主机通信,然后单击 Next。
- 单击 Next 接受协议类型为 Any。
- 确保清除 Edit Properties 复选框(这是默认设置),单击 Finish。
- 单击 Close 离开 IP Filter List 对话框,返回到 New Rule Wizard。
- 在 Filter List 对话框中,选择 Policy1 Filter List 旁边的单选按钮。
创建的 Policy1 Filter List
- 单击 Next 开始配置筛选动作。
在本节中,我们定义筛选执行的不同动作。
- 在 Filter Action 窗口显示的 Filter 对话框中,选择 Use Add Wizard 复选框,然后单击 Add。
Filter Action
- 单击 Next 继续通过 Filter Action Wizard。
- 把这个筛选动作命名为 Policy1 Filter Action 并单击 Next。
- 在 Filter Action General Options 对话框中,选择 Negotiate Security,然后单击 Next。
- 在下一个向导页面上单击 Do not communicate with computers that do not support IPSec,然后单击 Next 以保护系统免受入侵。
- 从安全方法列表中选择 Custom,然后单击 Settings。在这里选择使用 AH (Authentication Header) 还是使用 ESP (Encapsulating Security Payload) 的安全方法。
- 选择在 IPSec 隧道中加密数据所用的加密算法和散列算法。单击 OK 退出 Custom Settings。
- 单击 Next。
选择安全方法
- 确保清除 Edit Properties 复选框(这是默认设置),单击 Finish 关闭向导。
- 在 Filter Action 对话框中,单击 Policy1 Filter Action 旁边的单选按钮,然后单击 Next。
- 在 Authentication method 中,选择 Use this string to protect the key exchange(预共享密钥)旁边的单选按钮。如果不希望使用对称的预共享密钥,还可以指定证书。
- 对于选择的预共享密钥,指定 IPSec 隧道中的身份验证(例如 12345)并单击 Next。
- 确保清除 Edit Properties 复选框(这是默认设置),单击 Finish。
在与伙伴协商期间将使用刚才配置的筛选动作。注意,可以在其他策略中重用这个筛选动作。
- 在现在显示的 Properties 页面上,单击 Close。我们已经成功地配置了一个 IPSec 策略。
创建的 IPSec Policy1
右键单击刚才创建的策略并单击 Assign。
把 Policy1 分配为 IPSec Security Policy
为了进行 IPSec 协商,需要在防火墙上打开几个端口和协议:
IPSec 使用的端口和协议
- UDP 端口 500(用于 ISAKMP 通信流) 协议 - IP 协议 50(用于 ESP 通信流) - IP 协议 51(用于 AH 通信流) - 您的环境需要的其他端口 |
安装 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)都应该处于 Available 状态。
# 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 配置,然后把新的配置文件放到 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. |
运行以下命令检查守护进程是否已经启动。如果守护进程已经启动,守护进程的状态应该是 active。
# 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 安全地通信。这样做可以在包含各类系统的不安全公共网络中提供更强的安全性。
学习
- 红皮书:A Comprehensive Guide to Virtual Private Networks, Volume III: Cross-Platform Key and Policy Management
-
An Illustrated Guide to
IPSec
-
pSeries and AIX Information Center
-
Internet Information Services (IIS) 7.0 Administrator's Pocket Consultant by William R. Stanek
- 红皮书:AIX 5L Version 5.2 Security Supplement
-
Internet Protocol Security (IPSec) 逐步指南
-
Windows 2000 Server
- AIX and UNIX 专区:developerWorks 的“AIX and UNIX 专区”提供了大量与 AIX 系统管理的所有方面相关的信息,您可以利用它们来扩展自己的 UNIX 技能。
- AIX and UNIX 新手入门:访问“AIX and UNIX 新手入门”页面可了解更多关于 AIX 和 UNIX 的内容。
- AIX and UNIX 专题汇总:AIX and UNIX 专区已经为您推出了很多的技术专题,为您总结了很多热门的知识点。我们在后面还会继续推出很多相关的热门专题给您,为了方便您的访问,我们在这里为您把本专区的所有专题进行汇总,让您更方便的找到您需要的内容。
-
AIX and UNIX 下载中心:在这里你可以下载到可以运行在 AIX 或者是 UNIX 系统上的 IBM 服务器软件以及工具,让您可以提前免费试用他们的强大功能。
- IBM Systems Magazine for AIX 中文版:本杂志的内容更加关注于趋势和企业级架构应用方面的内容,同时对于新兴的技术、产品、应用方式等也有很深入的探讨。IBM Systems Magazine 的内容都是由十分资深的业内人士撰写的,包括 IBM 的合作伙伴、IBM 的主机工程师以及高级管理人员。所以,从这些内容中,您可以了解到更高层次的应用理念,让您在选择和应用 IBM 系统时有一个更好的认识。
讨论
- 加入 My developerWorks 社区。
-
参与 AIX 和 UNIX® 论坛:

