演示:使用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,如需转载请自行联系原作者

相关文章
|
3天前
|
负载均衡 应用服务中间件 持续交付
微服务架构下的Web服务器部署
【8月更文第28天】随着互联网应用的不断发展,传统的单体应用架构逐渐显露出其局限性,特别是在可扩展性和维护性方面。为了解决这些问题,微服务架构应运而生。微服务架构通过将应用程序分解成一系列小型、独立的服务来提高系统的灵活性和可维护性。本文将探讨如何在微服务架构中有效部署和管理Web服务器实例,并提供一些实际的代码示例。
21 0
|
3天前
|
缓存 NoSQL 数据库
高性能Web服务器架构设计
【8月更文第28天】在当今互联网时代,网站的响应速度直接影响用户体验和业务成功率。因此,构建一个高性能的Web服务器架构至关重要。本文将从硬件配置、软件架构以及网络设置三个方面探讨如何提高Web服务器的性能,并提供一些实际的代码示例。
16 0
|
8天前
|
负载均衡 网络协议 Linux
在Linux中,常用WEB服务器负载架构有哪些?
在Linux中,常用WEB服务器负载架构有哪些?
|
8天前
|
存储 监控 安全
大数据架构设计原则:构建高效、可扩展与安全的数据生态系统
【8月更文挑战第23天】大数据架构设计是一个复杂而系统的工程,需要综合考虑业务需求、技术选型、安全合规等多个方面。遵循上述设计原则,可以帮助企业构建出既高效又安全的大数据生态系统,为业务创新和决策支持提供强有力的支撑。随着技术的不断发展和业务需求的不断变化,持续优化和调整大数据架构也将成为一项持续的工作。
|
8天前
|
Kubernetes 安全 微服务
使用 Istio 缓解电信 5G IoT 微服务 Pod 架构的安全挑战
在5G电信领域,Kubernetes集群中部署微服务至关重要,但也带来了重大的安全挑战。Istio作为一个强大的开源服务网格,能有效地管理这些微服务间的通信,通过其控制平面自动将Sidecar代理注入到各微服务Pod中,确保了安全且高效的通信。Istio的架构由数据平面和控制平面组成,其中Sidecar代理作为Envoy代理运行在每个Pod中,拦截并管理网络流量。此外,Istio支持多种Kubernetes发行版和服务,如EKS等,不仅增强了安全性,还提高了应用性能和可观测性。
30 0
使用 Istio 缓解电信 5G IoT 微服务 Pod 架构的安全挑战
|
9天前
|
数据可视化 NoSQL Serverless
现代化 Web 应用构建问题之Serverless架构的Web站点费用计算如何解决
现代化 Web 应用构建问题之Serverless架构的Web站点费用计算如何解决
23 1
|
10天前
|
Java Docker 微服务
微服务架构的概念、特点以及如何在Java Web开发中实现微服务。
微服务架构的概念、特点以及如何在Java Web开发中实现微服务。
36 1
|
11天前
|
Java Docker 微服务
微服务架构已成为Java Web开发的新趋势,它通过将应用分解为独立、可部署的服务单元,提升了系统的灵活性与可维护性。
微服务架构已成为Java Web开发的新趋势,它通过将应用分解为独立、可部署的服务单元,提升了系统的灵活性与可维护性。每个服务负责特定功能,通过轻量通信机制协作。利用Spring Boot与Spring Cloud等框架可简化开发流程,支持模块化设计、独立部署、技术多样性和容错性,适应快速迭代的需求。
56 1
|
7天前
|
网络协议 NoSQL 网络安全
【Azure 应用服务】由Web App“无法连接数据库”而逐步分析到解析内网地址的办法(SQL和Redis开启private endpoint,只能通过内网访问,无法从公网访问的情况下)
【Azure 应用服务】由Web App“无法连接数据库”而逐步分析到解析内网地址的办法(SQL和Redis开启private endpoint,只能通过内网访问,无法从公网访问的情况下)
|
7天前
|
API
【Azure API 管理】在 Azure API 管理中使用 OAuth 2.0 授权和 Azure AD 保护 Web API 后端,在请求中携带Token访问后报401的错误
【Azure API 管理】在 Azure API 管理中使用 OAuth 2.0 授权和 Azure AD 保护 Web API 后端,在请求中携带Token访问后报401的错误
下一篇
云函数