演示目标:使用PKI架构保护Web访问的安全SSL
演示环境:如下图3.57所示。
演示工具:微软windows2003服务器集成的IIS组件、证书组件。
演示步骤:
第一步:在该环境中,首先要部署192.168.201.100为网络中的DNS和Web服务器,关于它的部署不是本书所描述的范围,所以请教师清演示整个部署过程,然后部署如上一小节3.4任务四 实训演示:部署基于微软公司独立环境下的证书服务器、申请并管理证书中所描述的独立证书服务器,以便为环境中的Web服务器颁发证书。在完成上述配置后,在web客户端上可以看到访问web服务器的效果如下图3.58所示,由于Web页面没有被加密,所以在传输的过程中,可以使用协议分析器捕获如下图3.59所示的web页面的内容,如果这些内容是您银行卡的密码那么这将是一件非常不安全的事情。
注意:以上描述为整个实验的前提环境,也是Web访问没有被保护时的效果,下面的步骤将使用PKI保护Web页面访问。
第二步:Web服务器向证书服务器申请证书,注意此时Web服务器申请的证书必须是一张计算机证书,而不是用户证书,因为每一个访问Web服务器的用户都要使用Web服务器的公钥。现在在Web服务器上制作证书申请的文件,首先打开IIS组件中www.jinpei.com这个站点的目录安全性选项卡,如下图3.60所示,选择服务器证书, 弹出如下图3.61的Web服务器证书向导单击下一步,在如图3.62的对话选择新建证书,然后下步,出现如下图6.63所示的提示,选择现在准备证书请求但稍后发送,事实上这是形成一个证书请求的申请文件,为证书申请做准备,然后下一步。
然后要求输入新证书的名称和密钥长度,在这我们使用Web站点的FQDN做为新证书的名称,即www.jinpei.com、密钥的长度使用默认的1024位,当然密钥的长度是越长越安全,但是在生成和应该该密钥时的时间也会更长,具体如图3.64所示,然后下一步,出现如图3.65所示的对话框,要求办理入单位名称和部门,请按照您的实际情况进行配置,在这里的配置内容如图3.65所示,然后下一步。
出现如图3.66所示的站点公用名称的配置对话框,在该对话框中请输入您站点的DNS名称,在该环境中即www.jinpei.com,如果不这样做,当您使用证书时,可能会出现证书与公用名称不匹配的报错消息。然后下一步,出现如图3.67所示的对话框,要求办理入证书颁发机构的地理信息,在这个过程中,请您按照您证书颁发机构的实际情况进行配置。然后一步。出现请求文件保存位置的提示消息如下图3.68所示,可以使其保持默认位置,然后下一步,出现如图3.69所示的对话框,显示了您先前配置申请文件过程中的所有摘要消息,如果你查看无误请单击下一步。出现如图3.70提示证书申请文件制作完成。此时你可以在C盘的根目录下看到一个certreq.txt的文件,该文件正是您制作的证书申请文件,如图3.71所示。
注意:值得强调的是,上述配置的申请文件是申请一张用于Web服务器的机器证书!
第三步:现在来配置正式提交证书申请,首先您必须在IE中输入申请证书的URL名称,http://192.168.201.1/certsrv,当出现证书申请页面时,选择申请证书,出现如图3.72的页面后,选择高级证书申请,然后在出现3.73的页面时,选择使用base64编码的CMC或PKCS#10文件提交一个证书申请。然后下一步。
关于base64编码的CMC或PKCS#10:
它是一种证书申请的格式,或者说申请消息可以被保存在该格式中,在证书颁发机构不能联机处理证书申请时,该选项将非常有用,该演示环境的Web服务器申请证书时,就属于这种情况,需要将请求保存为base64编码的CMC或PKCS#10标准。
出现如下图3.74的申请提交页面,将图3.71所示的C盘的根目录下的certreq.txt的文件的内容全部复制到保存申请的列表中,然后提交,出现如下图3.75的风险提示,请选择是,然后得到图3.76的提示申请已经发送到颁发机构,然后等待CA管理员的审查与回置。进行到此已经完成了证书的申请提交。
第四步:此时请到配置主机转到CA服务器上,找开CA服务器上证书控制台,如图3.77所示,可以看到有一张挂起的证书,也就是刚才Web服务器的证书申请,在审查它无误后,确定是Web服务器发出的证书请求,然后选择这张挂起的证书并颁发。
第五步:当CA管理员为Web服务器颁发证书后,现在我们再次转到Web服务器上,打开证书申请页面,然后查看挂起的证书,如图3.78所示,已经看到CA管理员为您颁发的那的证书,选择它后出现图3.79所示的页面,选择以DER编码格式下载证书。
关于DER编码格式:
它被ITU-T Recommendation X.509中定义,其目标是提供独立平台的编码对象(证书和消息)的方法,以便于在设备与应用程序之间传輸,它是一种限制非常严格的编码标准。在证书编码的过程中,多数的应用程序使用DER,因为证书的请求信息必须使用DER编码,对其进行签名。即便是你没有使用微软的证书平台,其它的证书平台也可能使用该格式,因为该格式支持兼容性与互操作性。
关于base64编码格式 :
这种编码格式一般用于安全的多用途Internet邮件扩展(S/MIME)。主要将这种编码格式的证书应用于电子邮件,它的目标是将文件编码为纯ASCII码格式,这样可以降低文件通过Interenet(不可靠的网络)传输时被损坏的机率,只要符合MIME标准的客户端都可以对Base64文件进行解码,很多非微软的操作系统也支持它的应用。
完成上述的下载后,会出现如下图3.80的下载进程,当完成下载后,我们可以打开证书,如图3.81所示,此时会发现一个问题,在你Web服务器上的这张证书没有受到信任,这是因为证书颁发机构的根证书(事实上也就是CA的证书链)没有被您下载,所以此时你的Web服务器无法确定,当前的证书是否是一个受信任的证书颁发机构颁发。
此时,你应该在Web服务器上访问证书申请页面,如下图3.82所示,选择下载一个CA证书、证书链和CRL。出现图3.83所示的页面选择安装此CA证书链。会出现如图3.84和图3.85的提示,请分别选择是,完成CA证书及证书链的安装。
此时,您再次查看证书,发现证书已经受信如图3.86所示。然后回到Web服务器相应站点(www.jinpei.com)的安全目录选项卡,然后开始使用Web服务器证书向导,如下图3.87所示,选择下一步,出现如图3.88的对话框选择处理挂起的请求和安装证书,然后下步。现在你需要为Web服务器装载,你刚申请并下载的证书,导航到下载证书的位置,如图3.89所示。确定证书的位置后选择下一步。
出现如图3.90所示,提示此时可以使用SSL保护Web页面的安全,并要求指定SSL的端口号,请保持默认的443。然后选择下一步,出现如图3.91所示的对话框,提示安装证书前你先前所配置的所有摘要消息,选择下一步。完成Web服务器上证书的安装,如图3.92所示。至此完成证书在Web服务器上的安装。
现在可以配置Web站点www.jinpei.com的目录安全选项卡,选择编辑,出现如图3.93所示的对话框,选择要求安全通道(SSL)要富有128位加密,然后选择忽略客户端证书或者接受客户端证书,关于证书与客户端各个选项的意义如下:
关于客户与证书的选项意义如下:
ü忽略客户端证书:指示不要求客户端使用证书,此时客户端只使用Web服务器的公钥来加密数据,但是客户端不需将自己的公钥给Web服务器。
ü接受客户端证书:如果客户端提供证书,Web服务器可以接受客户端的证书,并使用客户端的公钥,但是不强调客户必须使用证书,如果有证书服务器可以接受。在很多情况下这是最常见的一种用法。
ü要求客户端证书:该选项指示客户必须使用证书,换言之,Web服务器必须使用客户端的公钥来完成相关的安全任务。如果选择该选项,客户端不提供证书,那么服务器将拒绝与之会话。
第六步:现在到客户端上来通过SSL来安全访问www.jinpei.com,此时在IE中应该输入https://www.jinpei.com而不是http://www/jinpei.com。输入后会弹出安全页面连接的消息,如下图3.94所示,请单击确定。
出现如下图3.95所示的安全提示,注意有一个黄色的小叹号,指示该书由您没有选定信任的公司颁发,换而言之,您并不信任目前正在使用的这张证书,当您单击提示中的的查看证书时,你会看到如图3.96所示的证书状态,指示该证书不受信任。
事实上,产生这一现象的原因非常的简单:因为你不信任为Web服务器颁发证书的CA,那么,必然你就不信任该CA发放的证书,那么所谓第三方信任机构也就没有形成,现在也的确如些,目前的情况是Web服务器信任CA,而你并不信任CA所以,你就不会信任Web服务器的给你的公钥,要解决这个问题同样也很简单:您只需要下载证书服务器CA的证书链即可,如下图3.97所示,选择下载一个CA证书、证书链或CRL。
当完成CA证书链的下载后,再次在IE中输入:https://www.jinpei.com除了提示安全连接外,不会再提示任何错误,可看到如图3.98所示的情况,在浏览器的右下角一把小锁的图标,这表示该页面被加密,使用Web服务器的公钥加密。如果此时,有第三方的截取者再次捕获访问Web的数据帧,将得到如图3.99所示的数据帧,可以看到被SSLv3加密了,不可能再获得页面的内容。
本文转自 kingsir827 51CTO博客,原文链接:http://blog.51cto.com/7658423/1264821,如需转载请自行联系原作者