正文共: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
rsa general name ipsec
undo crl check enable
然后回到系统视图下,向PKI域中导入CA证书和本地证书,证书文件格式均为PEM编码。
pki import domain ipsec pem ca filename ca.crt
pki 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
rsa-signature
#
ike profile rsa
certificate domain ipsec
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
rsa
security acl 3402
23.1.1.3
12.1.1.1
rsa
#
interface GigabitEthernet0/0
ipsec apply policy rsa
使用业务流量进行触发。
查看IKE第一阶段协商成功后生成的IKE SA。
查看IKE第二阶段协商生成的IPsec SA。
查看设备上的IKE提议信息。
查看报文交互过程,主要就是认证算法变成了RSA数字签名。
证书的相关信息。
其实这个案例我也整了一个星期,就是卡在了证书的类型那里;再就是配置的细节上,名称配置不对应会导致证书校验不通过。请各位引以为戒!
长按二维码
关注我们吧