Internet协议安全性(IPsec)是在Internet协议(IP)层上保护网络传输安全的一种广泛使用的方法。 IP层是网络堆栈中的战略位置,可确保来自下层和高层的所有流量都通过它来保护通信。 同样,在该层提供的安全性与较低层无关,并且对较高层透明。 在其他安全传输协议(例如安全套接字层(SSL)或传输层安全性(TLS))中,需要启用应用程序以使用安全协议。 但是,使用IPsec,应用程序不会知道IP层的基础加密或解密。
异构系统之间也支持IPsec。 数据中心通常具有一组异构系统,即属于不同供应商的系统。 例如,数据中心可以具有一个IBM®AIX®Enterprise服务器,该服务器托管具有Microsoft®Windows®桌面系统的应用程序服务器,作为该AIX服务器的端点客户端。 我们仍然可以使用IPsec来保护这种异构环境中的通信。 唯一必要的条件是这些不同系统上的IPsec实现必须符合IPsec,Internet密钥交换(IKE)和注释请求(RFC)的要求。
本教程讨论使用IBM全局安全性工具包(GSKit)在AIX上生成证书以及如何将证书导入Windows操作系统。 这是使用证书在AIX(6.1 / 7.1 / 7.2)与Microsoft Windows 2012之间建立IKE隧道的第一步。 使用证书建立IKEv1或IKEv2隧道时,需要执行以下步骤。 表1简要描述了本教程中涉及的主要主题及其含义。
表1.涵盖的主要主题
内容 | 描述 |
---|---|
证书生成 | 本节描述如何在AIX上生成证书。 |
将证书导入Windows | 本节介绍如何将证书导入Windows 2012系统。 |
证书生成
本节介绍如何在AIX上生成证书,在下一节中,我们将了解如何在Windows 2012中导入证书。证书生成步骤对于IKEv1和IKEv2都是通用的。 要在AIX上生成证书,我们使用IBM GSKit V8文件集。
图1. lslpp输出查询GSKit8文件集
![](https://i-blog.csdnimg.cn/blog_migrate/da1715c4552433fec63650f0ed035a5d.png)
在AIX上gsk8capicmd的绝对路径是/ usr / opt / ibm / gsk8 / bin / gsk8capicmd。 安装通常会创建从/ usr / bin / gsk8capicmd到/ usr / opt / ibm / gsk8 / bin / gsk8capicmd的链接。
以下是我们将在配置中创建的一组密钥数据库(kdbs / key dbs)和证书。
图2.密钥数据库和其中的证书之间的关系
AIX IPsec引用了一个名为ikekey.db的密钥数据库(DB),用于检查将用于IKE协商的证书。 因此,首先,让我们在AIX系统上创建这个关键数据库。 对于本文档,将首先在名为/ GSK_CERTS的目录下创建所有证书和数据库。 以后,它们将被移到正确的目录下。
gsk8capicmd -keydb -create -db /GSK_CERTS/ikekey.kdb -pw 123456 -type cms -stash
在上面的命令中,我们使用123456
作为keydb
的密码。 除了前六个连续的正整数以外,最好使用更强的密码。 但是在本教程中,为简单起见,让我们仅使用此密码。
这将创建四个文件:ikekey.crl,ikekey.kdb,ikekey.rdb和ikekey.sth。
接下来,我们需要在单独的数据库中创建根证书颁发机构(根CA)。 以下命令为根CA创建密钥DB。 它创建rootCA.crl,rootCA.kdb,rootCA.rdb和rootCA.sth。 在/ GSK_CERTS下。
gsk8capicmd -keydb -create -db /GSK_CERTS/rootCA.kdb -pw 123456 -type cms -stash
以下命令在新的rootCA.kdb密钥DB中创建根CA。
gsk8capicmd -cert -create -db /GSK_CERTS/rootCA.kdb -pw 123456 -size 1024 -dn "C=IN,O=IBM,CN=ipsecroot" -label Root_CA_Full -default_cert yes -ca true
现在,您将在/ GSK_CERTS目录下看到以下文件。
图3. / GSK_CERTS目录下的文件
将根CA添加到AIX系统的ikekey.db密钥数据库时,必须提取并添加根CA的公共部分。 如果Root_CA证书中同时存在私钥和公钥,则AIX IPsec会将其视为普通证书而不是根CA。
要提取根CA的公共部分,请运行以下命令:
gsk8capicmd -cert -extract -db /GSK_CERTS/rootCA.kdb -stashed -label Root_CA_Full -format ascii -target rootCA_Pub.arm
使用以下命令将上面提取的rootCA_Pub.arm
添加到ikekey.db :
gsk8capicmd -cert -add -db /GSK_CERTS/ikekey.kdb -stashed -label Root_CA -file rootCA_Pub.arm -format ascii -trust enable
如果现在要查询ikekey.db密钥数据库,我们将在此处看到新添加的Root_CA :
gsk8capicmd -cert -list -db /GSK_CERTS/ikekey.kdb -pw 123456
图4.在ikekey.kdb中列出证书
以下命令为AIX主机创建一个证书:
gsk8capicmd -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签署Test_Cert2证书。 但是请记住,我们在ikekey.kdb中只有根CA的公用密钥部分(Root_CA),而在rootCA.kdb中只有完整的根CA。 因此,在签名我们创建的证书时,我们需要使用Root_CA_Full 。
gsk8capicmd -cert -sign -db /GSK_CERTS/rootCA.kdb -pw 123456 -label Root_CA_Full -target /GSK_CERTS/Test_Cert2.cer -format ascii -expire 100 -file /GSK_CERTS/cert2_csr.arm
图5. / GSK_CERTS目录下的ikekey文件及其大小
签署证书后,证书现在存在于ikekey.rdb中,也称为ikekey请求数据库(rdb)。 仍然需要将其接收到ikekey.kdb密钥数据库中。 以下命令将密钥接收到ikekey.kdb密钥数据库中。
gsk8capicmd -cert -receive -file /GSK_CERTS/Test_Cert2.cer -db /GSK_CERTS/ikekey.kdb -pw 123456 -type cms -format ascii
图6. ikekey文件及其大小的第二清单
在收到证书之前,此新创建的证书将驻留在ikekey.rdb中。 收到证书后,我们可以看到ikekey.kdb的大小增加了,如图5和图6所示。
图7. ikekey.kdb中的证书的第二清单
![](https://i-blog.csdnimg.cn/blog_migrate/4a406bd69de3ea4acba45649203217a0.png)
现在,在ikekey.kdb中有Root_CA和Test_Cert2。 ikekey。*数据库将驻留在AIX主机中。 因此,让我们将所有相关的ikekey。*数据库移至/ etc / security。
/usr/bin/mv /GSK_CERTS/ikekey* /etc/security
接下来,让我们为Windows 2012系统创建一个证书。 我们将像以前一样使用Root_CA_Full在AIX系统上创建此证书,以对该证书进行签名。 但是由于该证书属于Windows 2012,因此让我们创建一个新的数据库来简化它。 我们将其称为Rikekey.kdb,其中“ R”是指远程系统 。
gsk8capicmd -keydb -create -db /GSK_CERTS/Rikekey.kdb -pw 123456 -type cms -stash
接下来,将Root_CA(仅包含公共部分)添加到Rikekey.kdb。
gsk8capicmd -cert -add -db /GSK_CERTS/Rikekey.kdb -stashed -label Root_CA -file rootCA_Pub.arm -format ascii -trust enable
创建远程证书。
gsk8capicmd -certreq -create -db /GSK_CERTS/Rikekey.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
gsk8capicmd -cert -sign -db /GSK_CERTS/rootCA.kdb -pw 123456 -label Root_CA_Full -target /GSK_CERTS/Test_Cert1.cer -format ascii -expire 100 -file /GSK_CERTS/cert1_csr.arm
gsk8capicmd -cert -receive -file /GSK_CERTS/Test_Cert1.cer -db /GSK_CERTS/Rikekey.kdb -pw 123456 -type cms -format ascii
现在,我们在Rikekey.kdb中拥有一个新证书( Test_Cert1 )。 我们需要在Windows上注册此证书。 但是在此之前,我们需要以Windows可以接受的格式拥有Test1和Root_CA。 来做吧。
gsk8capicmd -cert -export -db /GSK_CERTS/Rikekey.kdb -pw 123456 -label Test_Cert1 -type cms -target Test1.p12 -target_type p12 -target_pw 123456
gsk8capicmd -cert -export -db /GSK_CERTS/Rikekey.kdb -pw 123456 -label Root_CA -type cms -target Root.p12 -target_type p12 -target_pw 123456
使用FTP将Test1.p12和Root.p12传输到Windows。 请注意使用bin模式进行传输。
将证书导入Windows 2012
您需要执行以下步骤将证书导入Windows 2012系统:
- 在Windows 2012系统上,单击“ 开始” ,然后单击“ MMC” 。
- 在MMC控制台中,单击“ 文件” ->“ 添加/删除管理单元” 。
图8.在MMC中添加新的管理单元
- 搜索名为“ 证书”的管理单元,然后单击“ 添加” 。 然后,单击确定 。
图9.添加证书管理单元
- 在“证书”管理单元对话框中,选择“ 计算机帐户” ,然后单击“ 下一步” 。
图10.选择将由“证书”管理单元管理的帐户
- 在“选择计算机”对话框中,选择“ 本地计算机” ,然后单击“ 完成” 。
图11.选择该管理单元将管理的计算机
- 在主窗口中,单击确定 。 添加证书插件后,您应该能够查看它,如图12所示。
图12.证书在本地计算机上捕捉
- 要导入证书,请展开“ 证书” ,右键单击“ 个人” ,然后单击“ 所有任务” ->“ 导入” 。
图13.导入证书
- 在证书导入向导的欢迎页面上,单击下一步 。
图14.证书导入向导窗口
- 浏览以获取Test.p12证书,然后单击“ 下一步” 。
图15.浏览以获取Test.p12证书
Test1.p12证书在C:\ Users \ Administrator \下可用,您可以在图15中找到此路径。这不是默认路径。 这是您在Windows中复制证书的路径。
- 提供私钥的密码。 为了简单起见,我们使用与AIX相同的密码123456 ,然后单击Next 。
图16.证书导入向导:私钥保护
- 指定将所有证书放置在“ 个人”存储中的选项(如图17所示)。
图17.选择个人存储作为证书存储
- 验证为证书指定的设置,然后单击“ 完成” 。
图18.验证存储和要导入的证书
成功导入Test1之后,您可以找到它,如图19所示。
图19.验证导入的证书是否显示在“证书”管理单元中
![](https://i-blog.csdnimg.cn/blog_migrate/d9619cd38980d929c4d35497230b2a8e.png)
下一步是在“ 受信任的根证书颁发机构”下导入Root_CA证书。 如果您具有中间CA证书,请执行以下步骤,但要记住在“ 中间证书颁发机构”下导入中间CA证书。 有关更多信息,请参阅参考资料 。 这会将根CA注册到Windows的证书数据库中。
- 右键单击“ 受信任的根证书授权” ,然后单击“ 所有任务” ->“ 导入” 。
图20. Trusted Root认证授权下的扩展选项
- 将“ 受信任的根证书颁发机构”指定为存储,然后单击“ 下一步” 。
图21.选择证书存储
- 与导入Test1.p12类似,浏览并导入Root.p12。 然后,单击完成 。
图22.证书导入向导完成
现在我们可以看到根CA已成功导入Windows(请参见图23)。
图23.根CA证书
摘要
本教程介绍了使用GSKit在AIX上创建证书并将其导入Windows 2012操作系统的步骤。 这是在AIX和Windows之间使用证书配置隧道的第一步。 以下教程提到了在AIX和Windows操作系统之间配置隧道的下一步。
本教程和以上教程共同说明了在AIX 6.1 / 7.1 / 7.2与Windows 2012系统之间建立隧道的四种不同方法。 这四种方法是使用AIX和Windows之间的预共享密钥和证书来建立IKEv1和IKEv2隧道。
Windows的配置步骤(在本教程中进行了说明)在实验室中进行了尝试,并适用于测试团队。 这些步骤未得到Microsoft或IBM的认可。 您可以考虑将本教程中提到的步骤作为入门的指导。 隧道尽头总是有光。 因此,享受配置隧道的乐趣!
相关话题
翻译自: https://www.ibm.com/developerworks/aix/library/au-aix-ipsec-tunnel-config-1/index.html