使用IKE数字签名RSA认证建立IPsec隧道的配置案例

文化   科技   2024-09-16 12:37   北京  


正文共:1234 字 19 图,预估阅读时间:2 分钟

我们之前介绍了不少IPsec VPN的配置案例VPN合辑,有通过手工方式建立隧道的IPsec小实验:手工方式建立保护IPv4报文的IPsec-ESP隧道,还有使用IKE(Internet Key Exchange,互联网密钥交换)自动建立隧道的IKE主模式及预共享密钥认证配置

之前,我们使用的预共享密钥方式有时会被认为不安全,要求使用更安全的证书进行认证,或者称为数字签名认证。这里的预共享密钥认证和数字签名认证都是IKE提议中配置的认证方法。

之前,我们在IKE提议中使用预共享密钥,就是配置IKE keychain;而现在要使用数字签名,则就需要和当初配置SSL VPN时类似VSR白送的的SSL VPN功能,你要不要?,在PKI(Public Key Infrastructure,公钥基础设施)域中进行配置了。

不过,H3C官网有没有这个案例,我就只能摸索着再给H3C补充一篇了!

首先解决证书的问题,我们还是可以使用EasyRSA来生成证书使用Easy-RSA配置生成SSL证书。这次要用到3个证书,CA(Certificate Authority,证书颁发机构)证书、服务器证书和服务器密钥。

为了方便,我们依旧使用nopass参数来生成CA证书,nopass表示不对CA密钥进行加密,这样在签署证书时就可以跳过密码验证。

./easyrsa build-ca nopass

创建RT1的证书,指定nopass参数,不对私钥进行加密。

./easyrsa gen-req rt1 nopass

对证书进行签名时,需要选择证书类型,常用类型如下:

server: 用于服务器或主机

client: 用于客户端或用户设备

ca: 用于根证书颁发机构

官方介绍说,sign-req命令只负责对证书请求进行签名操作,这些类型只是用于区分不同类型的证书,生成已签署的证书文件,而不会考虑所签署的证书类型,不会对sign-req命令的功能产生影响。实际上,经过验证,这里的类型还是要选择用于服务器设备的server类型。

./easyrsa sign-req server rt1

如法炮制,生成RT2的证书,并将所有证书下载到本地。

然后我们将证书文件上传到设备上,RT1上传ca.crt、rt1.crt和rt1.key,RT1上传ca.crt、rt2.crt和rt2.key。

组网拓扑如下所示,带外管理部分主要用于上传证书使用。

然后先导入加密后的本地RSA密钥对,指定名称为ipsec,文件名称为rt1.key。

创建PKI域ipsec并进入PKI域视图,关闭CRL检查,并指定证书申请使用的签名和加密RSA密钥对名称为ipsec。

#pki domain ipsec public-key rsa general name ipsec undo crl check enable

然后回到系统视图下,向PKI域中导入CA证书和本地证书,证书文件格式均为PEM编码。

pki import domain ipsec pem ca filename ca.crtpki import domain ipsec pem local filename rt1.crt

导入成功之后,我们可以通过命令查看本地RSA密钥对中的公钥信息。

查看PKI域ipsec的CA证书内容。

查看PKI域ipsec的本地证书内容。

如法炮制,我们配置好RT2的证书。

接下来就简单了,我们先创建IKE安全提议,指定使用RSA数字签名认证方法。

#ike proposal 3402 authentication-method rsa-signature

然后配置IKE安全安全框架,指定引用的数字签名认证证书所属的PKI域为ipsec,其他配置正常配置。

#ike profile rsa certificate domain ipsec local-identity address 12.1.1.1 match remote identity address 23.1.1.3 255.255.255.255 proposal 3402

配置保护两端子网数据流的ACL。

#acl advanced 3402 rule 0 permit ip source 11.1.1.0 0.0.0.255 destination 22.1.1.0 0.0.0.255

创建IPsec安全提议。

#ipsec transform-set rsa esp encryption-algorithm 3des-cbc esp authentication-algorithm sha1

创建一条IKE协商方式的IPsec安全策略。

#ipsec policy rsa 10 isakmp transform-set rsa security acl 3402 local-address 12.1.1.1 remote-address 23.1.1.3 ike-profile rsa

最后将策略应用到接口上就好了。

#interface GigabitEthernet0/0 ipsec apply policy rsa

同理,梳理得到RT2的配置如下:

#ike proposal 3402 authentication-method rsa-signature#ike profile rsa certificate domain ipsec local-identity address 23.1.1.3 match remote identity address 12.1.1.1 255.255.255.255 proposal 3402#acl advanced 3402 rule 0 permit ip source 22.1.1.0 0.0.0.255 destination 11.1.1.0 0.0.0.255#ipsec transform-set rsa esp encryption-algorithm 3des-cbc esp authentication-algorithm sha1#ipsec policy rsa 10 isakmp transform-set rsa security acl 3402 local-address 23.1.1.3 remote-address 12.1.1.1 ike-profile rsa#interface GigabitEthernet0/0 ipsec apply policy rsa

使用业务流量进行触发。

查看IKE第一阶段协商成功后生成的IKE SA。

查看IKE第二阶段协商生成的IPsec SA。

查看设备上的IKE提议信息。

查看报文交互过程,主要就是认证算法变成了RSA数字签名。

证书的相关信息。

其实这个案例我也整了一个星期,就是卡在了证书的类型那里;再就是配置的细节上,名称配置不对应会导致证书校验不通过。请各位引以为戒!

长按二维码
关注我们吧

捡了一台FortiGate-VM64,怎么用起来呢?
来吧,给大家分享一下最新版本的FortiGate-VM64,带试用授权
豁出去了,真机带业务演示一把ESXi 6.7升级7.0 U3
什么?Windows自带的Hyper-V虚拟化你都没用过?
开启Hyper-V之后用不了VMware了,怎么破?
能找到Hyper-V和VMware共存的方法吗?
HPE服务器通过显卡直通安装Tesla M4,这算亮机成功了吗?
切换到WDDM模式,Tesla M4可以用于本地显示输出了!
基于子VLAN的组播VLAN实验
ip address命令操作指南
添加组播地址的autojoin标志就能测试祖播了
手撸一个自动创建SSL证书的SHELL脚本
easyrsa命令使用指南

铁军哥
高级网络规划设计师,原中国电信高级技术规划工程师,天翼云认证高级解决方案架构师,H3C认证网络工程师。 继续加油,努力传播知识,影响更多人!
 最新文章