1、 PKI 个人学习笔记 目 录 一、 PKI 理论 2 1.1 什么是 PKI? 2 1.2 证书的组成部分 . 2 1.2.1 证书的内容 . 2 1.2.2 扩展 . 3 1.3 X.509v3 . 4 1.4 X.500 DN . 4 1.5 PEM(Privacy Enhanced Mail) . 5 1.6 SCEP . 5 1.7 PKCS 系列标准 5 1.8 证书服务器介绍 . 6 1.8.1 证书服务器的角色和功能 . 6 1.8.2 私有与公开的 CA 6 1.9 层次化 PKI 7 1.9.1 下组附属证书服务器( Sub-CA)子 CA 7 1.9.2 注册授权服务器(
2、 RA) . 7 1.10 密钥和证书存储 . 7 1.10.1 一般操作 . 7 1.10.2 证书存储 . 8 1.10.3 Smartcards . 8 二、 PKI 处理流程与步骤 9 2.1 证书申请步骤 . 9 2.2 证书颁发方式 . 10 2.3 证书验证方式 . 11 2.3.1 CRL 证书吊销列表 11 2.3.2 OCSP . 11 2.3.3 集成 AAA 技术的 PKI 12 2.4 证书服务器恢复 . 12 三、基于 IOS 的 PKI 配置 . 13 3.1 基本配置 . 13 3.2 吊销列表 CRL 16 四、基于微软的 PKI 配置 . 18 五、 CA
3、认证之 L2LVPN . 26 六、 SUB_CA 认证之 EzVPN . 33 PKI 个人学习笔记 一、 PKI 理论 1.1 什么是 PKI? PKI( Public Key Infrastructure):从字面的解释就是公共密钥基础设施。也可以说成是一个服务框架。主要用来需要用于大范围使用公钥技术的。 CA( Certificate Authority) :一个中心的授权机构(表示是可任信的第三方),主要作用于为 PKI 网络中 签名 所有实体的公钥 ,发证书給客户 。 就类似于我们生活中的公安局,专门负责发放身份证的。 证书( Certificates) :一个被 CA 数字签名的
4、文件,用于绑定个人信息和公钥。就类似于身份证一样。 1.2 证书的组成部分 证书分四个部分来说:个人信息、属性、公钥、证书服务器的签名。用一句话可以概括起来:证书服务器证明(数字签名),某一个公钥和某一实体(个人信息)之间有关联关系,并且限制这张证书使用规则(属性)。 个人信息:比如可以是姓名,部门、公司、国家等等 . 公 钥:对称密钥所产生的公钥。 签 名:也就是用 CA 的私钥所做的签名。这样可以验证 CA。因为只有 CA的公钥可以解密。 属 性:比如时间、或用途等,用于 VPN、验证客户端等等。 1.2.1 证书的内容 A Verxion(版本 ):有 1、 2、 3 的版本,目前最新的
5、用的是 X.509v3. B.Serial number(序列号 ):唯 一标识某一证书服务器所颁发的证书。 C Algorithm ID(签名算法 ):标识证书服务签名证书时使用的算法。 RSAPKI 个人学习笔记 和 SHA,一个用来做哈希一个用来做来加密哈希值。 D Issuser(颁发者 ):颁发证书的证书服务器的个人信息。 E Validity period(有效期 ):证书的有效时间。 F Subject Name(使用者 ):使用者的个人信息,使用 X.500 DN 的命名方式。 G Public Key Algorithm(公钥算法 ):主要是 RSA 或者是 DSA。 H S
6、ubject Public Key(公钥 ):使用者的公钥。 I Subject Unique Identifier(使用者唯一标识符 ):这是一个选项,当多个使用者使用相同的名字时使用。 假如可能网络中有 两个人叫 SHEN,所以需要一个唯一标识符来区分哪一个人。 J Issuer Unique Identifier(颁发者唯一标识 ):这是一个选项,当多个CA 使用相同的名字时使用。 比如说公安局,如果所有都叫公安局,那就不行了,所以需要定义一个标签来区分。很好理解的。 K Certificate Signature Algorithm(证书签名算法 ): CA 服务器签名证书时所使用的算
7、法。 L Certificate Signature(证书签名 ):证书服务器对颁发 的证 书 所作的签名。 1.2.2 扩展 A Authority Key Identifier(颁发机构密钥标识符 ):用来区分唯一标识签名证书的密钥对,当一个证书服务器拥有多个证书的时候。有可能一个服务有多个私钥在做签名,一个私钥对应一张证书嘛。 B Subject Key Identifier(使用者密钥标识符 ):用来区分唯一标识一个公钥的证书。比如在创建密钥的时候,可以一对密钥也可以两对密钥。如果是一对密钥的时候,则密钥不仅做签名也做加密。如果是两对密钥的话,则一对密钥做签名一对密钥做加密。 PKI
8、个人学习笔记 C. Key Usage(密钥用法 ):定义证书中的公钥用在哪里。比如做加密,数字签名, CRL 签名和证书签名等。 D Subject Altenative Name(使用者备用名称 ):绑定身份认证信息到证书的使用者。这些信息可以是 DNS或 IP等。比如我的个人信息名字是:“深”,但是在域里面,登录的时候不可能用中文吧?所以可以用备用名称。 E Basec Constraints(基本约束) :用来说明这是一个根证书,校验证书链的最大深度。个人证书是沁有基本约束的。 F Extended Key Usage(增强型密钥用法 ):指定公钥的用途,比如说用于服务器认证,客户认证
9、,邮件加密等。 G CRL Distribution Points( CRL 分发点):定义如何去获取 CRL 信息,这个字段主要使用一个 HTTP 或者 LDAP 的 URL。 1.3 X.509v3 这是一个国际的标准。 CA 证基本都是根据这个标准制定的。主要内容就是CA 证书的组成部分, 1.2 章有介绍。 1.4 X.500 DN 一个目录服务,用于开始一个单位或组织内部人员目标的 标准 。就类似于我们电脑硬盘一们, C 盘下有很多文件夹,而文件夹里又有子文件夹,这样一个一样目录下来。 DC(域) DomainComponent CN(名字 ) CommonName OU(部门) O
10、rganizationalUnitName O(公司) OrganizationName STREET StreetAddress L(地点) LocalityName ST StateOrprovinceName PKI 个人学习笔记 C(国家) CountryName UID(用户) Userid 例如配置: Cn=shen, OU=ccie, O=公司, L=NanNing, C=china, DC=baidu, DC=com 1.5 PEM(Privacy Enhanced Mail) 通过 PEM 编码,把证书显现为文本格式。很容易通过 Header 和 Trailers来识别内容,
11、可以用于对证书,私钥进行编码。 1.6 SCEP 主要用于 在线证书申请 , 这个技术是 CISCO 设计出来的。通过 HTTP 传输协议获取。为 VPN 设备提供了简单而功能强大的证书申请方式。 1.7 PKCS 系列标准 这个标准是由 RSA 安全公司开发出来的,主要定义 PKI 的一些格式标准等。 PKCS#1 定义 RSA 公开密钥算法加密和签名机制,主要用于组织 PKCS#7K 所描述的数字签名和数字信封。 PKCS#3 定义 DH 密钥交换协议 PKCS#5 描述一种利用从口令派生出来的安全密钥加密字符串的方法,使用MD5 从口令中派生密钥,并采用 DES-CBC 模式加密,主要用
12、于加密从一个计算机传送到另一个计算机的么人密钥,不能用于加密消息 PKCS#6 描述了公钥证书的标准语法, 主要描述 X.509 证书的扩展模式 PKCS#7 定义一种通用的消息语法,包括数字签名和加密等用于增强的加密机制, PKCS#7 与 PEM 兼容,所以不需要其他密码操作,就可以将加密的消息转換成 PEM 消息 。封装数据的一个标准。 PKCS#8 描述私有密钥信息格式,该信息包括公开密钥算法的 私有密钥以及可选的属性集等。 PKI 个人学习笔记 PKCS#9 定义一些用于 PKCS#6 证书扩展、 PKCS#7 数字签名和 PKCS#8 私钥加密信息属性集等 PKCS#10 描述证书
13、请求语法 。定义证书请求的数据格式。 PKCS#11 称为 Cyptoki,定义了一套独立于技术的程序设计接口,用于智能卡和 PCMCIA 卡之类的加密设备。 PKCS#12 描述个人信息交换语法标准。描述了将用户公钥、私钥、证书和其他相关信息打包的语法。 用于在一个单一的文件中交换公共和私有对象,提供加密机制,私钥被保护起来。比如在 CISCO 里配置 CA服务器的时候, no shutdown 就会要输入一个密码。 PKCS#13 椭圆曲线密码体制标准 PKCS#14 伪随机数生成标准 PKCS#15 密码令牌信息格式标准。 和 7 和 10 里,其实他们是有关系的,比如申请的时候,数据外
14、最外面的是http,往里就是 7 的封装格式,接着就是 10 的数据,请求。 1.8 证书服务器介绍 1.8.1 证书服务器的角色和功能 证书服务器( CA)的主要目的是 验证证书请求和颁发证书。 证书服务器是整个 PKI 系统中最核心的,一量 CA 被破坏,整个 PKI 的运用将不再受到信任。 1.8.2 私有与公开的 CA 私有 CA:一个公司或内容使用的证书服务器。免费使用 并且不受约束 ,但是信任关系受限制,因为如果出到互联网的时候,就不会受信任了。 公有 CA:互联网上的 CA。全互联网可以信任的,但是需要收费的 并且受到约束 。 PKI 个人学习笔记 1.9 层次化 PKI 如果在
15、一些比较大的网络拓扑中,比如有 N 多分支的时候,如果每个分支下的主机都像中心的 CA 服务器申请证书,这样是比较困难的而且也不够安全。所以可以制定出层次化的拓扑,减轻 CA 中心的负担 ,提高高可用性和管理问题 。 1.9.1 下组附属证书服务器( Sub-CA) 子 CA 子 CA 位于中间层, Root CA 会下发一些相应的责任給 Sub CA。 子 CA 作为一个可信任的颁发机构,验证证书申请并且颁发证书。 1.9.2 注册授权服务器( RA) RA 的主要任务就是降低 CA 的负担,分担一些管理上的任务, RA 就像是 CA的前端代理。 A 接收证书请求 B 验证请求者身份 当用户
16、发请求与 CA 做信任关系的时候,请求首先会到达 RA 上。由 RA 来接收并且验证用户的身份,如果请求通过了, RA 就把请求发送給 CA。 CA 就会直接颁发证书,因为 CA 和 RA 之间是有信任关系的。 RA 与用户之间不需要信任关系。 优点在于:不暴露 CA 的身份,有利于安全性。而且也分担了 CA 的负担。 1.10 密钥和证书存储 1.10.1 一般操作 一般系统使用密码保护私钥,当一个用户解锁私钥,并且加载到内存后,其它用户通过读取内存的方式可以 窃取 私钥。 PKI 个人学习笔记 1.10.2 证书存储 微软里证书根据用户、程序等样式来存储证书。而 LINUX 里则是每一个进
17、程就一个证书存储。而在 CISCO 的 IOS 里。存在 NVRAM 里。而 ASA 则通过隐藏文件存储在 Flash 文件系统中。 1.10.3 Smartcards 传统 PKI 部署方式为证书和密钥与系统绑定,这样很难在不同系统之间使用证书与密钥。 Smartcards 针对这个问题。在增加证书和密钥的移动性的 同时,还提高了安全性。 比如网银的 U 盾,只要插在哪台电脑上,哪台电脑就可以用。 PKI 个人学习笔记 二、 PKI 处理流程与步骤 2.1 证书申请步骤 A.NTP 时间同步,这个是重中之重,时间必须要同步。 B.设置 CA 服务器, CA 是 PKI 的核心。可以选择 CI
18、SCO 的 IOS 或微软的证书服务器。 C 客户端 产生密钥。第一个实体在申请证书之前,需要先预告产生 RSA 密钥,如果不手动产生的话,系统也会自动产生的。 D. 验证证书服务器,每一个实体需要获取根证书,里边有 CA 的公钥。获取了根证书后,可以通过离线验证 CA。 E申请个人证书,每一个实体发送自己的个人信息和公钥到 CA。 F审核并签名证书。当管理员收到请求后,对证书请求进行审核,查询是否有这么个人,个人信息是否对,公钥是否对,如果 OK 后则对个人信息和公钥内容进行数字签名,签名后的文件就是数字证书,也就是个人证书。 G颁发数字证书, CA 把签名过后的个人证书发給实体 H交换密钥
19、,相互认证。 下而通过一个例子来说明一下,此图是由网上下载的。如图: PKI 个人学习笔记 这是我们 IKE 的第五六个包,认证阶段。 首先,发送方,通过哈希算法把双方都知道的资源做哈希值,然后用自己的私钥做签名。再把自己的个人证书以及签名、主机名等一起发送过去。接收方收到之后,因为接收方有根证书,所以有 CA 的公钥,刚好可以验证接收方的个人证书,解密后得到接收方的明文公钥和个人信息,对比与个人证书里的一样。则拿接收方的公钥解密签名。得到明文的哈希值,接收方再把自己的哈希值与之对比,如果是一样的,则认证通过。反之第个包奕然。 2.2 证书颁发方式 CISCO 的 CA 有如下几种证书颁发方式
20、: A Manual:这是默认方式,手动。 B Auto:自动颁发 所有证书请求 。 C None:拒绝所有证书请求。 PKI 个人学习笔记 D RA-auto:自动允许所有 RA 来的证书请求。 2.3 证书验证方式 证书验证方式有三种: CRL 吊销列表、 OCSP 和 AAA。 2.3.1 CRL 证书吊销列表 A类似于通缉布告。 B 有效期。 C服务器签名。 D客户周期性轮询存储位置(比如 FTP 等)获取当前最新的 CRL。 E管理员一旦吊销证书,新的 CRL 就会被颁发,但是新的 CRL 并不会立即被客户获取,只有等老的 CRL 过期了,才能获取新的 CRL。 总结一下: 比如在一
21、个网络中,有某两个客户与之建立关系,会查看本地的吊销列表的有效期,如果是在有效期以内,则不会去轮询新的 CRL。如果超期了就会轮询新的 CRL。并且是 CA 做签名的。 在证书被吊销了之后, CA 会马上颁发新的 CRL 到存储位置。但是客户并不会马上去获取的,因为只有本地的 CRL 超期了才会去获取最新 CRL。 这也明显就是其之缺点了。 2.3.2 OCSP OCSP 提供实时服务,会马上获取最新的 CRL,但是需要第三方软件支持。 IOS不支持 OCSP 服务器,但 IOS 做为终端设备,支持 OCSP 吊销方式。 OCSP 是周期性的轮询 CRL 分发点。时间是非常短的,实时获取最新的
22、 CRL。也可以周期性的通过 CA 推过来的更新。 就是这两种获取 CRL。 PKI 个人学习笔记 2.3.3 集成 AAA 技术的 PKI 证书的字段,能够发送給 RADIUS 服务器。服务器检查这些信息,并授权这设备对网络的访问。 优势:在认证的基础之上提供授权,能够限制证书使用时间和用途,并且马上生效。 缺 点 :需要在 AAA 服务器上手动配置认证与授权信息。 2.4 证书 服务器恢复 某些时候,设备出现故障,或者丢失了登录账号。如果设备是 CA。因此需要一种方法在这种情况下,恢复 CA 的使用,以免造成灾难性的后果。 需要恢复的文件: A RSA 密钥和本地证书,也就是数据库。 B
23、证书服务器颁发的最后一个 SN 序列号。 C 被吊销的证书清单, CRL。 默认这些都存储在 NVRAM 里面,建议使用外部一个 FTP 服务器来储存这些文件,为了安全性,可以设置只能被 CA 访问 FTP。 PKI 个人学习笔记 三、 基于 IOS 的 PKI 配置 3.1 基本配置 讲了那么多废话理论,现在来一个简单的实验,看一下 PKI 空间是啥玩意 ?有啥神奇之处的。在本次实验中, ISP 作为一个 CA。 R1 和 R2 建立 L2L VPN,验证方式为证书认证。 如图: ISP 配置: clo timezone GMT +8 !设置时区 clo set 12:00:00 Nov 2
24、1 2014 !配置时间 ntp master !配置 NTP 同步时间,这是重中之中,玩 PKI,时间是必须 要同步的。 ip http server !开启 http。因为本实验是通过 SCEP 在线发送证书的。 ip doma name ISP !定义域名 crypto pki server CA !配置 CA 服务器 issuer-name cn=ISP, ou=ccie !颁发者的个人信息, cn 代 表个人信息, ou 代表组织单位或者部门。 no shutdown !开启证书 R1 配置: Clock timezone GMT +8 Ntp ser 4.4.4.4 !ISP 上的
25、一个环回口地址,可以配置 ISP 上任何一个地 址,只要能访问到 ISP 即可,为了方便,本文用环回地址。 Ip domain name R Crypto pki tr ustpoint R1 !配置 CA 证书信任点 enrollment url http:/4.4.4.4:80 !通过 HTTP 到 CA 获取证书 subject-name cn=R, ou=ccie revocation-check crl ! 吊销列表,默认查询的。 rsakeypair VPN-key !调用下面创建的 KEY。如果不调用的话,则 key 的名字会是 R。 crypto key generate rs
26、a modulus 1024 label VPN-key !创建 KEY。默 认情况下会有三个 KEY,一个是做签名的,一个是做加密的,一个是 SSH 的。 PKI 个人学习笔记 R2 配置: Clock timezone GMT +8 Ntp ser 4.4.4.4 Ip domain name R Crypto pki tr ustpoint R2 enrollment url http:/4.4.4.4:80 subject-name cn=R, ou=ccie revocation-check crl rsakeypair VPN-key crypto key generate rsa
27、 modulus 1024 label VPN-key 获取根证书或验证 CA: crypto pki authenticate R1 !调用信任点名字为 R1 的 SCEP 验证。 Certificate has the following attributes: Fingerprint MD5: 9F824FD4 F09063B8 9E6E4C73 8A1166FE Fingerprint SHA1: 305B5AE3 D65CC7BE 3FF82E22 CF016073 B9211879 从 上面可以看出,验证 CA 的时候本身也会做签名。这时候我们只要把这个哈希值拿去給和管理员对比 C
28、A 上面的哈希值 ,如果是等同,则验证 CA 成功。开始建立信任关系。 申请可以证书: crypto pki enroll R1 !向 CA 申请个人证书 PKI 个人学习笔记 这个是系统跳出来的,后面会产生哈希值。这个时候,管理员验证 R1 的时候,只要对比这两个哈希值即可。 但是这个时候客户端不会马上获取到证书的。 由于在配置 CA 服务器的时候,证书颁发默认方式是手动。所以我们还需要去 CA 上給 R1 颁发证书。 命令: crypto pki server CA info requests 发现有一个证书请求,序号是 1。随后管理员就开始验证这个哈希值和个人信息,如果与真实的客户端是等
29、同的,则开始給 R1 颁发证书。 cry pki ser CA grant 1 在 R1 上查看证书: R1#show crypto pki certificates Certificate Status: Available Certificate Serial Number: 0x2 Certificate Usage: General Purpose Issuer: cn=ISP ou=ccie Subject: Name: R1.R hostname=R1.R cn=R ou=ccie Validity Date: start date: 11:05:25 GMT Nov 21 201
30、4 end date: 11:05:25 GMT Nov 21 2015 Associated Trustpoints: R1 PKI 个人学习笔记 CA Certificate !这个是根证书 Status: Available !状态是有效的 Certificate Serial Number: 0x1 ! CISCO 的 IOS 都这个编码方式 Certificate Usage: Signature Issuer: cn=ISP ou=ccie Subject: cn=ISP ou=ccie !颁发者信息和个信信息都是一样的,根证书 Validity Date: start date:
31、 10:57:15 GMT Nov 21 2014 end date: 10:57:15 GMT Nov 20 2017 Associated Trustpoints: R1 从上面可以看出, R1已经获取到 CA根证书和个人证书了。 R2获取证书步骤同理,就不在此废话了。下面配置 IPSEC VPN。 crypto isakmp policy 1 crypto ipsec transform-set aa esp-des esp-md5-hmac crypto map VPN 1 ipsec-isakmp set peer 200.1.1.2 set transform-set aa mat
32、ch address 100 int f0/0 crypto map VPN 至此,一个简单的 PKI 配置就完成了。 3.2 吊销列表 CRL 在理论部分讲过,如果当某原因,需要把证书給吊销了。但是,默认吊销列表不会实时更新的,会有一个时间差,只有当本地的吊销列表到期了才会更新。在本小节内容介绍一下吊销列表的情况,默认情况下,吊销列表会自动产生的: PKI 个人学习笔记 现在把 R1 的证书吊销: ISP#crypto pki server CA revoke 0x2 % Certificate 0x2 succesfully revoked. ! CRL 已经成功被吊销了 测试一下 VPN
33、 效果,发现 VPN 还是通的,这是什么情况呢? 因为 R2 上的吊销列表,还没超期,默以为 R1 的证书还是有效的。也就是说,在这个时间段之间,我们的 VPN 还是有效的,很明显,这样是极大的不安全的。 现在我们手动的更新 CRL crypto pki crl request R2 现在再测试 VPN 的连通性,肯定是不通的了,因为 R2 的 CRL 列表已经被更新了。 PKI 个人学习笔记 四、 基于微软的 PKI 配置 现在来讲一下在微软 2008 上配置 CA 的步骤,这玩意真够复杂的。一步一步来介绍吧。 R1 与 R2 之间建立 IPSEC VPN,基于数字签名认证。在阅读本章内容时
34、最好对 2008 R2 有一定的了解。本章只会简略的介绍 2008R2 的配置: CA 配置: 首先先安装 CA 和 DNS,为什么要安装 DNS 服务器呢?因为本章将通过域来访问的,所以需要做 DNS 服务器。如下图: 接下来就是一些参数的配置了,需要注意的是,证书的时间、以及证书的类型和PKI 个人学习笔记 密钥算法等要根据实际情况配置。 添加 SCEP 功能,如下图: 下一步: PKI 个人学习笔记 在 IIS_IUSRS 组里添加成员: 填写 CA 根证书的个人信息,可以不填,如下图: PKI 个人学习笔记 现在开始配置 DNS 服务器,如下图: 接下来配置域名解析,在本实验里有三个域
35、是需要解析的,一个是 R1 的域名: R,一个是 R2 的域名: R,一个是 WIN2008 R2 服务器的域名: CA。因为在本实验里,所有的访问都将 是通过域来访问的,这样比较贴近真实工作环境,而不是实验。毕竟在工作环境中,一般都是通过域名来访问内部的服务器的。本人也是从这实验中学会了如何配置 CA 证书和 DNS服务器的。好了,看配置吧。如下图: PKI 个人学习笔记 测试一下 CA 服务器以及 DNS 服务器是否正常,如图: 至此, WIN2008 服务器就配置完成了,主要配置两个内容,一个是证书服务器,一个是 DNS 服务器。当然在实际工作中,不只这么简单的,应该更倾向于AD 域。本
36、人对域不是很熟悉,做个一次成功的实验,就不在此实现了,域的配置也很简单的,把需要用的全放到域里就 OK 了 。 PKI 个人学习笔记 现在开始配置客户端向 CA 申请根证书和个人证书,如下配置: 切记切记,玩 PKI 之间一定要时间同步。 ip domain name R !R1 的域名 ip name-server 100.1.1.100 !DNS 服务器所在地址 ip domain-lookup !开启域名解析 crypto pki trustpoint CA !配置 PKI 信任点 enrollment url http:/CA:80/certsrv/mscep/mscep.dll !开
37、启 DNS 就是为了可以直接通过域名访问 CA。当然也可以用 IP 地址的 方式访问。 subject-name cn=R, ou=ccie revocation-check none !切记,这个要配置,不然会不通的。因为 CRL 查询不了,主要原因是微软的根证书默认的查询方式 是文件查询,而 CISCO 的 IOS 是无法支持这个的, IOS 只支持 LADP 和 HTTP 查询 CRL。当然,也可 以在根证书里修改成 HTTP 也得。 Crypto pki auth CA 至此,根证书已经可以正常获取到了,如下图: 现在开始获取个人证书,这个比较重要,看清楚了啵,如下图配置,申请过程需P
38、KI 个人学习笔记 要输入密码,我们在配置基于 IOS 平台的 CA 服务器时,直接回车,因为 CISCO的 IOS 没有这个查询密码。而微软是有的,所以需要到 CA 上获取密码并输入: 微软上的查询密码,注意,这个是一次性密码,只对本次 有效,如果再申请第二个个人证书时,必须要刷新获取密码,切记切记: http:/CA 然后开始申请证书,注意,这只是一个申请而已,证书还没有下发的,因为还需要在 CA 上颁发证书,如下图: 如果证实是本人申请,则可以右键颁发证书了。 PKI 个人学习笔记 查询个人证书: 至此, R1 的证书申请就完成了。 R2 的也是相同的,就不在此废话了。 之后就是配置 I
39、PSEC VPN的了,在此也不废话了。基于微软的配置就介绍到此吧 ! PKI 个人学习笔记 五 、 CA 认证之 L2LVPN 好了,现在出场的第一个实验 ,如图: 如上图:有一个 CA 与一个 RA。 FTP 服务器是用来存放 CA 的数据库的。因为之前介绍的 PKI 配置,数据库是存放在 NV 里面的。一旦有人可以登录上路由器,那么 CA 的内容就会被发现,安全性不够。所以建议是把数据库存放到外部的 FTP上保存。就算 CA 挂了,还可以恢复回来。 拓扑介绍如下 : A Center 与 B1、 ASA 建立 基于 CA 认证的 L2L IPSEC VPN。 B Center 向 CA 获
40、取证书, B1 和 ASA 向 RA 申请证书,然后 RA 把验证通过后把请求直接发送給 CA。因为 RA 验证过,所以 CA 直接回头证书給 RA。由 RA 再颁发給 B1 和 ASA。 重点! C CA 的数据保存到 FTP 上。 D 通过证书访问控制列表控制证书的使用。重点! 在本例中, FTP 已经提前配置好。 CA 配置: PKI 个人学习笔记 NTP 时间同步,切记 crypto pki server CA database level complete issuer-name cn=CA,ou=ccie,o=reverbed,l=NanNing,c=CN grant auto c
41、dp-url ftp:/10.1.1.200/CA_CRL.crl ! CRL 到 FTP,名字自定义的 database url ftp:/100.1.1.200 !传送数据库到 FTP 上 如上图:数据库已经被上传到 FTP 了。成功第一步。 RA 配置: crypto pki trustpoint RA enrollment url http:/100.1.1.100:80 subject-name cn=RA,ou=ccie,o=reverbed,l=NanNing,c=CN revocation-check none PKI 个人学习笔记 rsakeypair RA-key cryp
42、to pki server RA database level complete database archive pem issuer-name cn=RA,ou=ccie,o=reverbed,l=NanNing,c=CN mode ra !模式是 RA 的。 database url ftp:/100.1.1.200 no shutdown 配置没啥区别,首先就是申请 CA 证书,然后就申请个人证书,就模式上配置为 RA 而已。 如上图: RA 配置成功。 Center 配置: crypto pki trustpoint CA enrollment url http:/100.1.1.1
43、00:80 subject-namecn=C,ou=ccie,o=reverbed,l=NanNing,c=CN revocation-check crl rsakeypair Center-key 512 512 !创建两张证书,一张做签名,一张 做加密,建议实际中也这样 B1 配置: crypto pki trustpoint RA enrollment mode ra !申请模式是 RA。 enrollment url http:/100.1.1.101:80 subject-name cn=B,ou=ccie1,o=reverbed,l=NanNing,c=CN revocation-
44、check none 注意:这是向 RA 申请的,而 RA 没有配置颁发为自动颁发,所以需要去 RA 上颁PKI 个人学习笔记 发证书。 如果确定是 Center 的申请,则开始給 Center 颁发证书: RA#cry pki server RA grant 1 ASA 配置: crypto key generate rsa la ASA-key modulus 512 ! ASA 默认不产生密 钥,所以需要手动创建 crypto ca trustpoint RA enrollment url http:/100.1.1.101:80 subject-name cn=ASA,ou=ccie2
45、,o=reverbed,l=NanNing,c=CN crl configure 接下来,开始配置 VPN: 先把基本的 L2L VPN 配置先,最后再做 CA 的 MAP 控制策略。 Center: crypto isakmp policy 10 crypto isakmp identity dn !默认是发送主机名,改为发送域名 crypto ipsec transform-set aa esp-des esp-md5-hmac crypto map VPN 1 ipsec-isakmp set peer 100.1.1.1 set transform-set aa match addre
46、ss 100 crypto map VPN 2 ipsec-isakmp set peer 100.1.1.2 set transform-set aa match address 101 crypto map VPN PKI 个人学习笔记 access-list 100 permit ip host 192.168.10.1 host 192.168.1.1 access-list 101 permit ip host 192.168.10.1 host 192.168.2.1 B1: crypto isakmp policy 10 crypto isakmp identity dn cry
47、pto ipsec transform-set aa esp-des esp-md5-hmac crypto map VPN 1 ipsec-isakmp set peer 100.1.1.10 set transform-set aa match address 100 crypto map VPN access-list 100 permit ip host 192.168.1.1 host 192.168.10.1 ASA: crypto ikev1 enable outside !切记切记开启 ISAKMP。 crypto ikev1 policy 10 authentication
48、rsa-sig encryption des hash sha group 1 lifetime 86400 tunnel-group 100.1.1.10 type ipsec-l2l tunnel-group 100.1.1.10 ipsec-attributes ikev1 trust-point RA !证书认证 crypto map VPN 1 match address 100 crypto map VPN 1 set peer 100.1.1.10 crypto map VPN 1 set ikev1 transform-set aa crypto map VPN 1 set trustpoint RA !证书认证 crypto map VPN interface outside