day08、3 - PKI实验

一、KPI综合实验说明

1.实验概述

  • 实验内容:发布网站使用域名访问,且可以实现https访问网页
  • 实验所需服务器:IIS之WEB服务器、DNS服务器、CA服务器

2.实验原理

1)https服务什么
  • https服务:本质上就是要使用SSL加密技术,在 HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL
2)为何部署CA服务器
  • 我们搭建一个网站服务器,但是默认只能提供80端口服务(http服务),希望升级为443(https服务),本质上就是要使用SSL加密技术,那么需要PKI的帮助,而PKI中有一项内容为CA来公正,所以需要安装CA服务器
3)CA服务器满足要求
  • 安装CA服务器注意:因为CA公证需要通过网页的形式提供一个服务窗口(注册窗口),那么CA也必须要搭建WEB服务器(IIS),发布CA公证所需网页,而且与用户间要交互,所以安装IIS服务器必须还要勾选动态服务扩展和插件
  • CA服务器搭建好后,为用户提供网页形式的注册窗口,会自动放到IIS默认web站点中(即c:\inetp\wwwroot),通过默认站点路径发布CA的网站
4)DNS服务器部署
  • 需要通过域名访问发布的站点,所以需要再部署DNS服务器给网站添加域名解析
5)KPI的应用
  • 通信双发:web服务器与客户端
  • KPI的组成:公钥加密技术、数字证书、CA、RA
    • 公钥加密技术:使用https(SSL加密技术)。用https协议通信,浏览器与服务器的通信信息都是加密传输的
    • 数字证书:CA服务器颁发证书给发布网页的web服务器;CA服务器颁发证书给客户机
    • CA即我们搭建的CA服务器(现实中我们应该去权威的国家CA认证机构去申请证书,这里是模拟实验)

二、搭建HTTPS服务器过程

1.搭建WEB服务器发布网页

实验环境:
1)win2008作为https服务器:10.1.1.1/24(即把win2008同时部署成WEB服务器、CA服务器、DNS服务器)
2)win7作为客户机:10.1.1.2/24
3)桥接到虚拟网络vmenet1
1)安装IIS服务器,并发布网页
  • 注意:安装IIS必须勾选动态服务扩展和插件

    image-20211025104434911
  • 右键网站–添加网站–发布的网站为game,通过域名www.game.com访问,这里目前还选不了https服务,因为此IIS服务器没有数字证书

    image-20211025104806918
  • 为网站添加首页

    image-20211025105456237
2)搭建DNS服务器
  • 新建正向查找区域取名为game.com,新建主机A记录,添加一条解析记录www.game.com 10.1.1.1

    image-20211025110104470
  1. 客户端可以通过http服务,使用www.game.com访问此网站

    客户端目前需要和web服务器在同一个局域网,且指向刚创建的DNS服务器(因为这些都是虚拟中模拟的,并没有在运营商那里登记注册记录这些网站的合法性,那么这个game网站的域名解析只能通过自己的dns创建)

    image-20211025110317828

2.搭建CA服务器

  1. 搭建CA服务器:安装Active Directory 证书服务

    • 一定要勾选证书颁发机构Web注册(因为搭建CA服务器后是有CA了,但根本没法与客户机交流,所以要做一个网页)

      image-20211025110556575 image-20211025110638293
    • 选择新的私钥:即CA的公钥私钥都自动创建了;选择加密算法,密钥长度

      image-20211025111613642
    • CA的共用名称:一定要好好取名,因为作为国家公认的工商局需要有自己的名字(标识),相当于给自己的一个证书。(一个给别人颁发,还有一个自己的证书证明自己是权威的CA)

  2. 开始–管理工具–证书颁发机构

    image-20211025111920827 image-20211025111954604

    CertSrv网站即为创建CA服务器自动在WEB服务器上默认站点下建立的子站点—用于客户申请证书

3.web服务器申请证书

1)生成申请书
  • 注意:是IIS服务器提供HTTPS服务,其下的网站使用HTTPS服务;所以一定是要用IIS服务器申请证书,但是最终是该IIS服务器发布的某个网站使用HTTPS服务,所以证书中的使用者标识信息一定要写要用https访问的网站的信息,即名称为网站的域名,所以IIS申请一个证书,该证书只能证明IIS发布的其中指定的一个网站的合法性,即如果发布多个网站一定要用IIS服务器创建多个申请证书,一个证书的使用者信息指定一个网站

  • 所以选择IIS服务器名称–服务器证书–创建证书申请–填写相关信息(通用名称一定是最后要用https访问的网站的域名,不能瞎写)–生成自己的公钥和私钥–设置申请书存放的本地位置、并取名

    image-20211025112649316

    image-20211025135836701 image-20211025113015065
2)申请证书的过程
  1. 找到CA的注册窗口(即CA提供的注册网页):打开浏览器–输入CA服务器IP/certsrv(certsrv站点是创建CA服务器时就自动在WEB服务器默认站点下创建的网站,且微软搭建的CA服务网站的命名默认都是certsrv)访问CA申请证书的网站

    如果想用域名访问certsrv网页,可以再在DNS服务器上创建一个主机A记录,为默认站点绑定一个域名,再通过访问域名/certsrv访问网页(详见四、使用https访问certsrv

    image-20211025113309667
  2. 选择申请证书–选择证书类型(1.Web浏览器证书—给员工申请的证书 2.电子邮件保护证书(以后学邮件系统学)3.高级证书申请–给服务器申请证书)

    image-20211025113446915

    为什么员工也要申请证书:我们现在要让IIS提供HTTPS服务,设计到通信信息安全方面,所以需要PKI,那么IIS服务器需要向CA申请证书,让访问的用户相信IIS提供的网站是合法的且网站就是真正的网站不是别人伪造的网站,用户只要相信IIS提供的某网站,网站就可以提供HTTPS服务;

    但是有些网站需要双向认证,客户也需要认证自己的身份,即客户有时也需要申请证书,证明访问网站的人就是本人,比如有些公司的网站,需要客户的证书证明就是公司的内部人员,在外网也可以进行访问,那么此时网站和客户之间的通信就被加密了,很安全

  • 使用base64编码:因为刚才IIS服务器生成的申请书就是使用base64编码;再将申请书中的内容,复制到页面中,提交!

    image-20211025113524307 image-20211025114435822
3)关闭每次打开win2008浏览器都弹一个框添加信任的框
  • image-20211025114155424
  • 右键我的电脑–管理–服务器管理器–IE增强的安全配置–配置IE ESC–禁用

    image-20211025114300505image-20211025114318791

4.CA颁发数字证书

  • CA收到申请后–选择挂起的申请–可以查看到申请–对申请右键–所有任务–颁发

    image-20211025114653785

5.为web服务器下载并安装证书

1)WEB服务器下载证书
  • 客户下载通过的证书:再登录CA注册网站–选择查看挂起的证书–保存证书–默认编码下载证书(证书链是多个证书:证书a系这证书b,证书b系着证书c)

    image-20211025114855089
2)将颁发的证书添加到WEB服务器
  • 打开IIS–点击IIS服务器名称–服务器证书–完成证书申请

    image-20211025115828713
  • 现在会发现IIS服务器上已经有两个证书

    image-20211025141834831

    上面的证书为CA自己的证书,因为CA的官方网站CA要自己颁发证书,告诉大家这是公证合法的

    下面的证书即WEB服务器的证书,现在就可以通过这台web服务器发提供https服务的网站了

6.启用SSL开启443端口

1)将IIS的证书绑定到game网站
  • 右键game网站–编辑绑定–添加–类型选择https,IP为IISIP,https服务端口号443,SSL证书选择IIS的数字证书,ZJJ-CA是CA机构自己的证书

    image-20211025122236722
  • 如果想让客户端必须使用https方式访问,则需要设置SSL必需:选择需要使用https方式访问的网站(game)–SSL设置–勾选要求SSL–应用

    如果不勾选要求SSL,则客户使用http或者https都可以访问此网站

    image-20211025122608470
2)设置客户端是否需要证书来访问
  • 打开指定网站的SSL设置–先勾选SSL(才能要求客户是否需要提供证书访问)–设置客户证书

    • 如果忽略或者接收则客户有没有证书都可以访问此网站
    • 选择必需,表示客户也必须同样有证书才能访问此网站

    客户申请证书详见三、给客户端浏览器申请证书

7.客户端用https访问网站

1)客户端添加受信任CA
  • 就算web服务器有CA颁发的证书,但是如果客户端不信任CA也无法访问,所以客户要使用https方式访问网站,还需要将给此网站颁发证书的CA机构添加信任

    image-20211025124251311
  • 疑问?为什么访问百度就可以直接访问,因为给百度web服务器颁发证书的CA是中国公证的CA,浏览器内置信任过

  1. 打开客户端(浏览器)–工具–Internet选项–内容–证书–受信任的根证书颁发机构:这里可以查看此浏览器信任的CA

    image-20211025125504718
  2. 下载CA的证书

    需要下载CA的证书,然后导入到信任机构中,即表示信任在此CA注册的网站(本质上就是拿到CA的公钥,去验证服务端发送过来的网站的证书的有效性,以及网站的公钥的真实性,最终确认访问的网站就是真正的网站)

    • 打开浏览器–访问CA的官方页面10.1.1.1/certsrv–下载CA证书

      image-20211025141016512
  3. 将CA添加到受信任的证书颁发机构

    • 打开浏览器–工具–Internet选项–内容–受信任的根证书颁发机构–导入–将下载的CA证书导入即可
2)客户使用https访问网站
  • 输入https//www.game.com可以直接访问网站内容,且可以查看到网站标识信息

    image-20211025142128854

三、给客户端浏览器申请证书

为什么要给客户端口浏览器申请证书:因为如果有些公司的网站提供https服务,但是也需要合法的受信任的用户访问网站(即网站的SSL设置中选择客户证书必需)。比如银行的某些网站,银行要给我们办理银行优盾。

image-20211025122608470

1.客户申请证书说明

  • 如果网站要求访问的用户也必须有在发布此网站的服务器信任的CA那注册过证书,那么客户想访问此网站,就必须也要去相应的CA注册网站上申请证书;证书是颁发给客户使用的客户端(浏览器)的

2.客户申请证书过程

  1. 打开CA的申请证书官网10.1.1.1/certsrv–申请证书–选择Web浏览器证书类型–发现win7系统的IE浏览器必须要求填写的注册信息发送给CA采用SSL加密,即CA的申请证书官网一定要使用https协议传输,所以要再通过发布CA申请证书官网的IIS-web服务器为CA申请证书官网申请一个证书,然后将证书绑定到默认网站(子网页为certsrv)上,设置SSL,就可以通过https访问CA申请证书官网了(过程详见:使用https访问certsrv

    这一步一般不用我们来做,这是CA要做的事情,但是我们要知道怎么做的,其实和前面搭建https过程一致

    解决办法二:打开浏览器–工具–Internet选项–安全–自定义级别–找到ActiveX 插件和控件下的是个子选项全部启用,即可,不需要通过https的方式与CA官网传输数据

  2. 发布CA官网的web服务器提供了https服务后,即可通过https://www.zjj.ca.com/certsrv来访问CA证书申请官网了(www.zjj.ca.com为CAweb服务器的默认站点域名,certsrv为默认站点下的子网页,即CA证书注册页面)

    image-20211025165022257
  3. 申请证书–选择Web浏览器证书–填写用户的相关信息–提交

    image-20211025165222455
  4. CA验证信息后颁发给客户数字证书,用户再次登录官网,选择查看挂起的证书–web证书–下载即可

    image-20211025165442094
  5. 此时用户就可以访问此网站了(win7系统的IE浏览器访问不了,但xp的可以访问?)

四、使用https访问certsrv

  • 为什么要做这个:客户申请证书填写信息时win7的ie浏览器需要使用https传输

步骤和上述搭建https过程几乎一致,只是有一些地方要注意:

①certsrv网页是默认站点下的一个网页,certsrv不是一个站点,所以域名解析是绑定的默认站点,再通过默认站点域名/certsrv访问;

②且颁发的证书中通用名称也应该是默认站点的域名,站点有了证书,那么其下的子网页也可以通过https访问;

③如果使用同一台web服务器发布两个网站(默认网站和game网站),且两个网站都需要绑定证书,IIS7版本是做不到的:因为IIS7不支持同时绑定多个证书,即使导入到IIS的证书很多,但是只能绑定一个证书。解决办法可以使用IIS8;也可以多买一台服务器,一台web服务器发布game,一台服务器发布默认站点。

  1. 先为默认站点创建域名解析

    • DNS服务器–正向查找区域新建区域–再创建主机A记录–绑定发布默认站点的IIS的IP地址,即可以通过www.zjj.ca.com/certsrv来访问默认站点下的子网页:certsrv网页

      image-20211025150410073
  2. 在IIS上为默认站点绑定主机名(域名)— 能通过www.zjj.ca.com/certsrv访问CA注册官网

    • certsrv是Default Web Site下的一个子网页,不能给网页绑定域名,只能给网站绑定

      image-20211025154639332
  3. 为默认网站申请证书

    1. 打开发布certsrv网站的IIS-web服务器–点击web服务器的名称–服务器证书–创建证书申请

      image-20211025150936549

      注意:这个证书通过IIS给CA注册官网申请的证书,所以不能用前面完成的game证书,因为证书中的内容包含了证书使用者的相关信息。所以这里通用名称一定要写CA注册官网的域名

    2. 打开CA申请证书官网–申请证书–高级证书申请–使用base64编码…–将刚证书的申请内容复制到申请栏中–提交

      image-20211025155613772
    3. 等待CA颁发,颁发后重新登录certsrv页面–查看挂起的证书申请状态–下载颁发的证书

    4. 打开IIS点击服务器名称–服务器证书–完成证书申请–将颁发的CA注册官网的证书添加进来

    5. 右键默认站点–编辑绑定–添加–选择https,SSL证书选择刚才为为默认站点颁发的证书,IIS7版本不支持绑定多个SSL证书,所以我们只能先停用game,等客户填通过CA官网获取到数字证书,再停用默认站点

      image-20211025162245187
    6. 接下来我们就可以通过https访问CA注册证书的官网了

      image-20211025164457580
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值