演示:使用PKI架构保护Web访问的安全实现SSL

简介:

演示目标:使用PKI架构保护Web访问的安全SSL

演示环境:如下图3.57所示。

演示工具:微软windows2003服务器集成的IIS组件、证书组件。

014116813.png

演示步骤:

spacer.gif第一步:在该环境中,首先要部署192.168.201.100为网络中的DNS和Web服务器,关于它的部署不是本书所描述的范围,所以请教师清演示整个部署过程,然后部署如上一小节3.4任务四 实训演示:部署基于微软公司独立环境下的证书服务器、申请并管理证书中所描述的独立证书服务器,以便为环境中的Web服务器颁发证书。在完成上述配置后,在web客户端上可以看到访问web服务器的效果如下图3.58所示,由于Web页面没有被加密,所以在传输的过程中,可以使用协议分析器捕获如下图3.59所示的web页面的内容,如果这些内容是您银行卡的密码那么这将是一件非常不安全的事情。

014244603.png

014244909.png

spacer.gif注意:以上描述为整个实验的前提环境,也是Web访问没有被保护时的效果,下面的步骤将使用PKI保护Web页面访问。

spacer.gif第二步:Web服务器向证书服务器申请证书,注意此时Web服务器申请的证书必须是一张计算机证书,而不是用户证书,因为每一个访问Web服务器的用户都要使用Web服务器的公钥。现在在Web服务器上制作证书申请的文件,首先打开IIS组件中www.jinpei.com这个站点的目录安全性选项卡,如下图3.60所示,选择服务器证书, 弹出如下图3.61的Web服务器证书向导单击下一步,在如图3.62的对话选择新建证书,然后下步,出现如下图6.63所示的提示,选择现在准备证书请求但稍后发送,事实上这是形成一个证书请求的申请文件,为证书申请做准备,然后下一步。

014410159.png

014410668.png

然后要求输入新证书的名称和密钥长度,在这我们使用Web站点的FQDN做为新证书的名称,即www.jinpei.com、密钥的长度使用默认的1024位,当然密钥的长度是越长越安全,但是在生成和应该该密钥时的时间也会更长,具体如3.64所示,然后下一步,出现如3.65所示的对话框,要求办理入单位名称和部门,请按照您的实际情况进行配置,在这里的配置内容如图3.65所示,然后下一步。

014539126.png

   出现如图3.66所示的站点公用名称的配置对话框,在该对话框中请输入您站点的DNS名称,在该环境中即www.jinpei.com,如果不这样做,当您使用证书时,可能会出现证书与公用名称不匹配的报错消息。然后下一步,出现如图3.67所示的对话框,要求办理入证书颁发机构的地理信息,在这个过程中,请您按照您证书颁发机构的实际情况进行配置。然后一步。出现请求文件保存位置的提示消息如下图3.68所示,可以使其保持默认位置,然后下一步,出现如图3.69所示的对话框,显示了您先前配置申请文件过程中的所有摘要消息,如果你查看无误请单击下一步。出现如图3.70提示证书申请文件制作完成。此时你可以在C盘的根目录下看到一个certreq.txt的文件,该文件正是您制作的证书申请文件,如图3.71所示。


014949115.png

014949373.png

014949471.png

spacer.gif注意:值得强调的是,上述配置的申请文件是申请一张用于Web服务器的机器证书!

spacer.gif第三步:现在来配置正式提交证书申请,首先您必须在IE中输入申请证书的URL名称,http://192.168.201.1/certsrv,当出现证书申请页面时,选择申请证书,出现如3.72的页面后,选择高级证书申请,然后在出现3.73的页面时,选择使用base64编码的CMCPKCS#10文件提交一个证书申请。然后下一步。

015058467.png

关于base64编码的CMC或PKCS#10:

它是一种证书申请的格式,或者说申请消息可以被保存在该格式中,在证书颁发机构不能联机处理证书申请时,该选项将非常有用,该演示环境的Web服务器申请证书时,就属于这种情况,需要将请求保存为base64编码的CMC或PKCS#10标准。

出现如下图3.74的申请提交页面,将3.71所示的C盘的根目录下的certreq.txt的文件的内容全部复制到保存申请的列表中,然后提交,出现如下3.75的风险提示,请选择是,然后得到3.76的提示申请已经发送到颁发机构,然后等待CA管理员的审查与回置。进行到此已经完成了证书的申请提交。

015345576.png

spacer.gif第四步:此时请到配置主机转到CA服务器上,找开CA服务器上证书控制台,如图3.77所示,可以看到有一张挂起的证书,也就是刚才Web服务器的证书申请,在审查它无误后,确定是Web服务器发出的证书请求,然后选择这张挂起的证书并颁发。

spacer.gif第五步:当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文件进行解码,很多非微软的操作系统也支持它的应用。

015458880.png

 完成上述的下载后,会出现如下3.80的下载进程,当完成下载后,我们可以打开证书,如3.81所示,此时会发现一个问题,在你Web服务器上的这张证书没有受到信任,这是因为证书颁发机构的根证书(事实上也就是CA的证书链)没有被您下载,所以此时你的Web服务器无法确定,当前的证书是否是一个受信任的证书颁发机构颁发。

015554761.png


此时,你应该在Web服务器上访问证书申请页面,如下3.82所示,选择下载一个CA证书、证书链和CRL。出现3.83所示的页面选择安装此CA证书链。会出现如3.843.85的提示,请分别选择是,完成CA证书及证书链的安装。

015657574.png

   此时,您再次查看证书,发现证书已经受信如图3.86所示。然后回到Web服务器相应站点(www.jinpei.com)的安全目录选项卡,然后开始使用Web服务器证书向导,如下图3.87所示,选择下一步,出现如图3.88的对话框选择处理挂起的请求和安装证书,然后下步。现在你需要为Web服务器装载,你刚申请并下载的证书,导航到下载证书的位置,如图3.89所示。确定证书的位置后选择下一步。

015814349.png

015814557.png

出现如图3.90所示,提示此时可以使用SSL保护Web页面的安全,并要求指定SSL的端口号,请保持默认的443。然后选择下一步,出现如图3.91所示的对话框,提示安装证书前你先前所配置的所有摘要消息,选择下一步。完成Web服务器上证书的安装,如3.92所示。至此完成证书在Web服务器上的安装。

015909308.png

现在可以配置Web站点www.jinpei.com的目录安全选项卡,选择编辑,出现如3.93所示的对话框,选择要求安全通道(SSL)要富有128位加密,然后选择忽略客户端证书或者接受客户端证书,关于证书与客户端各个选项的意义如下:


关于客户与证书的选项意义如下:

ü忽略客户端证书:指示不要求客户端使用证书,此时客户端只使用Web服务器的公钥来加密数据,但是客户端不需将自己的公钥给Web服务器。

ü接受客户端证书:如果客户端提供证书,Web服务器可以接受客户端的证书,并使用客户端的公钥,但是不强调客户必须使用证书,如果有证书服务器可以接受。在很多情况下这是最常见的一种用法。

ü要求客户端证书:该选项指示客户必须使用证书,换言之,Web服务器必须使用客户端的公钥来完成相关的安全任务。如果选择该选项,客户端不提供证书,那么服务器将拒绝与之会话。

spacer.gif第六步:现在到客户端上来通过SSL来安全访问www.jinpei.com,此时在IE中应该输入https://www.jinpei.com而不是http://www/jinpei.com。输入后会弹出安全页面连接的消息,如下图3.94所示,请单击确定。

020019371.png

出现如下3.95所示的安全提示,注意有一个黄色的小叹号,指示该书由您没有选定信任的公司颁发,换而言之,您并不信任目前正在使用的这张证书,当您单击提示中的的查看证书时,你会看到如图3.96所示的证书状态,指示该证书不受信任。

020113945.png

事实上,产生这一现象的原因非常的简单:因为你不信任为Web服务器颁发证书的CA,那么,必然你就不信任该CA发放的证书,那么所谓第三方信任机构也就没有形成,现在也的确如些,目前的情况是Web服务器信任CA,而你并不信任CA所以,你就不会信任Web服务器的给你的公钥,要解决这个问题同样也很简单:您只需要下载证书服务器CA的证书链即可,如下图3.97所示,选择下载一个CA证书、证书链或CRL


020201896.png

当完成CA证书链的下载后,再次在IE中输入:https://www.jinpei.com除了提示安全连接外,不会再提示任何错误,可看到如图3.98所示的情况,在浏览器的右下角一把小锁的图标,这表示该页面被加密,使用Web服务器的公钥加密。如果此时,有第三方的截取者再次捕获访问Web的数据帧,将得到如图3.99所示的数据帧,可以看到被SSLv3加密了,不可能再获得页面的内容。

020243910.png




本文转自 kingsir827 51CTO博客,原文链接:http://blog.51cto.com/7658423/1264821,如需转载请自行联系原作者

相关文章
|
1月前
|
安全 搜索推荐 数据建模
解决网站“不安全”、“不受信”、“排名下降”,你需要——「SSL证书」
SSL证书是网络安全的关键,用于加密和验证网站身份,保护用户数据安全,防止信息被窃取。它分为DV、OV、EV和IV四种类型,每种验证网站身份的程度不同。DV证书快速签发,OV和EV证书提供更高级别的身份验证,EV证书曾在浏览器地址栏显示绿色。目前,DV证书占据市场大部分份额。SSL证书还有单域、通配符和多域之分,有效期曾从多年逐渐缩短至90天,以增强安全性。部署SSL证书能提升用户信任,优化SEO排名,并符合网络安全法规要求。
解决网站“不安全”、“不受信”、“排名下降”,你需要——「SSL证书」
|
2月前
Web应用基本架构
Web应用基本架构。
38 6
|
3月前
|
SQL 分布式计算 Hadoop
Azkaban【基础 01】核心概念+特点+Web界面+架构+Job类型(一篇即可入门Azkaban工作流调度系统)
【2月更文挑战第6天】Azkaban【基础 01】核心概念+特点+Web界面+架构+Job类型(一篇即可入门Azkaban工作流调度系统)
102 0
|
24天前
|
SQL 安全 网络安全
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
58 0
|
1月前
|
存储 前端开发 Java
理解MVC架构模式:Java Web开发的设计理念
【4月更文挑战第3天】MVC架构模式在Web开发中广泛应用于构建可维护和扩展的应用。它将应用程序分为模型、视图和控制器三部分,增强代码模块化和重用。模型处理数据逻辑,视图负责用户界面,而控制器协调二者。MVC优点包括高内聚、低耦合、易于测试、扩展和维护。在Java Web开发中,可通过Servlet、JSP或Spring框架实现MVC。理解并运用MVC是Java Web开发者的关键技能。
理解MVC架构模式:Java Web开发的设计理念
|
2月前
|
安全 网络安全 数据安全/隐私保护
SSL证书过期后网站还能正常访问吗
SSL证书过期后,网站仍可访问,但浏览器会出现警告,降低用户信任度,增加数据安全风险。过期可能导致安全性下降、信任问题、浏览器限制及合规性风险。管理员需关注证书有效期,及时续费或更换,并选择可靠提供商。
SSL证书过期后网站还能正常访问吗
|
2月前
|
架构师 前端开发
web全栈架构师第16期教程
互联网时代已进入后半场,行业环境发生了显著变化。互联网人,尤其是技术人员,如何在加速更迭的技术浪潮中持续充电,提升自身价值,是当下必须面对的挑战。课程涉及了现下前端实际开发时所需要的各块内容,并深度对标 阿里 P6+级别所具备的知识储备及开发技能,奠定源码阅读基础和全栈开发能力。
19 3
web全栈架构师第16期教程
|
2月前
|
安全 Linux 网络安全
Qt SSL/TLS 安全通信类:构建安全网络应用的关键组件
Qt SSL/TLS 安全通信类:构建安全网络应用的关键组件
78 0
|
2月前
|
存储 设计模式 前端开发
请解释 Web 应用程序的 MVC(模型-视图-控制器)架构。
【2月更文挑战第26天】【2月更文挑战第89篇】请解释 Web 应用程序的 MVC(模型-视图-控制器)架构。
|
2月前
|
敏捷开发 前端开发 JavaScript
探索现代Web应用中的微前端架构
【2月更文挑战第25天】在本文中,我们将深入探讨微前端架构的概念、实现方式以及其在现代Web开发中的应用。微前端是一种将大型单一应用拆分成一组小型独立子应用的架构模式,每个子应用负责一个功能模块,并可独立开发、部署和运行。通过这种模块化的方式,团队能够更加灵活地响应市场变化,提高开发效率,同时保持整体应用的稳定性和可维护性。文章将详细介绍微前端的核心原则、技术挑战以及如何在实际项目中实施微前端策略。