PKI系列:(3)基于rsa-sig的SVTI隧道VPN【证书认证方式】 | 网络之路博客(公众号同名)(其他平台网络之路Blog)
登录
  • 欢迎网络之路博客网站,分享有用的知识点,公众号:网络之路博客,B站:网络之路Blog
  • 如果您觉得本站对您有帮助,那么赶紧使用Ctrl+D 收藏吧,支持我们下
  • 远程技术支持的淘宝店铺已经开张了哦,传送门:需要的朋友可以点击查看

PKI系列:(3)基于rsa-sig的SVTI隧道VPN【证书认证方式】

【汇总】部署自己企业内部的PKI架构

文档帖子汇总实战系列学习视频学习必备软件
    博主也只是业余时间写写技术文档,请大家见谅,大家觉得不错的话,可以推荐给朋友哦,博主会努力推出更好的系列文档的。如果大家有任何疑问或者文中有错误跟疏忽的地方,欢迎大家留言指出,博主看到后会第一时间修改,谢谢大家的支持,更多技术文章尽在网络之路博客,http://ccieh3c.com

说明

之前已经介绍过PKI的组件和处理流程,以及怎么搭建CA服务器,包括Cisco的IOS 软件和微软的服务器,我们搭建CA服务器,就是为了提供扩展性和安全性,这段时间会介绍PKI在VPN中的应用,包括IPSec VPN、EZVPN、SSL VPN的证书认证,关于DMVPN和GETVPN其实跟IPSec VPN一样,只要掌握了IPSec VPN的证书认证注意的地方,就不会有难点了,反而EZVPN和SSL VPN有几个需要注意的地方,需要特别的提下。

pki

这个图很简单,这次利用IOS来搭建CA服务器,并且两个路由器向CA服务器申请根证书和个人证书,用证书来进行VPN的验证,而不是我们平时的预共享密钥。 建立的方式用的是新版的VPN,而不是传统的crypto map形式。

地址已经提前配置好了,根据图上的显示定义的,没有任何路由输入,因为都是直连。

前提

之前提到过,在PKI系统中一个很重要的组件就是时间,如果时间不对,那么整个PKI系统就会瘫痪了。这里用CA Server来部署NTP服务器。

CA Server

R-CA_server(config)#clock timezone GMT 8
R-CA_server#clock set 19:26:00 17 nov 2012
R-CA_server(config)#ntp master

路由器的配置

R-site_1(config)#clock timezone GMT 8
R-site_1(config)#ntp server 12.1.1.1

注意:NTP只同步时间,时区是不同步的,所以需要手动配置。

当显示为synchronized的时候,就表示已经同步了,就可以进行接下来的配置,否则的话,一定要等时间同步才可进行。

CA Server的搭建

1、开启http,因为SCEP是基于http的。

2、R-CA_server(config)#$generate rsa modulus 2048 label cciese exportable 创建一个RSA密钥对,并且为可导出,建议养成一个习惯

3、调用rsa密钥对,如果需要系统自动生成的话,那么2和3都可以省略
R-CA_server(config)#crypto pki trustpoint CA
R-CA_server(ca-trustpoint)#rsakeypair cciese

4、填写证书信息
R-CA_server(config)#crypto pki server CA
R-CA_server(cs-server)#issuer-name cn=CA.ccie.com, o=ccie, ou=cciese, l=hunan, c=cn
R-CA_server(cs-server)#no shutdown
%Some server settings cannot be changed after CA certificate generation.
% Please enter a passphrase to protect the private key
% or type Return to exit
Password:

Re-enter password:
% Exporting Certificate Server signing certificate and keys…

% Certificate Server enabled.
R-CA_server(cs-server)#
Nov 17 13:47:12.683: %PKI-6-CS_ENABLED: Certificate server now enabled.

注意的是:trustpoint和server 的name是一致的。

pki

CA Server已经是成功创建的了。

VPN设备申请证书

关于申请证书的方式支持在线申请方式和离线申请,之前也介绍过在哪种情况下使用哪种方式来申请证书,这里两种方法都用的,一边用在线,一边用离线方式来申请。

在线申请方式:

1、创建RSA密钥对 (可选)
R-site_1(config)#crypto key generate rsa modulus 2048 label cciese exportable
R-site_1(config)#crypto pki trustpoint VPN

2、创建信任点
R-site_1(config)#crypto pki trustpoint VPN
R-site_1(ca-trustpoint)#subject-name cn=Site1.ccie.com, o=ccie, ou=cciers, c=cn
R-site_1(ca-trustpoint)#enrollment url http://12.1.1.1
R-site_1(ca-trustpoint)#rsakeypair cciese

信任点的名字随意定义,填写个人信息,包括SECP申请的地址,调用RSA密钥对

3、申请根证书
R-site_1(config)#crypto pki authenticate VPN

pki

之前说过,申请根证书的过程,其实也是验证CA服务器的过程,它会询问这个证书是否是合法的,会有一个完整性的验证,如果一个正常的操作流程,需要把这个MD5和SHA的值发送给CA服务器管理员,要求是否跟根证书的HASH值一致。

pki

可以在server上通过show crypto pki server进行查看, 有一行 c cert fingerprint : 如果对应的话,那么就证明根证书是可信任的。
选择yes

pki

提示CA根证书是可接受的。

4、申请个人证书
R-site_1(config)#crypto pki enroll VPN

pki

当向CA Server申请个人证书的时候,它会询问一次性密码,这个密码IOS和微软的SCEP都支持,但是这里没有产生,所以为空,直接回车即可。
% Include the router serial number in the subject name? [yes/no]: yes 是否加入这个设备的序列号信息
% The serial number in the certificate will be: XXXXXXXXXXX
% Include an IP address in the subject name? [no]: no 是否将IP地址加入证书的一部分,建议不要
Request certificate from CA? [yes/no]: yes 是否现在申请证书

当填写完毕后,它会申请证书,这时候有MD5和SHA的值,就需要把它复制下来把自己填写的个人信息一并发送给CA管理员,要求他核实和颁发证书。

当然,这里都是个人在操作,所以就不必要那么讲究

5、CA 服务器颁发证书

R-CA_server#crypto pki server CA info requests :查看当前有哪些申请证书的请求

pki

确认无误后,颁发证书

R-CA_server#crypto pki server CA grant 1 :颁发1号申请的证书,可以通过查看来决定,也可以加all参数,就是所有请求者的

Nov 17 14:13:52.671: %PKI-6-CERTRET: Certificate received from Certificate Authority 1A93B234 44E6677E 10BBDE74 E2C74B4D 693590D7 6B07ADC2 B3D11B7A 17EDE337
当VPN设备收到这条信息以后,就表示证书已经成功获取了

show crypto pki certificates :进行查看证书的情况

pki

第一张证书是关于根证书的,可以看出颁发者和个人信息都是一样的,第二张则是个人证书。

离线申请方式

1、创建RSA密钥对
R-site_2(config)#crypto key generate rsa modulus 2048 exportable label cciese

2、创建信任点
R-site_2(config)#crypto pki trustpoint VPN
R-site_2(ca-trustpoint)#enrollment terminal
R-site_2(ca-trustpoint)#subject-name cn=site2.ccie.com, o=ccie, ou=cciese, c=cn
R-site_2(ca-trustpoint)#rsakeypair cciese

由于离线申请的话,所以申请方式改为终端

3、离线导入根证书
首先,需要在CA server上导出根证书
R-CA_server(config)#crypto pki export CA pem terminal

pki

复制粘贴从——begin CERTIFICATE——到———–END CERTIFICATE——–

导入根证书

pki

提示根证书可接受。

4、离线申请个人证书

R-site_2(config)#crypto pki enroll VPN

复制这一对乱码的文本,这就是PKCS#10,用于请求一个实体证书,不把IP地址作为证书的一部分,因为IP地址通常是变化比较频繁的,而证书有效期至少一年以上。

在CA 服务器上导入申请的请求
R-CA_server#crypto pki server CA request pkcs10 terminal

pki

请求成功,序列号为2

pki

通过 crypto pki server CA info requesets 来查看请求的信息

CA颁发证书
R-CA_server#crypto pki server CA grant 2

pki

复制这个PKCS#10的输出信息

在VPN设备上

R-site_2(config)#crypto pki import VPN certificate
粘贴复制的PKCS#10信息,然后回车

% Router Certificate successfully imported 表示证书已经成功导入
如果未成功的话,检查时间或者根证书没有导入

show crypto pki certificates :查看证书的情况

pki

都正常,根证书和个人证书

VPN的配置

左边设备
crypto isakmp policy 10
crypto ipsec transform-set trans esp-des esp-md5-hmac
!
crypto ipsec profile ipsecprofile
set transform-set trans
!
interface Tunnel0
ip unnumbered FastEthernet0/0
tunnel source FastEthernet0/0
tunnel destination 12.1.1.3
tunnel mode ipsec ipv4
tunnel protection ipsec profile ipsecprofile

右边设备

crypto isakmp policy 10
crypto ipsec transform-set trans esp-des esp-md5-hmac
!
crypto ipsec profile ipsecprofile
set transform-set trans
!
interface Tunnel0
ip unnumbered FastEthernet0/0
tunnel source FastEthernet0/0
tunnel destination 12.1.1.2
tunnel mode ipsec ipv4
tunnel protection ipsec profile ipsecprofile

pki

这时候发现,在SITE2端一直提示ca requeset failed,认证失败,这是为什么呢?
分析:在之前提到过一个CRL吊销列表的内容,这个列表中包含了哪些证书是有效的,哪些是无效的,而SITE2是通过离线方式获取的证书,它是无法获取到CRL的,而默认情况下,对于CRL是进行检查的,所以导致认证失败。

pki

发现R-site_1通过SCEP获取了CRL,而R-site_2是没有任何的信息显示。

解决办法:把离线端改为对CRL不检查,因为这种办法也比较合理,一般通过离线申请就是无法与CA服务器正常访问才需要离线,由于无法正常访问,那么自然就无法更新CRL了。

site-2上
R-site_2(config)#crypto pki trustpoint VPN
R-site_2(ca-trustpoint)#revocation-check none

pki

这时候,VPN已经建立成功了。

运行动态路由协议
R-site_1(config)#int tun 0
R-site_1(config-if)#ip ospf 1 area 0
R-site_1(config-if)#int lo 0
R-site_1(config-if)#ip ospf 1 area 0

R-site_2(config)#int tun 0
R-site_2(config-if)#ip ospf 1 area 0
R-site_2(config-if)#int lo 0
R-site_2(config-if)#ip ospf 1 area 0

pki

邻居已经成功建立

pki

ping对方的环回口地址,是正常通信的。

pki

加解密正常,多余的包是OSPF的hello造成的。

CRL的作用

我们都知道CRL包含了合法证书的列表,如果这时候,我把R-site_2的证书给作废,那么R-site_1还能建立VPN么。

答案是可以的,因为CRL它是轮循更新的,Cisco的设备默认存在本地4个小时,4个小时之内,它只会查看本地缓存的信息,如果在这4个小时之内,服务器吊销了某些证书的话,那么这些被吊销的证书还是可以正常使用,直到VPN设备更新新的CRL。

可以通过:crypto pki crl request 来强制更新CRL。 不过针对离线的话,建议为none,不检查,因为它根本无法获取CRL,除非手动下载。

总结:其实对于PKI的架构并没有想象中的那么难,只要熟悉的套路,相对来说还是比较简单的,对于PKI难点在于排错和备份、还原,对于设计也就前期难点,后期的维护就简单的多了,增加一个设备只需要申请一个证书即可,而不像预共享密钥一样,需要每个设备上添加一个。 关于VPN的应用还有EZVPN和SSL VPN总结。

下载对应文档

百度盘下载博客资源汇总与学习思路
如果下载地址失效,请联系博主或者在下面留言,谢谢。下面也有其他您需要的资源推荐哦

关于博客资源下载说明

首先,感谢大家对网络之路博客的支持,本站所有资源都是开放下载,不做任何限制,资源都是上传在百度盘,分为两种类型:
(1)第一种是书籍PDF与视频类,全部放在博客分享,觉得对大家学习有帮助的博主会收集好、然后以博主的经验整理分类后排序好分享出来。
(2)第二种是技术性文章与视频,全部放在公众号(网络之路博客)/头条号/百家号/B站(网络之路Blog)发布,以博主原创为主,主要分享系列为主,由浅入深的带大家了解工作中常用到的一些网络技术,当然也会分享一些比较经典的案例。
(3)分享资源有涉及到您的利益以及版权问题,请联系博主,24小时候内删除。

想第一时间收到最新更新内容吗,那就赶紧关注公众号/头条/B站/百家号吧~~

学习最新实用技术

远程技术支持(设备调试)

远程技术调试与技术支持,点击查看详情


原创与收集的内容,允许转载,转载时请务必以超链接形式标明文章原始出处,博客地址http://ccieh3c.com。

喜欢 (0)
[]
分享 (0)
公众号:网络之路博客(其他平台网络之路Blog)
分享一些自己懂的技术知识点,希望对大家有帮助。
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址