如何在Web服务器上设置SSL
- 提问者网友:蔚蓝的太阳
- 2021-03-15 21:23
- 五星知识达人网友:几近狂妄
- 2021-03-15 22:33
2. 展开Web服务器名,选择要安装证书的Web站点。
3. 右击该Web站点,然后单击“属性”。
4. 单击“目录安全性”选项卡。
5. 单击“安全通信”中的“服务器证书”按钮,启动Web服务器证书向导。
注意:如果“服务器证书”不可用,可能是因为您选择了虚拟目录、目录或文件。返回第 2 步,选择Web站点。
5. 单击“下一步”跳过欢迎对话框。
6. 单击“创建一个新证书”,然后单击“下一步”。
7. 该对话框有以下两个选项:
- 1楼网友:一叶十三刺
- 2021-03-15 23:37
在默认情况下,iis使用http协议以明文形式传输数据,web service就是使用http协议进行数据传输的。web service传输的数据是xml格式的明文。没有采取任何加密措施,用户的重要数据很容易被窃取,如何才能保护网络中传递的这些重要数据呢?
ssl(security socket layer)的中文全称是加密套接字协议层,它位于http协议层和tcp协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安全性,同时ssl安全机制是依靠数字证书来实现的。
ssl基于公用密钥和私人密钥,用户使用公用密钥来加密数据,但解密数据必须使用相应的私人密钥。使用ssl安全机制的通信过程如下:用户与iis服务器建立连接后,服务器会把数字证书与公用密钥发送给用户,用户端生成会话密钥,并用公共密钥对会话密钥进行加密,然后传递给服务器,服务器端用私人密钥进行解密,这样,用户端和服务器端就建立了一条安全通道,只有ssl允许的用户才能与iis服务器进行通信。 注 意 ssl网站不同于一般的web站点,它使用的是"https"协议,而不是普通的"http"协议。因此它的url(统一资源定位器)格式为"https://网站域名"。
下面讲解如何使用ssl来增强iis服务器和web service的通信安全。
实现步骤如下。
1.为服务器安装证书服务
要想使用ssl安全机制功能,首先必须为windows server 2003系统安装证书服务。进入"控制面板",运行"添加或删除程序",接着进入"windows组件向导"对话框,如图7-13所示。
图7-13 windows组件向导 |
勾选"证书服务"选项,单击"下一步"按钮。
接着选择ca类型。这里选择"独立根ca"选项,如图7-14所示。单击"下一步"按钮,为自己的ca服务器起名,并设置证书的有效期限,如图7-15所示。
图7-14 选择ca类型 |
图7-15 设置ca信息 |
图7-16 指定证书数据库 |
图7-17 复制系统文件 |
图7-18 安装完成 |
7.9.2 采用ssl实现加密传输(2)
2.配置ssl网站
1)创建请求证书文件
要想让web service使用ssl安全机制,首先需将web service配置为网站。然后为该网站创建请求证书文件。
依次单击"控制面板"→"管理工具"按钮,运行"internet 信息服务(iis)管理器",在管理器窗口中展开"网站"目录,用鼠标右键单击要使用ssl的web service网站,在弹出的快捷菜单中选择"属性"命令,在网站属性对话框中切换到"目录安全性"选项卡,如图7-19所示,
图7-19 网站属性 |
然后单击"服务器证书"按钮,弹出"iis证书向导"对话框。
在"iis证书向导"对话框中选择"新建证书"选项,单击"下一步"按钮,如图7-20所示。
图7-20 服务器证书 |
图7-21 证书向导 |
图7-22 设置证书名称 |
图7-23 设置单位信息 |
图7-24 设置公共名称 |
注 意 公共名称必须输入为访问站点的域名,例如要想用地址 https://www.maticsoft.com访问web service,则此处必须填写为"www.maticsoft.com",否则将提示使用了不安全的证书,导致站点无法访问。并且切记,www.maticsoft.com和www.maticsoft.com:8001 带端口的访问也是不同的,如果设置的是www.maticsoft.com,则网站设置为www.maticsoft.com:8001来访问也是无法使用的。
然后,单击"下一步"按钮,设置国家地区,如图7-25所示。
图7-25 设置国家地区 |
设置证书的单位、部门、站点公用名称和地理信息,一路单击"下一步"按钮。
最后指定请求证书文件的保存位置。这样就完成了请求证书文件的创建。
7.9.2 采用ssl实现加密传输(3)
2)申请服务器证书
完成上述设置后,还要把创建的请求证书文件提交给证书服务器。
在服务器端的ie浏览器地址栏中输入"http://localhost/certsrv/default.asp"。
在"microsoft 证书服务"欢迎窗口中单击"申请一个证书"链接,如图7-26所示。
接下来在证书申请类型中单击"高级证书申请"链接,如图7-27所示。
图7-26 申请证书 |
图7-27 选择证书类型 |
图7-28 选择编码 |
接下来在新打开的窗口中,打开刚刚生成的"certreq.txt"文件,将其中的内容复制到"保存的申请"中,如图7-29所示。
图7-29 提交证书申请 |
图7-30 证书挂起 |
7.9.2 采用ssl实现加密传输(4)
3)颁发服务器证书
提交证书申请以后,还需要颁发服务器证书。依次选择"开始"→"设置"→"控制面板",双击"管理工具",再双击"证书颁发机构",在打开的对话框中选择"挂起的申请"选项,如图7-31所示。
(点击查看大图)图7-31 挂起的申请 |
找到刚才申请的证书,然后用鼠标右键单击该项,在弹出的快捷菜单中选择"所有任务"→"颁发"命令,如图7-32所示。
颁发成功后,选择"颁发的证书"选项,双击刚才颁发的证书,在弹出的"证书"对话框中的"详细信息"标签页中,单击"复制到文件"按钮,如图7-33所示。
图7-32 颁发证书 |
图7-33 复制到文件 |
(点击查看大图)图7-34 选择导出文件格式 |
单击"下一步"按钮,并在"要导出的文件"对话框中指定文件名,最后单击"完成"按钮。
4)安装web服务器证书
重新进入iis管理器的"目录安全性"标签页,单击"服务器证书"按钮,弹出"挂起的证书请求"对话框,选择"处理挂起的请求并安装证书"选项,单击"下一步"按钮,如图7-35所示。
(点击查看大图)图7-35 处理挂起的证书 |
(点击查看大图)图7-36 选择导出位置 |
7.9.2 采用ssl实现加密传输(5)
5)配置网站启用ssl通道
在网站属性"目录安全性"标签页中单击安全通信栏的"编辑"按钮,然后,勾选"要求安全通道(ssl)"选项,如图7-37所示。
(点击查看大图)图7-37 启用网站ssl通道 |
忽略客户端证书:选择该选项可以允许用户不必提供客户端证书就可访问该站点。
接受客户端证书:选择该选项可以允许具有客户端证书的用户进行访问,证书不是必需的。具有客户端证书的用户可以被映射;没有客户端证书的用户可以使用其他身份验证方法。
要求客户端证书:选择该选项则仅允许具有有效客户端证书的用户进行连接。没有有效客户端证书的用户被拒绝访问该站点。选择该选项从而在要求客户端证书前,必须选择"要求安全通道(ssl)"选项。
最后单击"确定"按钮,即完成启用ssl了。在完成了对ssl网站的配置后,用户只要在ie浏览器中输入"https://网站域名"就能访问该网站。 注 意
勾选上ssl后,必须用https来访问,而访问网站的端口也会使用ssl端口,默认为443。
如果在你访问站点的过程中出现无法正常访问的情况,那么请检查服务器防火墙是否禁止对ssl端口443的访问,这点比较容易被忽视,当然你也可以自己修改端口。
如果还是不能访问,出现提示"你试图从目录中执行 cgi、isapi 或其他可执行程序,但该目录不允许执行程序。http错误403.1-禁止访问:执行访问被拒绝。"那么请检查网站主目录的执行权限,将执行权限设置为纯脚本即可,如图7-38所示。
图7-38 设置执行权限 |
6)客户端安装证书
如果iis服务器设置了"要求客户端证书",则其他机器或用户想通过https访问和调用该web服务,就需要将ca的根证书导入到客户端证书的可信任机构中,客户端才可以正常访问web服务。
(1)选择"开始"→"运行"命令,在弹出的对话框中输入"mmc",出现如图7-39所示的界面。
图7-39 启动控制台 |
图7-40 添加/删除管理单元 |
(3)单击"添加"按钮,在可用独立管理单元列表中选择"证书"选项,出现如图7-41所示的界面。
(4)选择"计算机账户"选项,单击"下一步"按钮,选择"本地计算机"选项,然后依次单击"完成"→"关闭"→"确定"按钮。
图7-41 添加证书管理单元 |
(点击查看大图)图7-42 选择证书导入位置 |
(点击查看大图)图7-43 导入证书 |
(点击查看大图)图7-44 导入到证书 |
7)ssl的优点与缺点
优点:它对web服务提供的数据完整性没有任何影响,当值返回给客户时,值还是保持原样,并没有因在传输过程中使用了加密技术而发生变化。
缺点:它对站点的整体性能有影响,因为它需要进行很多加解密的数据处理。
0 0 0 (请您对文章做出评价)