IIS7.5配置服务器SSL证书
与安全性相关的诸多挑战中的一个是核实Web服务器的身份,一旦充分地相信服务器可以被信任,需要保护Web客户端与Web服务器之间的通信。在各种网络中,尤其是在Internet中,为敏感数据提供安全的通信是全天需要的。服务器证书旨在为Web服务提供附加的安全性。IIS对创建和管理服务器证书及使用加密的通信提供了内置的支持。
服务器证书是Web服务器用来向试图访问它的客户端证明自己身份的一种方法。提供这一功能的通常方法是通过信仃授权机构。颁发服务器证书的机构被称为证书颁发机构(CA),在Internet上,许多第三方机构可用于验证服务器和生成证。
如果用户信任这些第三方机构,他们也应当能够将信任扩展至己通过验证的网站。机构也可以为内部服务器充当他们自己的CA。这使系统管理员能够使用安全机制来验证和批准新的服务器部署。获取服务器证书的步骤通常包括:
①生成证书申请:Web服务器上所产生的申请生成一个文本文件,文件以加密的格式包含了该申请的相关信息。证书申请唯一地标识该Web服务器。
②向CA提交证申请:证书申请被提交给CA(通常是使用安全的网站或E-mail)。随后CA对申请中的信息进行核实并生成一个受信任的服务器证书。
③获取证书并将其安装到Web服务器:CA将证书返回给申请者,通常是以小的文本文件的方式。随后该文件被导入Web服务器的配置中,以保证通信的安全性。
利用IIS管理器获得一个可在IIS Web服务器上使用的证书。连接至一台运行Windows Server 2008 R2的Web服务器并在功能视图中双击“服务器证书”。证书申请是在Web服务器级别而不是在其他诸如网站或Web应用程序这样的级别生成的。根据本地服务器的配置,一些证可能已经被包含到默认的配置中,“操作”窗格提供创建新证书的命令。
选择“创建证书申请”命令,开始证书申请过程,需要提供申请组织的相关信息。该信息将被CA用来决定是否颁发证书,因此,必须保证信息的准确性。
证书申请过程的第二步需要选择加密方式以保证证书申请的安全性。“加密服务提供程序”设置应当使用被证书颁发机构接受的方法。“位长”设置指定加密的长度,值越大就需要越多的时间来处理,但同时也提供史高的安全性。
证书申请过程的最后一步需要将证书申请保存在文件中。可以提供用于保存证书申请的完整路径和文件名。申请将会保存到一个文本文件中,其中的内容是经过加密的。
下一个步骤需要将证书申请提交给CA。通常,发布方的网站将要求上传证书申请或将其复制到一个安全的网站“发布方也需要附加的信息,例如公司的详细信息和支付信息。
公其的第三方CA处理申请所需要的时间可能会不同。一旦申请被处理并且批准,CA会通过E-mail或它的网站发送响应的可以将其响应保存在一个文本文件中,并提供给IIS以完成申请过程。在“服务器证书”功能视图中选择合适的申请,然后在“操作”窗格中选择“完成证书申请”命令,程序将要求指定响应的路径和文件名,以及为管理指定一个便于记忆的名称。通常响应使用扩展名为.cer的文件名,任何标准的文本文件都可以使用。如果证那申请与响应相匹配,证将被导入IIS的配置中,随时准备使用。
除了标准的证书申请过程之外,还可以使用另外两个命令来创建证书。这些命令在“服务器证书”功能属性的“操作”窗格中提供。“创建域证书”选项生成一个申请以发送至内部的证书颁发机构,这通常用在拥有自己的证书服务基础架构的组织中,申请会发送给内部的服务器,血不是第三方CA。“指定联机证书颁发机构”文本框用于接收内部CA服务器的路径和名称。“好记名称”可以用来标识证书的用途。
证书的创建和管理过程需要多个步骤,而且从一个受信任的第三方CA获取证书通常需要额外的费用。虽然这些步骤对于确保生产环境的安全性是必需的,但是对于开发和测试环境,有一种更为简单和更为可取的方法,即自签名证书,它可以通过创建本地证书来测试证书的功 能。
由于避免了向CA申请的过程,所以使用“操作”窗格中的“创建自签名证书”命令可以很容易地创建这些证书。与其他类型的证书不同,因该证书直接在本地计算机上创建,故它不需要为证书提供组织的信息。自签名证书的主要缺点是使用安全连接访问Web服务器的用户将会收到“证书不是由第三方机构颁发”的警告信息。这通常不对测试环境造成影响,然而对于生产环境的Web服务器而言,它会阻止自签名证书的使用。
服务器证书的内容包括一些详细内容和属性。双击Web服务器的“服务器证书”列表中的某一项就可以查看它的信息。“证书”对话框中提供服务器证书的相关信息。“常规”选项卡显示证书发布万的详细信息,基于Internet的证书将会显示颁发证书的受信任的第三万机构的名称及证书具有的有效日期,如图1l-31所示。“详细信息”选项卡显示证书的附加属性,包括加密方法。
“证书路径”选顺卡显示证书的整休信任层次结构。在有多个级别的CA的情况下,这有助于跟踪所有被使用的信任关系,证书要被认为有效,那么所有的级别都必须被信任。Web用户也可以查看安全证那的详细内容,这有助于确认Web服务器或组织的身份。用户可以在IE浏览器中网页任意处右击并选择“属性”命令,“常规”选项卡中包含用来查看证状态和其他信息的按钮。
一旦SSL证书安装到Web服务器上,可能需要把它导出到文件中。可以使用IIS管理器,右键单击证书并选择“导出”命令,然后为文件提供导出路径和文件名,同时需要提供密码以防止未授权的用户安装书。默认情况下,所导出的证书文件的扩展名是.p,也可以使用任何其他的扩展名。所导出的证的内容是经过加密和受保护的。选择“操作”窗格中的“导入”命令可以导入证书,此时会提示输入已导出的证书文件的文件系统地址及用来打开该文件的密码。此外,可以选择是否允许证书今后被导出。
一旦在IIS Web服务器上添加了服务器证书,就可以使用SSL进行连接。SSL连接依赖证那以验证Web服务器的身份。一旦身份被验证,用户就可以使用HTTPS协议创建安全连接。默认情况HTTPS连接使用TCP端口443进行通信。为了修改网站的信息或启用HTTPS,必须为网站配置网站绑定。使用IIS管理器也可以为特定的网站提供SSL连接,选择一个网站、Web应用程序或文件夹,然后在功能视图中双击“SSL设置”。可以指定客户端证书是被忽略、接受还是必需的。复选框用于指定是否需要使用SSL来访问内容,如果该项被选中,标准的HTTP连接将不被启用。
总之,服务器证书和SSL为保护Web连接和Web服务器内容提供了一种标准的方法。服务器证书和SSL通常应用于包含敏感信息的各类Web服务器。