热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PKI系列:(2)CA服务器的部署【基于CiscoIOS与微软CA】

说明PKI的部署,可以分为VPN-Only和企业PKI的部署,VPN-Only顾名思义就是只用于VPN设备的验证用途,而dot1x和其他

说明

PKI的部署,可以分为VPN-Only和企业PKI的部署,VPN-Only 顾名思义就是只用于VPN设备的验证用途,而dot1x和其他方面 VPN-Only就无用了,这时候就必须部署企业的PKI,企业PKI的应用比较复杂,可以提供多种不同业务,比如VPN、dot1x、HTTPS。


CA服务器的选择

我们可以用微软的CA服务器或者是Cisco IOS 12.4以后的来作为CA服务器,如果确定使用IOS作为CA服务器的话,那么它的用途只是为VPN提供服务,并且只是在VPN对等体不是非常多的情况下,因为 IOS默认把证书的信息存储在NVRAM中,如果申请证书的人比较多的话,那么NVRAM提供的空间是不够的,通常我们建议如果用IOS作为CA服务器的话,那么就把证书信息存储在外部服务器中。

当然,更为推荐的是使用微软的CA服务器,因为它的扩展性和性能都是非常好的,能够提供不同的业务类型,还有很好的备份和恢复能力,并且能够和域做联动。


部署PKI的一个重要前提

在部署PKI的时候,一个重要的前提就是时间,因为证书都是有有效期的,我们设备的时间必须落在这个证书的有效期范围内,如果检查到时间不对的话,那么这个证书就会被认为是无效的,所以在部署的时候,一定要确保设备或电脑的时间与CA服务器的时间一致。可以在内部部署NTP服务器,也可以利用公网上得到源时钟。


IOS的CA服务器部署

0、时间是PKI系统的另外一个核心部分,所以必须设置时间和时区
clock timezone GMT 8
clock set 13:10:00 17 nov 2012

1、IOS只支持SCEP的在线方式或者离线方式进行申请正证书,,所以必须打开http服务器,IOS只支持HTTP形式来传递证书信息。
ip http server

2、创建一个RSA的密钥对,建议强度为2048 ,因为现在1024也是不安全的。 (可选)
crypto key generate rsa modulus 1024 label cciese exportable

pki

为什么说是可选的呢,因为在创建CA服务器后,系统会检查本地是否有RSA的密钥,如果没有就会自动生成一个RSA 1024强度的,这里我是强烈建议创建一个有标签,并且强度为2048的RSA密钥对,exportable参数是这个密钥是可导出的,为什么要可导出,因为我们可以备份这个密钥对,这是非常有必要的,也是在实际应用中必须要做的。

3、配置PKI服务器的参数
(1)crypto pki trustpoint CA (可选)
rsakeypair cciese

注意:如果不需要备份CA服务器的话,也就是密钥对由系统产生,那么完全不需要这一步骤,这个就是调用自己产生的RSA密钥对。

(2)crypto pki server CA

pki

1、issuer-name:是颁发着的个人信息,其中cn是必须的,其余的都是可选,如果是实验环境的话,可以简单些,但是在实际应用中,建议完整话,因为我们可以一些字段的信息来做不同的策略。

2、其中还有许多参数可以选择,比如使用什么hash算法、根证书的有效期、颁发证书的有效期、和CRL、证书存放的位置。

3、no shutdown:就是启用这个PKI server,需要输入两次密码,这个密钥是对私钥进行保护,形成一个PKCS#12的文件存放在NVRAM中。

pki

show crypto pki server 可以检查当前CA服务器的状态,必须两个enabled才是正常的,如果显示为disable的话,那么最常见的可能 1、时间不正确 2、http服务没打开

不正ok的状态:

pki

可以在nvram中查看到关于CA服务器的证书信息保存,CA.ser就是根证书, CA.crl就是吊销列表 而CA_0001.P12是PKCS#12的文件,保护私钥的。

此致,一个比较有效的CA服务器搭建完成,关于CA服务器的备份和还原将在后续介绍。
其余参数介绍:

1、grant auto :自动颁发证书 ra-auto:允许RA的请求证书,自动颁发
2、database level complete :默认情况下,数据库是最小级别(属性就比较少,因为路由器默认存放在NVRAM里面)
3、cdp-url ftp://10.1.1.201/ca.crl 存放吊销列表到一个外部服务器
4、database url ftp://10.1.1.200 存放CA服务器的database到外边服务器
database username {} password {}:可能FTP服务器需要用户名和密码认证
5、mode ra 代表这个是CA的代理服务器
6、lifetime certificate:规定证书的有效期,默认为1年
7、lifetime ca-cetificate :定义根证书的有效期
8、lifetime crl :定义CRL的时间,默认为4个小时
9、cdp-url :当IOS作为CA服务器时,PKI信息又存储在外部数据库中,需要定义,只支持http和ldap方式,注意的是:保存的名字与server的名字一致: 比如server CA,那么保存的名字为CA.crl

 

一个比较好的CA服务器部署:1、数据库存于外部的一个安全的服务器上 2、时间有效期根据实际情况而定 3、颁发证书建议是手动的 4、有可导出的密钥对。


实验环境下的CA服务器搭建

有时候,我们只是希望实验环境下来做做CA的一些实验或者特性,那么就不需要那么严谨了 (虽然我推荐第一种),介绍两种比较简单搭建CA服务器的步骤。

1、在时间和http服务器打开的情况下

2 crypto pki server CA
no shutdown

pki

这样,一个CA服务器就搭建完成了,这样只能应用到实验环境中,否则,后期会很麻烦。


MS的服务器部署

现在MS服务器的OS用的多的是03和08了,但是,03的话,默认情况下是不支持SCEP的,必须安装插件才支持,而08服务器已经集成了SCEP的功能,所以,这里介绍用2003服务器部署CA 服务器。

1、2003服务器安装证书颁发机构之前,必须安装IIS的组件,否则会出现一些问题。

pki

2、安装证书服务

pki
pki
pki
pki
pki

如果是域环境的话,可以部署企业级别的证书,那些证书可以用于dot1x和SSL VPN的证书验证,更多的是面向用户的。但是现在,还不支持SCEP的形式为VPN颁发证书,因为2003默认情况下是没有集成的。

pki
pki
pki
pki
pki
pki

这样的话,微软的服务器就支持SCEP功能了


验证MS服务器CA服务器

1、 http://localhost/certsrv/ 当打开了出现了一个页面的话,就证明服务器没问题。

pki

2、http://localhost/certsrv/mscep/mscep.dll,当出现了如下的画面,就证明SCEP工作是正常的

pki

这个密码每60分钟刷新一次,或者被使用了一次就必须更新。

总结:关于CA服务器的搭建其实非常简单,如果是实验环境的话,可以用IOS作为CA服务器即可,如果是实际应用的话,那么就建议使用MS的CA服务器,因为扩展性和性能都会有很大的优势。 另外2008或者2012比2003要功能强大很多,而且还集成了SCEP等功能。

如果大家有任何疑问或者文中有错误跟疏忽的地方,欢迎大家留言指出,博主看到后会第一时间修改,谢谢大家的支持,更多技术文章尽在网络之路Blog(其他平台同名),版权归网络之路Blog所有,原创不易,侵权必究,觉得有帮助的,关注、转发、点赞支持下!~。


推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 如何用JNI技术调用Java接口以及提高Java性能的详解
    本文介绍了如何使用JNI技术调用Java接口,并详细解析了如何通过JNI技术提高Java的性能。同时还讨论了JNI调用Java的private方法、Java开发中使用JNI技术的情况以及使用Java的JNI技术调用C++时的运行效率问题。文章还介绍了JNIEnv类型的使用方法,包括创建Java对象、调用Java对象的方法、获取Java对象的属性等操作。 ... [详细]
  • node.jsrequire和ES6导入导出的区别原 ... [详细]
  • PatchODAX8: ... [详细]
  • 原文地址http://balau82.wordpress.com/2010/02/28/hello-world-for-bare-metal-arm-using-qemu/最开始时 ... [详细]
author-avatar
je荒也是种美
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有