aix ipsec_简化和集中AIX上的IPSec管理

本文详细介绍了如何利用AIX的IPSec管理功能简化大型网络中的IPSec配置。通过使用LDAP作为中央存储库,可以实现IPSec配置的集中管理和分发。文章详细阐述了配置过程,包括创建XML配置文件、设置LDAP客户端、创建GSKit密钥文件以及定义和启动IPSec策略。此外,还提到了自动刷新和验证IPSec隧道等实用命令。
摘要由CSDN通过智能技术生成

总览

Internet协议安全性是一个协议套件,为信息安全提供了各种功能。 单个用户或组织使用IPSec功能来保护所有应用程序的通信,而不必对应用程序本身进行任何修改。 IPSec使用身份验证,完整性检查和加密保护数据流量。 在通信堆栈的IP层提供了数据安全性,因此应用程序不需要任何修改。 但是,必须分别配置每台计算机才能使用IPSec。

在本文中,了解有关AIX IPSec管理功能的信息,该功能简化了如何为大型网络应用和管理IPSec配置。 该功能使用轻型目录访问协议(LDAP)作为维护和分发IPSec配置的中央存储库,对配置进行集中管理。 AIX 61V / 71H及更高版本支持此功能。

IPSEC简化的需求

当前,要使系统使用IPSec隧道,必须使用XML配置文件或命令行分别对其进行配置。 在配置几个系统时,这可能不是很大的工作,但是在具有多个系统的大型企业中,配置成为一项艰巨的任务。 要在两个系统之间创建IPSec隧道,需要配置20多个配置参数,其中只有少数是与计算机相关的。

使用大量的配置参数,IPSec配置容易出错且耗时。 为了减少工作量和错误配置的风险,AIX IPSec中添加了一项新功能,该功能简化了企业的整个过程。 该功能提供:

  • 可以在LDAP服务器上存储多组IPSec配置策略以进行集中管理的能力。
  • 定义IPSec配置策略并将其与一组主机关联的能力。

    与IPSec配置策略关联的所有计算机将使用XML文件定义的同一组IPSec配置(规则)。 一台机器一次只能与一个策略关联。

  • 设置每60分钟刷新一次。 如果隧道配置已更改,则旧的隧道将被销毁,新的隧道将被创建。
  • 仅支持对阶段1隧道的基于证书的身份验证。

新的AIX功能为IPSec配置策略中的每对IP地址创建隧道。

配置AIX IPSec

AIX用于创建IPSec隧道的配置文件为XML格式。 必须配置20多个配置参数才能在两个系统之间创建隧道。 可配置参数放在XML文件中。 但是,XML文件不包含IP地址。 这些是从与该策略关联的计算机获得的。 AIX IPSec提供了将XML配置文件加载到LDAP服务器中的命令。

清单1显示了一个存储在LDAP服务器上的示例XML配置文件。

清单1.示例XML配置文件
$cat ipsec_ldap.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="3DES-CBC"
            IKE_Hash="SHA"
            IKE_DHGroup="2"
            IKE_PRF="PRF_HMAC_SHA1"
            IKE_AuthenticationMethod="RSA_signatures"/>
   </IKEProtection>
   <IPSecProposal
         IPSec_ProposalName="P2Prop">
      <IPSecESPProtocol
            ESP_Encryption="ESP_3DES"
            ESP_KeyRefreshKB="0"
            ESP_Authentication="HMAC-SHA"
            ESP_ExtendedSeqNum="0"
            ESP_EncapsulationMode="Tunnel"
            ESP_KeyRefreshMinutes="480"/>
   </IPSecProposal>
   <IPSecProtection
         IPSec_Role="Both"
         IPSec_KeyOverlap="10"
         IPSec_ProposalRefs="P2Prop "
         IPSec_ProtectionName="P2Pol"
         IPSec_InitiatorDHGroup="1"
         IPSec_ResponderDHGroup="NO_PFS GROUP_1 GROUP_2"
         IPSec_Flags_UseLifeSize="No"
         IPSec_Flags_UseCommitBit="No"
         IPSec_ResponderKeyRefreshMaxKB="200"
         IPSec_ResponderKeyRefreshMinKB="1"
         IPSec_ResponderKeyRefreshMaxMinutes="43200"
         IPSec_ResponderKeyRefreshMinMinutes="1"/>
</AIX_VPN>

将LDAP客户端配置为IPSec端点

所有将成为IPSec隧道端点的计算机都必须配置LDAP客户端。 AIX LDAP客户端的ldap.cfg文件中有两个新的配置选项来支持AIX IPSec隧道,如清单2所示。

清单2.配置选项
# Base Dn where IPSec policy and IPSec host data is stored on LDAP server.
ipsecbasedn:ou=ipsec,cn=aixdata
ip_hostbasedn:ou=Ip_host,cn=aixdata

ldap.cfg文件更新之后,使用清单3中的命令刷新secldapclntd守护程序。

清单3.刷新
# restart-secldapclntd
The secldapclntd daemon terminated successfully.
Starting the secldapclntd daemon.
The secldapclntd daemon started successfully.

# mkipsecldap -D <binddn> -w <bindpwd>  [-b <basedn> ]

例如,可以使用# mkipsecldap -D cn=admin -w adminpwd

要验证是否添加了用于IPSec配置的父对象,请使用ldapsearch命令,如清单4所示。

清单4.验证
# ldapsearch -h vayu17.in.ibm.com -D cn=admin -w
adminpwd -s sub -b "ou=Ip_host,cn=aixdata"
objectclass=*
ou=Ip_host,cn=aixdata
ou=Ip_host
objectClass=organizationalUnit
objectClass=top

# ldapsearch -h vayu17.in.ibm.com -D cn=admin -w
adminpwd -s sub -b " ou=ipsec,cn=aixdata" objectclass=*
ou=ipsec,cn=aixdata
ou=ipsec
objectClass=organizationalUnit
objectClass=top

您还需要确保所有IKE服务都处于活动状态,如清单5所示。

清单5. IKE服务
# lssrc -g ike
Subsystem         Group            PID          Status
 cpsd             ike              2883782      active
 tmd              ike              5373970      active
 iked             ike              9175268      active

为客户端计算机创建GSKit密钥文件

AIX IPSec简化功能支持基于证书的认证。 您可以通过使用IBM Global Security Kit(GSKit)命令为每台客户端计算机创建证书。

使用GSKit创建证书

本节说明如何使用GSKit创建用于IPSec证书身份验证机制的证书。 IBM GSKit是许多IBM产品使用的一个库和一组命令行工具。 AIX中的IPSec是一项功能,它将这些文件用于IPSec证书认证机制。 (对GSKit工具的进一步讨论不在本文的讨论范围之内。)

以下步骤显示了用于为将通过IPSec相互通信的两台计算机创建必要的GSKit密钥文件的典型命令。 两台计算机的密钥文件中的证书均由同一证书颁发机构(CA)签名。 生成密钥文件后,必须将它们安装到每台计算机的/ etc / security目录中。

  1. 使用gskit命令创建两个密钥数据库文件。 要为机器1创建数据库,请使用清单6中的代码。
    清单6.创建数据库,机器1
    #gsk7cmd -keydb -create -db /GSK_CERTS/ikekey -pw
    123456 -type cms –stash

    要为机器2创建数据库,请使用清单7中的代码。
    清单7.创建数据库,机器2
    #gsk7cmd -keydb -create -db /GSK_CERTS/ikekey1 -pw
    123456 -type cms –stash
  2. 使用清单8中的命令在第一台计算机的密钥文件中生成根证书颁发机构。
    清单8.根权限证书
    #gsk7cmd  -cert -create -db /GSK_CERTS/ikekey.kdb -pw
    123456 -size 1024 -dn "C=IN,O=IBM,CN=ipsecroot"
    -label Root_CA -default_cert  yes -ca yes
  3. 要列出数据库内容,请使用清单9中的命令。
    清单9.列出数据库内容
    #gsk7cmd -cert -list -db /GSK_CERTS/ikekey.kdb -pw 123456
    Certificates in database: /GSK_CERTS/ikekey.kdb
       Entrust.net Global Secure Server Certification Authority
       Entrust.net Global Client Certification Authority
       Entrust.net Client Certification Authority
       Entrust.net Certification Authority (2048)
       Entrust.net Secure Server Certification Authority
       VeriSign Class 3 Secure Server CA
       VeriSign Class 3 Public Primary Certification Authority
       VeriSign Class 2 Public Primary Certification Authority
       VeriSign Class 1 Public Primary Certification Authority
       VeriSign Class 4 Public Primary Certification Authority - G2
       VeriSign Class 3 Public Primary Certification Authority - G2
       VeriSign Class 2 Public Primary Certification Authority - G2
       VeriSign Class 1 Public Primary Certification Authority - G2
       VeriSign Class 4 Public Primary Certification Authority - G3
       VeriSign Class 3 Public Primary Certification Authority - G3
       VeriSign Class 2 Public Primary Certification Authority - G3
       VeriSign Class 1 Public Primary Certification Authority - G3
       Thawte Personal Premium CA
       Thawte Personal Freemail CA
       Thawte Personal Basic CA
       Thawte Premium Server CA
       Thawte Server CA
       Root_CA

Root_CA是已创建的新证书颁发机构。

创建根CA之后,为第一台计算机的用户证书创建证书请求。 清单10显示了一个示例。

清单10.证书请求
#gsk7cmd -certreq -create -db /GSK_CERTS/ikekey.kdb
-pw 123456 -label Test_Cert1 -dn
"C=IN,ST=KA,L=BA,O=IBM,OU=ISL,CN=test1" -size 1024
-file /GSK_CERTS/cert1_csr.arm

现在已经创建了证书请求,通过使用Root_CA证书对证书请求进行签名来生成用户证书,如清单11所示。

清单11.签署证书请求
#gsk7cmd -cert -sign -db /GSK_CERTS/ikekey.kdb  -pw
123456 -label Root_CA -target /GSK_CERTS/Test_Cert1.cer
-format ascii -expire 100 -file /GSK_CERTS/cert1_csr.arm

创建证书后,将其添加到第一台计算机的GSKit密钥数据库中。 清单12显示了一个示例。

清单12.添加证书
#gsk7cmd -cert -receive -file /GSK_CERTS/Test_Cert1.cer
-db /GSK_CERTS/ikekey.kdb  -pw 123456 -type cms -format ascii

您可以使用清单13中所示的命令列出数据库。

清单13.列出数据库
#gsk7cmd -cert -list -db /GSK_CERTS/ikekey.kdb -pw 123456
Certificates in database: /GSK_CERTS/ikekey.kdb
   Entrust.net Global Secure Server Certification Authority
   Entrust.net Global Client Certification Authority
   Entrust.net Client Certification Authority
   Entrust.net Certification Authority (2048)
   Entrust.net Secure Server Certification Authority
   VeriSign Class 3 Secure Server CA
   VeriSign Class 3 Public Primary Certification Authority
   VeriSign Class 2 Public Primary Certification Authority
   VeriSign Class 1 Public Primary Certification Authority
   VeriSign Class 4 Public Primary Certification Authority - G2
   VeriSign Class 3 Public Primary Certification Authority - G2
   VeriSign Class 2 Public Primary Certification Authority - G2
   VeriSign Class 1 Public Primary Certification Authority - G2
   VeriSign Class 4 Public Primary Certification Authority - G3
   VeriSign Class 3 Public Primary Certification Authority - G3
   VeriSign Class 2 Public Primary Certification Authority - G3
   VeriSign Class 1 Public Primary Certification Authority - G3
   Thawte Personal Premium CA
   Thawte Personal Freemail CA
   Thawte Personal Basic CA
   Thawte Premium Server CA
   Thawte Server CA
   Test_Cert1
   Root_CA

请注意,列表中的其他条目默认是在创建密钥数据库时创建的,可以将其删除。

按照类似的过程为第二台计算机创建证书。 首先,创建证书请求,如清单14所示。

清单14.为机器2创建证书请求
(0) root @ vayu09: 6.1.0.0: /GSK_CERTS
# gsk7cmd -certreq -create -db /GSK_CERTS/ikekey.kdb
    -pw 123456 -label Test_Cert2 -dn
    "C=IN,ST=KA,L=BA,O=IBM,OU=ISL,CN=test2" -size 1024 -
    file /GSK_CERTS/cert2_csr.arm

下一步是使用ROOT_CA证书颁发机构证书对证书进行签名。 清单15显示了一个示例。

清单15.签名证书
(0) root @ vayu09: 6.1.0.0: /GSK_CERTS
# gsk7cmd -cert -sign -db /GSK_CERTS/ikekey.kdb  -pw
    123456 -label Root_CA -target /GSK_CERTS/Test_Cert2.cer
    -format ascii -expire 100 -file
    /GSK_CERTS/cert2_csr.arm

将签名的证书导入GSKit密钥文件,如清单16所示。

清单16.导入签名证书
(0) root @ vayu09: 6.1.0.0: /GSK_CERTS
# gsk7cmd -cert -receive -file
    /GSK_CERTS/Test_Cert2.cer -db /GSK_CERTS/ikekey.kdb -
    pw 123456 -type cms -format ascii

您可以使用清单17中的代码来验证两个证书都在文件中。

清单17.验证
# gsk7cmd -cert -list -db /GSK_CERTS/ikekey.kdb -pw
123456
Certificates in database: /GSK_CERTS/ikekey.kdb
   Test_Cert2
   Test_Cert1
   Root_CA

此时,客户端计算机的证书都存储在一个主密钥文件中。 您可以将证书复制到单独的文件中,以便可以将它们分发到每个客户端计算机。 确保Root_CA也已复制到客户端计算机的GSKit文件。 清单18显示了一个示例。

清单18.将证书复制到单独的文件中
#gsk7cmd -cert -export -db /GSK_CERTS/ikekey1.kdb -pw
 123456 -label Root_CA -type cms -target
 /GSK_CERTS/ikekey1.kdb -target_pw 123456 -target_type
cms

(127) root @ vayu09: 6.1.0.0: /GSK_CERTS
# gsk7cmd -cert -export -db /GSK_CERTS/ikekey1.kdb -pw
 123456 -label Test_Cert2  -type cms -target
 /GSK_CERTS/ikekey1.kdb -target_pw 123456 -target_type
cms

您可以通过列出新密钥文件的内容来验证其内容,如清单19所示。

清单19.验证内容
# gsk7cmd -cert -list -db /GSK_CERTS/ikekey1.kdb -pw
 123456
Certificates in database: /GSK_CERTS/ikekey1.kdb
   Root_CA
   Test_Cert2

接下来,从主密钥文件中删除Test_Cert2 ,以便它仅包含第一台计算机的证书。 清单20显示了一个示例。

清单20.删除Test_Cert2
#gsk7cmd -cert -delete -db ikekey.kdb  -pw 123456 -
    label " Test_Cert2”

要验证每个文件仅具有其计算机所需的证书,请列出每个文件的内容,如清单21所示。

清单21.清单内容
# gsk7cmd -cert -list -db /GSK_CERTS/ikekey1.kdb -pw
123456
Certificates in database: /GSK_CERTS/ikekey1.kdb
   Root_CA
   Test_Cert2

# gsk7cmd -cert -list -db /GSK_CERTS/ikekey.kdb -pw
123456
Certificates in database: /GSK_CERTS/ikekey.kdb
   Test_Cert1
   Root_CA

证书准备好后,将密钥数据库复制到每台计算机的/ etc / security路径中。

确保所有与IPSec相关的服务都已启动并正在运行,如清单22所示。

清单22.检查与IPSec相关的服务
# lssrc -g ike
Subsystem         Group            PID          Status
 cpsd             ike              2883782      active
 tmd              ike              5373970      active
 iked             ike              9175268      active

现在,您可以通过在LDAP服务器上创建策略来在两台计算机之间建立隧道。

使用客户端计算机定义IPSec策略

要将IPSec策略与第一台计算机相关联,请使用ikedb命令,如清单23所示。

清单23.将IPSec策略与机器1相关联
# ikedb -R LDAP -A testpolicy -f ldap.xml -h vayu09.in.ibm.com -C
"/C=IN/ST=KA/L=BA/O=IBM/OU=ISL/CN=test1"

testpolicy是策略的名称, -C将专有名称字符串作为输入。 此专有名称必须与传递给–dn选项以为第一台计算机生成证书的名称相同。

同样,要将相同的策略与第二台计算机相关联,请使用清单24中的代码。

清单24.将相同的策略与机器2相关联
# ikedb -R LDAP -A testpolicy -f ldap.xml -h
vayu07.in.ibm.com -C
"/C=IN/ST=KA/L=BA/O=IBM/OU=ISL/CN=test2"

命令成功完成后,就可以创建隧道了。

在客户端计算机之间启动IPSec隧道

要在LDAP服务器中定义的所有客户机之间创建IPSec隧道,请使用ike命令,如清单25所示。

清单25. ike命令
# ike cmd=activate
Phase 2 tunnel 1 On_Demand activate request initiated.

要验证隧道是否正常运行,请从一台客户端计算机向另一台客户端计算机发出ping命令。 然后,您还可以运行ike cmd=list命令列出创建的隧道。 清单26显示了一个示例。

清单26.列出隧道
# ike cmd=list
Phase  Tun Id  Status      Local Id                        Remote Id
1      1       Active      9.124.101.209                   9.126.85.157
2      1       Active      9.124.101.209                   9.126.85.157

其他有用的命令

要显示策略的XML文件,请使用: # ikedb –R LDAP –g <policy name>

要转储存储在LDAP服务器上的XML文件的DTD,请使用: # ikedb -R LDAP –o

要删除LDAP服务器上的策略,请使用: #ikedb –R LDAP –D <policy name>

要刷新隧道配置,请使用: # ikedb -R LDAP

AIX IPSec功能还具有自动刷新功能。 要启用自动刷新,请使用secldapclntd LDAP守护程序中的ikedb –R LDAP –p 。 IPSec隧道将按照ldap.cfg文件中IPSECrefreshInterval参数定义的间隔时间刷新。

结论

本文介绍了如何使用AIX中的集中式IPSec管理功能来管理大量客户机的IPSec配置。


翻译自: https://www.ibm.com/developerworks/aix/library/se-simplify/index.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值