PKI系列:(5)证书下的Easy IPSEC 远程访问
ninehua 2024-12-05 15:12 48 浏览
说明
Easy VPN使用证书的认证,一个字:难 ,这个难是体现在部署起来比较困难,因为Easy VPN相对是给远程用户提供连接的、或者是分支站点,通常是与CA Server不能正常通信的可能性比较大,所以只能通过离线来申请证书,Easy VPN的证书部署,是所有VPN中难点最大的一个,需要注意的地方比较多,虽然,部署起来比较难点,但是,好处还是有的,那就是相对于预共享密钥的方式来说安全的很多,这对于一个需要安全性比较高的企业来说,证书是不二的选择。
图花了点时间弄出来的,最近在学画拓扑图, 地址信息根据图上描述的一样, 实现的效果是,IOS和ASA上定义两个group,这两个group给hardware和Software来使用,并且给于不同的策略。CA Server使用的是2003 CA。
一、NTP时间同步
所有设备之间的NTP需要同步
二、RootCA服务器
参考服务器部署的设置,这里省略掉。
三、EZVPN Server申请证书
包括ASA和IOS的EZVPN Server申请证书,离线方式就不介绍了,跟之前的介绍的一模一样,没什么区别,主要体现在软件客户端怎样申请。
http://12.1.1.1/certsrv/mscep/mscep.dll 申请证书之前,可以先打开SCEP的页面,使用一个一次性密码后,就按F5刷新一次。
IOS Server
Router-IOS_server(config)#$generate rsa modulus 2048 label cciese exportable
Router-IOS_server(config)#crypto pki trustpoint IOS
Router-IOS_server(ca-trustpoint)#enrollment url http://12.1.1.1/certsrv/mscep/mscep.dll
Router-IOS_server(ca-trustpoint)#rsakeypair cciese
Router-IOS_server(ca-trustpoint)#subject-name cn=Router-IOS_server.ccie.com, o=ccie, ou=cciese, c=cn
下载根证书
申请个人证书
ASA Server
Router-ASA-server(config)# crypto key generate rsa label cciese modulus 2048
Router-ASA-server(config)# crypto ca trustpoint ASA
Router-ASA-server(config-ca-trustpoint)# enrollment url http://12.1.1.1/certsrv/mscep/mscep.dll
Router-ASA-server(config-ca-trustpoint)# subject-name cn=ASA_server.ccie.com, o=ccie, ou=cciese, c=cn
Router-ASA-server(config-ca-trustpoint)# keypair cciese
Router-ASA-server(config-ca-trustpoint)# exit
申请下载根证书
申请个人证书。
四、EZVPN Router-Client申请证书
Router-Client(config)#crypto key generate rsa modulus 2048 label cciese exportable
Router-Client(config)#crypto pki trustpoint Router-Client
Router-Client(ca-trustpoint)#enrollment url http://12.1.1.1/certsrv/mscep/mscep.dll
Router-Client(ca-trustpoint)#subject-name cn=Hardware.ccie.com, o=ccie, ou=cciese, c=cn
Router-Client(ca-trustpoint)#rsakeypair cciese
Router-Client(ca-trustpoint)#revocation-check none
申请下载根证书
申请个人证书
这里已经申请了三张证书,分别是IOS Server、ASA Server和硬件Router-Client的证书,在Router-Client上对CRL的检查关闭,因为远程访问的VPN一般对于CA服务器的访问可能性比较小。
另外一个非常关键的地方:就是Router-Client的OU必须等于 EZVPN Server上的group name,因为在验证的时候,它会以OU来作为group进行匹配。
五、服务器颁发证书
全选——-右击—–颁发即可
六、Software Router-Client离线申请根证书
关于软件离线申请证书,是EZVPN里面最讲究的,如果顺序错误了,那么认证就会失败。
1、产生申请的信息
点击Enroll
Online是在线通过SCEP获取证书,通常在实际工作中,离线申请比较多,所以选择 File—–注意这里File encoding:为Base-64,Next
其中,CN和OU必选, OU是非常关键的,它就相当于group的name,这里为cciers,那么在Server上就必须创建一个group为cciers,然后点击 Enroll
它提示,这个文件保存在这个软件的安装目录下,需要到这个目录下找到这个文件。
通过记事本或者写字板打开这个文件
以邮件或者QQ传给CA 管理员
在CA Server上,输入http://12.1.1.1/certsrv/
进入证书页面后,先下载根证书,下载一个CA证书
以Base 64形式保存到本地,建议修改一个名字,比如 Root,然后返回主页
申请一个证书————-高级证书申请————使用Base 64——–输入软件客户端生成的PKCS#10的文本。
提交即可
进入——证书颁发机构———–挂机的申请———颁发这个证书
查看挂起的证书申请
以Based 64格式保存到本地,名字最好区分以下。
桌面就有两个证书了,一个是根证书,另外一个是Software Router-Client的个人证书,这时候需要通过邮件或者QQ的形式发送给申请者。
这两张证书一定要放在软件客户端的 C:\Program Files\Cisco Systems\VPN Router-Client\Certificates 这个目录文件下,路径根据自己安装定义的盘符选择。
把申请的两个证书放入指定的目录下
点击import开始导入证书,先导入根证书———-然后个人证书——–顺序不能错误,否则证书会无效
这时候store已经变为可用状态了,之前为Request状态。
VPN配置
IOS Server
Router-IOS_server(config)#crypto isakmp policy 10
Router-IOS_server(config-isakmp)#group 2
Router-IOS_server(config-isakmp)#encryption 3des
Router-IOS_server(config-isakmp)#exit
Router-IOS_server(config)#crypto isakmp identity dn
这句话非常重要,因为默认情况下,IOS是以hostname来检查的。在EZVPN下面必须以DN,因为要使用OU来匹配group
Router-IOS_server(config)#crypto isakmp Router-Client configuration group cciese
Router-IOS_server(config-isakmp-group)#save-password
Router-IOS_server(config)#ip local pool ippool 123.1.1.1 123.1.1.254
Router-IOS_server(config)#ip access-list extended split
Router-IOS_server(config-ext-nacl)#permit ip 192.168.1.0 0.0.0.255 any
Router-IOS_server(config-ext-nacl)#exit
Router-IOS_server(config)#crypto isakmp Router-Client configuration group cciers
Router-IOS_server(config-isakmp-group)#acl split
Router-IOS_server(config-isakmp-group)#pool ippool
Router-IOS_server(config-isakmp-group)#exit
Router-IOS_server(config)#aaa new-model n
Router-IOS_server(config)#aaa authentication login auth local
Router-IOS_server(config)#aaa authorization network auth local
Router-IOS_server(config)#username admin password cciese
Router-IOS_server(config)#crypto isakmp profile hardware
% A profile is deemed incomplete until it has match identity statements
Router-IOS_server(conf-isa-prof)#match identity group cciese
Router-IOS_server(conf-isa-prof)#Router-Client configuration address respond
Router-IOS_server(conf-isa-prof)#Router-Client authentication list auth
Router-IOS_server(conf-isa-prof)#isakmp authorization list auth
Router-IOS_server(conf-isa-prof)#virtual-template 100
Router-IOS_server(config)#crypto isakmp profile software
% A profile is deemed incomplete until it has match identity statements
Router-IOS_server(conf-isa-prof)#match identity group cciers
Router-IOS_server(conf-isa-prof)#Router-Client configuration address respond
Router-IOS_server(conf-isa-prof)#Router-Client authentication list auth
Router-IOS_server(conf-isa-prof)#isakmp authorization list auth
Router-IOS_server(conf-isa-prof)#virtual-template 101
Router-IOS_server(config)#crypto ipsec transform-set trans esp-des esp-md5-hmac
Router-IOS_server(config)#crypto ipsec profile hardware
Router-IOS_server(ipsec-profile)#set isakmp-profile hardware
Router-IOS_server(ipsec-profile)#set transform-set trans
Router-IOS_server(ipsec-profile)#exit
Router-IOS_server(config)#crypto ipsec profile software
Router-IOS_server(ipsec-profile)#set isakmp-profile software
Router-IOS_server(ipsec-profile)#set transform-set trans
Router-IOS_server(config)#interface virtual-template 100 type tunnel
Router-IOS_server(config-if)#ip unnumbered f0/0
Router-IOS_server(config-if)#tunnel mode ipsec ipv4
Router-IOS_server(config-if)#tunnel protection ipsec profile hardware
Router-IOS_server(config-if)#exit
Router-IOS_server(config)#interface virtual-template 101 type tunnel
Router-IOS_server(config-if)#tunnel mode ipsec ipv4
Router-IOS_server(config-if)#ip unnumbered f0/0
Router-IOS_server(config-if)#tunnel protection ipsec profile software
Router-IOS_server(config-if)#exit
在IOS-Server上定义了两个group,一个是关于硬件Router-Client CCIESE的,一个是关于软件Router-Client cciers的,一个推送了地址池,一个没有推送。
定义了两个ipsec profile,一个给hardware 用,一个给Software用,其实这里不需要定义,用一个即可,因为isakmp profile已经关联了虚拟模板了。
定义了两个类型Tunnel的虚拟模板,没有定义任何的源和目,这个之前介绍过了,当一个VPN拨入上来,它会以对端的源作为目的,目的作为源自动添加到虚拟接口上,因为虚拟接口是继承虚拟模板的配置的。
ASA的配置
Router-ASA-server(config)# crypto isakmp policy 10
Router-ASA-server(config-isakmp-policy)# authentication rsa-sig
Router-ASA-server(config-isakmp-policy)# group 2
Router-ASA-server(config-isakmp-policy)# encryption 3des
Router-ASA-server(config-isakmp-policy)# group 2
Router-ASA-server(config-isakmp-policy)# hash sha
Router-ASA-server(config-isakmp-policy)# lifetime 86400
Router-ASA-server(config)# crypto isakmp enable outside
Router-ASA-server(config)# ip local pool cciese 111.1.1.100-111.1.1.200
Router-ASA-server(config)# ip local pool cciers 121.1.1.100-121.1.1.200
Router-ASA-server(config)# username admin password cciese
Router-ASA-server(config)# tunnel-group cciese type remote-access
Router-ASA-server(config)# tunnel-group cciese general-attributes
Router-ASA-server(config-tunnel-general)# address-pool cciese
Router-ASA-server(config)# tunnel-group cciese ipsec-attributes
Router-ASA-server(config-tunnel-ipsec)# trust-point ASA
Router-ASA-server(config)# tunnel-group cciers type remote-access
Router-ASA-server(config)# tunnel-group cciers general-attributes
Router-ASA-server(config-tunnel-general)# address-pool cciers
Router-ASA-server(config)# tunnel-group cciers ipsec-attributes
Router-ASA-server(config-tunnel-ipsec)# trust-point ASA
Router-ASA-server(config)# crypto ipsec transform-set trans esp-des esp-md5-hmac
Router-ASA-server(config)# crypto dynamic-map ezvpn 1000 set transform-set trans
Router-ASA-server(config)# crypto map asa 1000 ipsec-isakmp dynamic ezvpn
Router-ASA-server(config)# crypto map asa interface outside
同样的,ASA上也创建了两个Tunnel group,分配不同的地址池,注意在Tunnel-group下要定义信任点
Router-Client端测试
软件
定义一些参数,平常我们使用的是group Authentication,这次证书认证使用Certificate Authentication,选中之前申请的信息的名字,作为认证的凭据。 Send CA Certificate Chain :这个需要在层次化的PKI设计中才会使用。
对应的定义了两个,一个用于连接IOS,一个用于连接ASA, 如果连接IOS获取的地址是123.1.1.0网段的, ASA获取的是121.1.1.0网段的,那么就表示整个EZVPN是正确配置的。
当连接ASA的时候,获取的是121.1.1.100
连接IOS的时候,分配的是123.1.1.1 ,并且有隧道分割
虚拟接口自动Up了, 查看虚拟接口继承的配置,source 12.1.1.2 (就是Router-Client定义的目的), destination 12.1.1.5 (就是Router-Client的源地址),其余的都继承虚拟模板的。 如果,想对PC的流量进行统一化的管理,那么这时候可以不做隧道分割,可以在虚拟模板启用NAT,这样,所有的流量都必须经过总部才能出去。
硬件Router-Client测试
Router-Client(config)#crypto ipsec Router-Client ezvpn hardware-ios
Router-Client(config-crypto-ezvpn)#peer 12.1.1.2
Router-Client(config-crypto-ezvpn)#username admin password cciese
Router-Client(config-crypto-ezvpn)#connect auto
Router-Client(config-crypto-ezvpn)#mode network-extension
Router-Client(config-crypto-ezvpn)#exit
Router-Client(config)#interface f0/0
Router-Client(config-if)#crypto ipsec Router-Client ezvpn hardware-ios outside
Router-Client(config-if)#int lo 0
Router-Client(config-if)#ip add 1.1.1.1 255.25
Router-Client(config-if)#ip add 1.1.1.1 255.255.255.255
Router-Client(config-if)#crypto ipsec Router-Client ezvpn hardware-ios inside
开始自动拨号,并且成功。
隧道接口已经up了,并且虚拟接口继承虚拟模板的配置。
这时候可以启用动态路协议了。
Router-IOS_server(config)#interface virtual-template 100 type tunnel
Router-IOS_server(config-if)#ip ospf 1 area 0
Router-Client(config)#interface virtual-template 1 type tunnel
Router-Client(config-if)#ip unnumbered f0/0
Router-Client(config-if)#ip ospf 1 area 0
Router-Client(config)#crypto ipsec Router-Client ezvpn hardware-ios
Router-Client(config-crypto-ezvpn)#virtual-interface 1
这时候重新拨入VPN。
拨入成功,并且OSPF的邻居已经建立。
连接ASA Server
在连接ASA之前,必须把之前的配置都No掉,关于之前定一个的IOS的组。
Router-Client(config)#crypto ipsec Router-Client ezvpn hardware-asa
Router-Client(config-crypto-ezvpn)#pe
Router-Client(config-crypto-ezvpn)#peer 12.1.1.3
Router-Client(config-crypto-ezvpn)#exit
Router-Client(config)#int f0/0
Router-Client(config-if)#cry
Router-Client(config-if)#crypto ipsec Router-Client ezvpn hardware-asa outside
Router-Client(config-if)#int lo 0
Router-Client(config-if)#crypto ipsec Router-Client ezvpn hardware-asa inside
如果两个组都存在的话,那么第一个定义的有效,并且会一直提示,关于no掉配置有个很关键的地方,先要把组关联的virtual-interface 给no掉,否则话,这个组它提示正在使用can’t delete
More than one active tunnel exists. Please specify the name of tunnel
已经成功拨入ASA了,并且获取了地址信息。
至此,EZVPN的证书认证全部完成。
总结:关于EZVPN PKI的部署,难点在于Router-Client的离线申请证书,顺序一定不能错误, 并且时间要保持一致,否则PKI系统无法正常运行。 最后剩下SSL VPN了,SSL VPN会介绍一个非常适用的技术,LDAP,工程中用的比较多的。
如果大家有任何疑问或者文中有错误跟疏忽的地方,欢迎大家留言指出,博主看到后会第一时间修改,谢谢大家的支持,更多技术文章尽在网络之路Blog,版权归网络之路Blog所有,原创不易,侵权必究,觉得有帮助的,关注转发一波谢谢。
上一篇回顾
下一篇学习
相关推荐
- Mac常用App推荐:免费思维导图工具MindNode
-
思维导图是一种很便捷的梳理信息的方式,Xmind在部分用户眼中可能已经成为思维导图的代名词,但其实还有很多其它思维导图软件也各有千秋,对于Mac用户(以及比较依赖苹果生态的用户)来说,MindNode...
- 适用于macOS的免费开源好用的纯文本编辑器CotEditor
-
介绍CotEditor是一个轻巧,整洁但功能强大的文本编辑器。CotEditor完全是针对macOS制作的。它的外观和行为与macOS应用程序的外观和行为相同。CotEditor启动如此之快,您可以在...
- 香哭了|免费做饭游戏神仙网站无需下载Mac可玩
-
本期直接给宝子们一个网站~里面全是烹饪做饭游戏,想玩啥就玩啥。全部免费主题丰富无需下载不用登陆不占内存有小广,但时间不长,几秒就可skip掉,可以接受。亲测Mac系统也能玩!!真香cookingga...
- 推荐 Mac 平台上常用的 5 款 PDF 阅读编辑软件
-
随着PDF在日常学习工作中的使用越来越广泛,越来越多的政府部门、企业以及教育机构使用PDF来简化文档管理流程、提高效率并减少对纸张的依赖,各式各样的PDF软件也如雨后春笋般的出现。本期Ma...
- balenaEtcher for mac(U盘启动盘制作工具)
-
balenaEtcherformac分享给大家,balenaEtcher是一个mac电脑上U盘启动盘制作工具,可以用来制作macOS、Linux、CentOS、Windows等系统的u盘启动盘。...
- Mac 系统情况一目了然,而且还免费:Instastats
-
Mac上的PowerUser想必都听说过iStatMenus,这是一款可以监控硬件实时状态的小工具,优雅适配Yosemite、实时统计各App状态、丰富个性的配色方案……只有一个问题...
- Karabiner Elements for Mac(键盘改键神器)v13.5.9中文免费版
-
KarabinerElementsforMac一款非常不错的键盘改建神器,KarabinerElementsmac能将普通键映射到任意键功能,支持创建用户可以在其间切换的多个配置文件。测试环...
- 限时免费!可激活的Mac版微软office 2024!请低调获取
-
MicrosoftOffice2024forMac是一款专为苹果Mac操作系统设计的办公软件套件,旨在提供一系列强大的工具来满足个人和企业的日常办公需求。以下是关于Office2024f...
- 强得很!这几款软件,让你的Mac电脑更好用,建议收藏~
-
1.Vox-Mac上最好用的免费全能音乐播放器VoxMac版这是一款简洁Mac音乐播放器,支持Mp3、OGG、FLAC(无损格式)等多种音频格式,可将听歌记录同步到Last.fm。Vo...
- Nik Collection 5 for Mac(PS滤镜插件套装)中文版
-
NikCollection中文版是一款ps滤镜插件套装,其包含了七款ps插件,功能涵盖修图、调色、降噪、胶片滤镜等方面。NikCollection作为很多摄影师和摄影爱好者所熟悉的一大照片后期...
- gSwitch for mac(GPU显卡切换工具)v1.9.7免费版
-
想要更简便的管理显卡问题推荐使用gSwitchMac版,该软件主要是为了解决一些在不需要使用独立显卡的情况下系统会自动切换到独立显卡从而增加mac的发热量。gSwitch软件介绍一款mac显...
- 7种适用于Mac的免费杀毒软件(适合mac的杀毒软件)
-
多年来,由于Mac被感染恶意病毒的可能性普遍低于其他操作系统,因此关于Mac是否确实需要防病毒软件,一直存在着争议。如果您趋向于在Mac上安装防病毒程序,以加固安全的话,那么我建议您多考虑那些免费选项...
- 在 M1/M2 Mac 上,让 Windows 11 免费“跑”起来
-
自从苹果在产品中逐步使用自研的M系列芯片淘汰掉英特尔芯片之后,很多事情都发生了改变。作者|KirkMcElhearn和JoshuaLong译者|弯月出品|CSDN(ID:CS...
- 苹果Mac OS X 10.10公测版明日免费下载
-
IT之家(www.ithome.com):苹果MacOSX10.10公测版明日免费下载不久前,苹果公司在WWDC2014宣布了新一代OSX10.10桌面平台,同时也表示很快向公众免费提供Be...
- 卡普空《生化危机7》iOS/iPad/Mac版现已发售:游戏免费试玩
-
IT之家7月2日消息,在今早举行的CAPCOMNEXT-Summer2024节目上,官方公布了《生化危机7》iPhone/iPad/Mac版发售预告,号称拥有令人印象深刻的视...