1 / 86

第六章 Web 服务器的安全管理

第六章 Web 服务器的安全管理. 【 本章提要 】 IIS 的五大安全元素-验证、访问控制、加密、审核和证书 IIS 支持的五种验证方式 证书与加密 SSL 与安全 Web 服务的配置 设置与监视审核. 6.1 验证. 6.1.1 验证概述 6.1.2 验证方法 6.1.3 启用与设置验证. 6.2 访问控制. 6.2.1 访问控制的控制 6.2.2 允许或拒绝计算机对 Web 服务器的访问 6.2.3 Web 服务器权限与 NTFS 权限. 6.3 证书与加密. 6.3.1 证书概述 6.3.2 [ 实验 6.4 ] 证书与 SSL 的使用.

glenna
Download Presentation

第六章 Web 服务器的安全管理

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第六章Web服务器的安全管理 • 【本章提要】 • IIS的五大安全元素-验证、访问控制、加密、审核和证书 • IIS支持的五种验证方式 • 证书与加密 • SSL与安全Web服务的配置 • 设置与监视审核

  2. 6.1验证 • 6.1.1验证概述 • 6.1.2 验证方法 • 6.1.3启用与设置验证

  3. 6.2访问控制 • 6.2.1 访问控制的控制 • 6.2.2 允许或拒绝计算机对Web服务器的访问 • 6.2.3 Web服务器权限与NTFS权限

  4. 6.3证书与加密 • 6.3.1证书概述 • 6.3.2 [实验6.4]证书与SSL的使用

  5. 6. 4审核 • 6.4.1 审核的范围与事件 • 6.4.2 [实验6.5] 设置及查看审核 • 6.4.3 Web安全管理小结

  6. 6.1.1验证概述 • Internet 服务管理器所提供之安全功能可以和Windows完全整合在一起。IIS 5.0目前共支持五种验证方式,用以确认请求访问Web站点的用户身份: • “匿名验证”:任何用户皆可读写,无须查证用户姓名或密码。 • “基本验证”:用户须提供用户名称及密码,该资料加密后会通过网络传送。 • “摘要式验证”:这是IIS5.0的添加功能,用户密码通过哈希算法生成数字摘要,以离散值传送给服务器进行验证。只有在具有Windows 2000为域控制器之域中才能使用“摘要式验证”。 • “集成的Windows验证”:利用离散技术来验证用户,且不直接将密码传送到网络上。 • “证书”:一种数字文件,用来建立安全套接层或称安全插口层(Secure Sockets Layer,SSL)连接,且也可作为验证使用。

  7. 6.1.1验证概述 • 网站管理员可利用上述方法来授予对站点之公用区域的访问权限,防止非法进入私有文件或目录。各种验证方法如图6-1所示。

  8. 6.1.2 验证方法 • 可以设置IIS来进行验证或识别用户的Windows帐户身份,以决定是否允许用户和服务器建立网络连接。但是如果使用匿名访问,或NTFS权限设置不请求Windows帐户的用户提供名称与密码,则不进行验证。 • 有了IIS验证选择之后,您就可选用一种能同时符合自己的安全请求,而 Web浏览器又有能力做到的最好验证方法。如果把匿名访问也作为验证的一种,则表6-1是所有验证方法的摘要 。 • 关于FTP验证,限于篇幅,只做简略介绍,本书主要讨论web验证。 验证方式共有五种。 • 1.匿名验证 • 匿名验证可让用户访问Web或FTP站点的公共区域,而不需要提示用户输入名称或密码。当用户尝试连接您的公共Web或FTP站点时,您的 Web服务器会指定给用户一个称为“IUSR_计算机名称”的Windows用户帐户,此处的计算机名称是执行IIS的服务器名称。比如IUSR_SHI就是这样的一个帐户。“IUSR_计算机名称”帐户会加入至计算机上的Guests组中。

  9. 6.1.2 验证方法 • 使用“IUSR_计算机名称”帐户 • IIS使用“IUSR_计算机名称”帐户访问Web的过程如下: • 当收到请求时,IIS在执行任何程序码或访问之前,会先模拟“IUSR_计算机名称”帐户。IIS能够模拟“IUSR_计算机名称”帐户,是因为IIS已经知道这个帐户的用户名称和密码。 • 传回网页给用户端之前,IIS会检查NTFS文件和目录的权限,看看是否允许“IUSR_ 计算机名称帐户”访问这个文件。 • 若允许访问,则验证完成,且用户可使用资源。 • 若不允许访问,则IIS会尝试使用其他的验证方法。如果没有选择使用任何其他验证方法,IIS会传回一个“HTTP 403拒绝访问”的错误信息给浏览器。 • 若启用“匿名”验证的同时启用了其他的授权方法,IIS会先使用“匿名”验证。 • 注意:在某些状况下,浏览器会提示用户输入用户名称和密码。这是因为该匿名帐户没有本地登录的权限。

  10. 6.1.2 验证方法 • (2)本地登录权限 • 匿名帐户必须要有本地登入的用户权限。如果帐户没有“本地登录”权限,IIS就不能服务任何的匿名请求。IIS安装会特别授与“本地登录”的权限给“IUSR_计算机名称”(Internet来宾)帐户。但是,如果服务器是域控制器,在默认的情况下,域控制器的“IUSR_计算机名称”帐户并没有赋予来宾组帐户Guests(该帐户有本地登录的权限)的权限,因此必须要指派“本地登录”权力给该帐户,或者让该帐户属于Guests组,这样才能允许匿名登入。 • 可以使用“Active Directory 服务”里的“域控制器策略”管理单元来变更“IUSR_计算机名称”帐户的安全权限,使其具有本地登录权限。 • 如果服务器不是域控制器,就使用MMC的“组策略”管理单元,在“本地安全策略” 中变更“IUSR_计算机名称”帐户的安全权限使其具有本地登登录权限。

  11. 6.1.2 验证方法 • 2.基本验证 • 基本验证是一种广泛使用的验证方法,它按以下列方式进行: • 用户的Web浏览器会显示出一个对话框,用户可在其中输入他们先前被指定之Windows 2000帐户的用户名称和密码。 • 然后Web浏览器会使用这项信息来尝试建立连接(密码在被送到网络前先以Base64方式编码)。 • 如果Web服务器拒绝这项信息,Web浏览器会重覆地显示该对话框,直到用户输入有效的用户名称和密码或关闭对话框为止。 • 当Web服务器确认用户的名称和密码对应到有效的Windows用户帐户之后,就会建立连接。 • 基本验证的优点是它是HTTP标准的一部分,且大部分的浏览器都支持,但缺点是使用基本验证的Web浏览器是以未加密的格式来传输密码。其他人通过监视网络上的通信,便可以容易地使用一些公开的可用工具拦截和破解这些密码。但在用户和Web 服务器之间的连接是安全的,例如直接用缆线连接或专线的情况下,使用基本验证简单方便,占用的系统资源也少。

  12. 6.1.2 验证方法 • 3. 摘要式验证 • 摘要式验证是IIS 5.0的新功能,它提供与基本验证相同的功能,但是以不同的方式传输验证信息(用户名,密码)。验证信息是通过哈希运算后生成“数字摘要”或“报文摘要”后提交给服务器验证,而它无法解密。 • 摘要式验证是一个新的HTTP 1.1功能,所以不是所有浏览器都支持。如果有一个不相容的浏览器对服务器提出摘要式验证请求,则服务器会拒绝请求,并传回错误信息给用户端。只有在具有Windows 2000为域控制器的域中才能使用摘要式验证。 • 只有在处理请求的域服务器上有一份提出请求之用户密码的纯文字副本时,才能完成摘要式验证。由于域服务器上有一份密码的纯文字副本,故应谨防域服务器本身遭受侵入。 • 数字摘要是由少量的二进制编码所组成,也称为离散值。这个值是使用哈希算法产生的。 • 4. 集成的Windows验证 • 集成的Windows验证是一种安全的验证形式,因为用户名称和密码不用跨越网络传送。当启用集成的Windows验证时,用户的浏览器会通过一种加密机制来验证计算机的Windows帐户密码。

  13. 6.1.2 验证方法 • 集成的Windows验证可以使用“Kerberos v5”验证通信协议以及其本身的“挑战/ 回应”验证通信协议。如果服务器上安装了目录服务,而且浏览器与“Kerberos v5”验证通信协议相容,则会同时使用“Kerberos v5”以及“挑战/回应”两种通信协议,否则将只使用“挑战/回应”通信协议。 • “Kerberos v5”验证通信协议是Windows 2000分散式服务架构的功能之一。为使“Kerberos v5” 验证能够成功,用户端和服务器两者必须有至Key Distribution Center(KDC,密钥分发中心)的信任连接,并且与目录服务相容。集成的Windows验证以下列方式进行: • 集成的Windows验证会使用用户端计算机上的当前Windows用户帐户,它不会提示用户输入其用户名称和密码,如果验证成功的话。 • 然而,如果帐户交换一开始就失败而无法识别用户,浏览器则会提示用户输入Windows用户帐户的名称和密码,以供集成的Windows验证使用。浏览器会继续提示用户输入有效的用户名称和密码,直到用户输入正确或关闭提示对话框为止。 • 集成的Windows验证不能在HTTP Proxy连接上执行。即是说,如果用户是通过代理服务器访问网络,则集成的Windows验证就使用不了。

  14. 6.1.2 验证方法 • 5. 证书验证 • 可以针对以下两种情况用Web服务器的Secure Sockets Layer(SSL,安全套接字层)安全功能。Web站点提供服务器证书让用户在传输个人敏感数据(例如信用卡号码)前先验证该Web站点;而客户在请求Web站点的资料时则使用客户端证书供Web站点验证。SSL验证会在登入的过程中,检查Web服务器和浏览器所送出的加密的数字密钥的内容。 • 服务器证书通常包含了关于使用及发行该证书之公司和组织的信息。客户端证书通常包含用户及发行该证书之组织的信息。可以将客户端证书和Web服务器上的Windows用户帐户关联(或对应)在一起来使用。在建立并启用证书对应之后,每次用户使用客户端证书登入时, Web服务器便会自动地将该用户与适当的Windows用户帐户关联在一起。如此便可以自动地验证使用客户端证书登入的用户,而不需使用“基本”、“摘要式”或“集成的Windows”验证了。可以将一个客户端证书对应到一个 Windows用户帐户,或将多个客户端证书对应到一个Windows帐户。例如,如果在服务器中有数个不同的部门或企业,而每个都有其本身的Web站点,则可以使用多对一对应将每一个部门或公司的所有客户端证书对应到其本身的Web站点。如此每个站点将只提供本身所属的用户端访问。关于证书的使用详见下一节。

  15. 6.1.3 启用与设置验证 • 本节说明启用验证的一般操作,并提供设置匿名、基本、摘要式及集成的Windows验证的方法等。按此可以进行相应的实验。 • 1. 启用验证 • Web或FTP站点、虚拟目录或文件均可启用验证方法。本书对启用Web站点的验证方法进行说明。FTP的与此类似。 • 启用WWW验证方法要点: • 针对验证方法建立一个适当的Windows用户帐户。如果想控制某些目录或文件的访问方式,就必须设置NTFS权限。 • 在Internet 信息服务管理单元中,选定一个站点、目录或文件,并开启其属性页面。 • 选取“目录安全设置”或“文件安全设置” 页面,然后在“匿名访问及验证控制”下,按【编辑】。

  16. 6.1.3 启用与设置验证 • 在“验证方法”对话框中,选择一或多个适当的方法。

  17. 6.1.3 启用与设置验证 • 注意:匿名及集成的Windows验证默认是选取的。摘要式及集成的Windows验证的优先顺序高于基本验证。如果确定只用基本验证来查验用户的身份,则必须清除所有其他的核取方框。另外,摘要式及集成的Windows验证不能用于FTP站点。 • 在匿名访问没有被选取,匿名访问失败或文件及目录的访问受到NTFS权限的限制的情况下,Web服务器才可使用基本验证、摘要式验证或集成的Windows验证方法。另外,摘要是身份验证只能在Windows 域服务器上才能启用。 • 2 设置验证 • (1) 设置基本验证 • 启动基本验证后,需要先建立Windows用户帐户并设置正确的NTFS权限才行。 • 要以基本验证来查验用户,那麽使用基本验证的 Windows用户帐户也必须具有“本地登录”的用户权限。在默认的情况下,Windows域控制器内的用户帐户,并没有“本地登录”这项用户权限。

  18. 6.1.3 启用与设置验证 • (2)设置摘要式验证 • 目前只有Microsoft Internet Explorer第5版及其后续版本才支持摘要式验证。 • 只有在具有Windows 2000为域控制器或域服务器的网络中才能使用摘要式验证。所有使用中的密码必须在域控制器或域中的服务器上保留有一份纯文字副本,因为启用此验证的服务器必须先执行一项杂凑运算,并将结果和浏览器传递过来的杂凑值做比对。 • (3)设置集成的Windows验证 • 集成的Windows验证无法在proxy服务器或其他防火墙之类的应用程序中使用。 • 如果是因为用户证书的问题或其他的问题而导致集成的Windows验证失败,浏览器会请求用户输入其用户名称及密码。

  19. 6.1.3 启用与设置验证 • 3 设置默认的登录域 • 通过基本验证之用户必须使用合法的Windows用户名称以及密码来登入系统。例如,有一位用户使用帐户shio登录到Market域,则该用户即登入为 Market\shio。用户默认登录到哪个域,按如下步骤设置。 • 1)在Internet 信息服务管理单元中,选取一个Web站点、目录或文件,并开启其属性页面。 选取“目录安全设置” 或 “文件安全设置” 页面。在 匿名访问及验证控制 下,按【编辑】 。 • 2)在”验证方法” 对话框中,选取‘基本验证” 核取方框。 • 由于基本验证会通过网络传递未加密的密码,因此会出现一个对话框询问是否要继续。按“确定”继续。 • 3)在出现的“基本身份验证”的默认域栏中,输入或浏览一个新的登入域名。然后按【确定】,这样就指定了Web服务器上默认的域名,

  20. 6.1.3 启用与设置验证 • 如图6-3所示。

  21. 6.2.1 访问控制的过程 • 只要正确地设置Windows文件系统与Web服务器的安全功能,就可控制用户访问Web服务器的内容。每当有用户试图访问Web服务器时,服务器就会执行一定的访问控制程序来辨别用户,并决定允许的访问等级。访问控制流程如图6-4所示。其过程如下:

  22. 6.2.1 访问控制的过程 • 用户端向服务器提出访问请求。 • 服务器如果被设置成必须提出证明,此时会向用户端提出验证请求。浏览器则会请求用户输入用户名称及密码,或者自动提供该信息。 • 用户端IP地址会和IIS中所有的IP地址限制相互核对。如果该IP地址遭到拒绝,则请求失败,然后用户会收到“403禁止访问”的信息。 • IIS检查用户的Windows用户帐户是否有效。如果无效,则请求失败,用户会收到“403禁止访问”的信息。 • IIS检查用户是否有请求资源的Web访问权限。如果无效,则请求失败,用户会收到“403禁止访问”的信息。 • IIS检查是否有该资源的NTFS权限。如果用户没有该资源的NTFS 权限,则请求失败,用户收到“401访问拒绝”的信息。 • 如果用户有NTFS权限,则请求会得到响应。

  23. 6.2.1 允许或拒绝计算机对Web服务器的访问 • 1 匿名访问 • 匿名访问是Web站点最普遍的一种访问控制方式。它一方面允许所有人进入Web站点的公共区,另一方面,则防止未经授权的用户进入服务器的重要管理区域及获取私密信息。 • 假设Web站点是个博物馆,匿名访问就好比允许观众参观公共画廊和展厅。但有的房间可能不希望观众进入,我们可将其锁上。同样地,在设置Web服务器的匿名访问时,就可应用NTFS 权限来防止一般人访问私密文件或目录。在默认的情况下,Web服务器允许所有的用户通过匿名帐户登入。前已述及,在安装系统时,服务器就会建立一个匿名用户帐户,称为“IUSR_计算机名称”。 • 2 允许或拒绝访问[实验] • 可以设置Web服务器,使之基于IP地址或域名允许或拒绝指定的计算机、计算机群组或域访问该Web站点、目录或文件。在设置Web站点的安全内容时,Web服务器会提示操作者的权限,以重设个别目录和文件的安全内容。若选择重设这些内容,新的设置会取代先前的安全设置。对于包含先前已设置安全内容之子目录的目录,设置安全内容的状况也是一样的。

  24. 6.2.1 允许或拒绝计算机对Web服务器的访问 • 1)授权访问设置 • 在IIS管理单元中,选取Web站点、目录或文件,开启其属性页面。设置步骤如下。 • 1) 选取“目录安全设置” 或 “文件安全设置”页面。在“IP地址及域名限制” 之下,按 【编辑】。 • 在“IP地址及域名限制”对话框中,选取‘拒绝访问”选项。选取此选项时,除了特别授与访问权的用户以外,可拒绝所有计算机或域的访问。 按【添加】 。 • 在“授权以下访问”对话框中,选取“单机”、“一组计算机”或“域名” 选项。输入相应的IP地址或域名。 • 按“DNS查找” 按钮可依DNS名称来搜寻计算机或域,而不是依IP地址。键入名称,IIS将会搜寻当前域上的计算机,若找到的话,就会将其IP地址自动输入到“IP地址”文本方框中。按【确定】以关闭这两个对话框。

  25. 6.2.1 允许或拒绝计算机对Web服务器的访问 • 如图6-5所示。

  26. 6.2.1 允许或拒绝计算机对Web服务器的访问 • (2)拒绝访问设置 • 拒绝访问设置步骤如下。 • 选取“目录安全设置” 或‘文件安全设置”属性页面。在‘IP地址及域名限制 ”之下,按‘编辑” 。 • 在“IP 地址及域名限制”对话框中,选取“ 授权访问” 选项。选取此选项时,除了特别拒绝访问的用户以外,可授与所有计算机或域以访问权。 按【添加】。 • 在“拒绝访问”对话框中,选取“单机”、“一组计算机”或 “域名” 选项。输入相应的IP地址或者域名 • 按【DNS查找】 按钮可依名称来搜寻计算机或域,而不是依IP地址。 IIS将会搜寻当前域上的计算机,若找到的话,就会将其IP地址自动输入到“IP地址”文本方框中。按【确定】关闭对话框。 • 注意,使用DNS查找会降低服务器的性能。

  27. 6.2.2 Web服务器权限与NTFS权限 • Web服务器权限适用于所有访问Web和FTP站点的用户。而NTFS权限只针对合法Windows帐户内的特定用户或用户组而设置。NTFS控制服务器实体目录的访问,而Web和FTP权限则控制Web或FTP站点的虚拟目录访问。通常联合使用这两种权限来进行安全管理。  • 1.设置Web服务器权限[实验] • 在Internet 信息服务管理单元中,选取一个Web站点、虚拟目录或文件,并开启其属性页面,然后按以下步骤操作: • 在主目录、虚拟目录或文件页面上,选定或取消下列的核取方框: • “读取”(默认为选取):用户可浏览文件内容及属性。 • “写入”: 用户可变更目录或文件内容及属性。 • “脚本资源访问”: 允许用户访问文件的原始代码(如ASP程序)。如果选取了“读取” ,则可读取原始代码;如果选取了“写入” ,则可改写原始代码。  • “目录浏览”: 用户可以浏览目录,查看文件清单。 • “日志访问”:每次访问Web站点都会建立一个日志项目。 • “索引此资源”: 如此可方便日后搜寻资源。 • 在“执行许可”选项中,选取适当的指令执行权限: • “无”:不可在服务器执行指令,如ASP应用程序或其他可执行文件。 •  “纯脚本”:只有脚本程序如ASP可在服务器执行。 • “脚本和可执行程序”:脚本和可执行程序均可在服务器上执行。 • 最后按【确定】。

  28. 6.2.2 Web服务器权限与NTFS权限 • 如图6-6所示。

  29. 6.2.2 Web服务器权限与NTFS权限 • 注意,停用Web服务器权限,例如停用“读取”,则无论用户帐户的NTFS权限为何,所有用户均无法浏览文件。相反的,如果启用该权限,则所有的用户皆可浏览该文件,除非NTFS权限禁止访问。 • 如果Web服务器和NTFS权限同时都有设置,则拒绝访问的设置会优先于允许访问。 • 2. NTFS权限 及其与WEB服务器权限的联合使用 • Internet 服务管理器依靠NTFS权限来确保个别文件和目录不会受到未经授权访问。 Web服务器权限适用于所有的用户,而NTFS权限则用来明确定义用户访问内容的资格,以及处理内容的方式。 • (1)NTFS权限的等级 • NTFS的权限等级有: • “完全控制”:用户可修改、添加、移动、删除文件及和文件相关的属性与目录。除此之外,他们还可变更所有文件及子目录的权限设置。 • “修改”:用户可浏览、修改文件及文件属性,包括:在目录下删除、添加文件或增加文件属性。

  30. 6.2.2 Web服务器权限与NTFS权限 • “读取与执行”:用户可以执行可执行文件或应用程序。 • “列出文件夹目录”: 用户可查看资料夹之内容的清单。 • “读取”:用户可查看文件及文件属性。 • “写入”:用户可写入文件。 • “拒绝访问”:如果没有选取任何核取方框,那麽用户绝对无法访问资源,即使用户拥有上层目录之访问权限。 • 注意,如果将“IUSR_计算机名称”帐户设置为“不允许访问”,则所有的匿名用户均无法访问该项资源。 • (2)何时需要设置NTFS权限 • 可以通过设置NTFS的访问权限来控制对Web服务器目录与文件的访问,也可以使用NTFS权限来定义希望授予具有合法Windows帐户之特定用户及用户组的访问等级。如果要避免未经授权的访问,就必须适当的设置文件与目录的权限。 • 当设置某个目录或文件为共享时,对于Windows用户组Everyone (包括每一位用户)而言,默认的NTFS目录与文件权限为“完全控制” 。这意谓着每一位用户都拥有修改、移动以及删除文件或目录的权限,并且可以变更 NTFS权限。此默认值可能并不适用于所有的目录和文件,故常常需要重新设置NTFS权限。

  31. 6.2.2 Web服务器权限与NTFS权限 • 为确保服务器的安全,要尽可能删除不必要的用户与用户组。不过,在将Everyone组从Web服务器的“任意访问控制清单”(DACL)中删除之后,如果不做进一步的修正,会造成连匿名用户都无法访问的情形发生。 这时也需要重新设置NTFS权限。 • 如果没有在硬盘驱动器、目录或是文件的属性页面中看到“安全”菜单页,则说明服务器的文件系统并不是NTFS。若要将文件系统转换成NTFS,在命令提示符下输入命令convert x:/fs:ntfs,式中x是要转换格式的驱动器名。 • (3)怎样设置NTFS权限[实验] • 目录或文件的NTFS权限设置操作如下。 • 开启“我的计算机” ,选取并用鼠标右击欲设置安全性的硬盘驱动器、目录或文件,然后在快捷菜单上点击【属性】,出现属性页面。 • 开启“安全”页面,选取需要变更权限的Windows帐号。 • 在“权限”下,选取用户或用户组的访问类型。使用“允许”来允许访问,使用“拒绝”来拒绝访问。若需其他选项,请按“高级”。

  32. 6.2.2 Web服务器权限与NTFS权限 • NTFS权限的设置页面如图6-7所示。

  33. 6.2.2 Web服务器权限与NTFS权限 • 注意:“拒绝”的优先权比“允许”高。若将Everyone组的访问权限设置成“拒绝” ,则包括Administrator在内的所有用户的之访问权限都会被取消。 • (4)添加或删除Windows帐户的NTFS权限到指定的用户 • 在“安全”页面中,按【添加】以加入用户或用户组;按“删除”以删除用户或用户组。 • 在“选择用户或组” 对话框的“查找范围”栏目中,选取网上相连的一台计算机或域 ,其上的用户或组将被添加或授予NTFS权限。 • 在“名称” 清单方框中,选取一个欲授予其文件或目录访问权限的用户或用户组。按【添加】。 • 可以继续【添加】其他用户或用户组。 • 按【确定】, 将这些名称加入“安全”页面中的清单。

  34. 6.2.2 Web服务器权限与NTFS权限 • 如图6-8所示。

  35. 6.2.2 Web服务器权限与NTFS权限 • (5)联合使用举例 • 假设有文件\Administration\jimi.doc,用户或用户组对其的NTFS访问权限如表6-2 所示。 • 设此文件是某Web站点中的一个文件,该站点允许匿名访问。那么,对该文件的访问权限是怎样的呢? • 除了Administrators组之外,只有shio这个帐户才可对jimi.doc 作修改。而以Windows Guests组成员名义登入Web站点的用户包括匿名用户,则被规定不允许访问该文件。 • 设置好NTFS权限之后,需要再对Web服务器进行设置,使之在用户进入受控制的文件前,先行识别(或验证)其身份。可设置服务器的验证功能,请求用户在登入时必须具有合法的Windows帐户名称及密码。 • 如果的NTFS权限与Web服务器的权限发生冲突,系统会采用最具限制性的设置。也就是说,拒绝访问权限的优先权会高于允许访问权限的设置。这样,本例中的Web允许匿名访问,但该Web中的文件jimi.doc拒绝匿名访问,结果仍然是拒绝匿名访问此文件。

  36. 6.3.1证书概述 • “证书”是一种数字身份证明文件,它的功用是让服务器和客户端之间彼此相互验证。服务器与客户端的浏览器必须有了证书才能建立SSL连接,使得信息加密后进行传送。 IIS这项以证书为基础而建立的SSL功能,其内容包含了服务器证书、客户端证书以及各种数字密钥。可使用微软的“证书服务”组件或通过有公信力的认证授权单位(CA)来建立证书。 • 1.服务器证书 • 服务器证书可供用户用来作为自己Web站点的标识。服务器证书的内容包括详细的识别信息,例如和服务器内容相关的机构名称、发证机关名称,以及用来建立加密连接的公用密钥。这些资料有助于用户来确认Web服务器之内容以及HTTP连接的整合性。 • 2.客户端证书 • 利用SSL,Web服务器还可选择是否需要查证客户端证书的内容以查验用户。最典型的客户端证书内容包括:用户的详细识别资讯、发证机构以及一个公用密钥。使用客户端证书验证,加上SSL加密,则成为一种具有高度安全性的查验、识别用户的方法。

  37. 6.3.1证书概述 • 3.加密 • 将数据译成密码的加密方式,可让用户彼此在服务器上交换机密数据(比如信用卡卡号等)。所谓加密,简单地说就是将数据在传送前先行“打散”,而于收到后再予“组合”。IIS的加密基础是利用SSL 3.0通信协议,该协议提供极为安全的方式来建立用户之间的通信连接。SSL会确认Web站点的认证结果,以及只能访问受限Web站点的用户身份。 • 4.密钥 • 证书包括了用来建立SSL安全连接的密钥。 密钥是一个唯一的值,在建立SSL连接时,用来查验服务器及客户端。SSL使用的是一个密钥对组 ,由一个“公开密钥” 及一个“私人密钥”所组成。Web服务器会利用这个密钥组,来和用户的Web浏览器共同协商出一条安全的连接,并决定密码通道需要加密的程度,以保障该连接通信的安全性。

  38. 6.3.1证书概述 • 对于这类的连结,Web服务器和用户的浏览器双方均须具备密码加密及解密的能力。密钥在交换密码的过程或工作阶段中产生。服务器和Web 浏览器双方利用工作阶段之密钥,将欲传送的数据进行加密或解密。工作阶段密钥的加密程度(或强度)是以二进制“位”来衡量的。组成工作阶段密钥之位数愈大,则所需之加密及安全等级愈高。虽然加密密钥的强度愈强,安全度愈高,然而其所消耗的服务器资源也愈多。使用SSL时,服务器工作阶段密钥的长度为40位,而最长可达128位,视所请求的安全等级而定。

  39. 6.3.2 证书与SSL的使用[实验] • 前已简述,证书是一种数字密钥,它的功能类似于护照,或是其他官方的身份证明,可用来识别拥有者的身份。证书是IIS 之Secure Sockets Layer(SSL)功能的一部分,可用来建立传送敏感数据的安全连接。 • 证书包含在网络上用来建立识别对方的信息,此处理程序称为授权。与传统的识别形式类似,在建立每个连接之前,证书会启用Web服务器和客户互相验证。证书也包含加密值或密钥,用于在客户端和服务器之间建立一个Secure Sockets Layer(SSL)连接。在此种连接上传送的数据(如信用卡号码等)是加密的,如此它不会被拦截或被未经授权的人所使用。 • SSL使用两种证书类型,客户端证书与服务器证书。每一种都有各自的格式与目的。 客户端证书包含关于请求访问服务器之客户端个人信息,该信息能在访问站点时明确地识别它们的身份。 服务器证书则包含关于服务器的信息,允许客户端在提供敏感的数据前识别服务器。

  40. 6.3.2 证书与SSL的使用[实验] • 1.证书与证书授权单位 • (1) 服务器证书 • 若要启用Web服务器的SSL 3.0安全功能,就须取得与安装一个有效的服务器证书。服务器证书能让用户验证服务器、检查Web的合法性;服务器证书也包含一个公用密钥,用来在用户端与服务器之间建立安全连接。 • 成功的服务器证书识别的意义在于用户是否信任证书中所包含的信息。例如,登录某公司Web站点的用户,尽管已查看了该公司的服务器证书内容,仍可能会犹豫是否提供要信用卡帐号,因为该公司的知名度不高。 • 因此,证书通常是由一个互相认可的称为“证书授权单位或证书颁发机构(CA)”的第三方组织来发行。证书授权单位的主要责任就是确认这些证书的身份,确保证书所包含识别信息的合法性。 • 当然,某公司或机构根据需要,也可以自己发出属于自己的服务器证书。例如,大型公司的Intranet处理员工薪水与福利等信息,公司的管理单位可能决定自己建立并维护一个证书服务器,负起确认识别信息以及发出服务器和客户端证书的责任。

  41. 6.3.2 证书与SSL的使用[实验] • (2) 客户端证书 • 与服务器证书一样,客户端证书包含有关客户端的信息,也包含了形成IIS的SSL 3.0安全功能之加密密钥的一部分。在服务器和客户端证书的密钥形成了一组密钥对 ,用于在开放式的网络如Internet上传送加密和解密的资料。 • 典型的客户端证书包含数个信息项目:用户的身份、证书授权单位的身份、建立安全通信的公用密钥,以及确认的信息,如到期日与序号等。证书授权单位提供不同类型的客户端证书,其中包含了不同的信息量,这些取决于所需的验证等级而定。 • (3)证书授权单位 • 专门提供证书颁发及验证的服务商称为证书授权单位。在发出一个证书之前,该单位会请求并审核用户提供的身份信息,如姓名、住址和组织名称等等。信息的内容可能根据该证书的识别保证需求而有所不同。这些信息可能还需要与用户和授权单位面谈,并经公证机关公证。

  42. 6.3.2 证书与SSL的使用[实验] • 2.取得服务器证书 • 有两种方法可取得服务器证书。Web网站可以发出自己的证书,或从证书授权单位取得证书。 • (1) 发出自己的服务器证书 • 使用微软的“证书服务”来建立可自订的服务,以发行和管理证书。可以为自己的Internet或Intranet建立服务器证书。 • (2) 从证书授权单位购买服务器证书 • 选择一个合适的证书授权单位,并向其购买服务器证书。 • 在选择证书授权单位时主要考虑下列问题: • 其发出的证书是否能够与所有用来访问服务器的浏览器相容;其是否是知名、可信任的组织;其如何提供身份验证;向其购买证书以及以后更新证书或获取其他服务的费用是多少?

  43. 6.3.2 证书与SSL的使用[实验] • 3.证书的颁发与安装[实验] • (1) SSL实验总体设计与实验步骤 • 由于SSL的握手和会话过程均是协议自动进行的,无需干预也不能干预。实验要做的就只需完成以下步骤:1)在服务器Sca上安装证书颁发机构CA;2)Web服务器Sweb向Sca的CA提交证书请求,CA颁发证书给Sweb;3)在Sweb上安装数字证书,配置安全通信;(4)使客户C1的浏览器信任Sca上的认证中心CA。实验网络结构如图2所示。Sca,Sweb和Sdns分别是证书颁发服务器,Web服务器和DNS服务器的计算机名称。C1用做Web的客户机,C2安装监听工具Iris后用做窃听者。网络采用以共享式HUB为中心的星型结构。采用共享式HUB是为了便于演示监听。 • 互联网上有许多营运的认证中心CA,图2中的Sca即是用来模拟其职能的。互联网上营运的认证中心CA是在浏览器默认的受信任的证书颁发机构列表内的,而我们实验中在Sca上安装的证书颁发机构肯定是不在受信任之列,得通过有关的操作使其成为受浏览器信任的。

  44. 6.3.2 证书与SSL的使用[实验] • DNS服务器Sdns则用来提供对Web服务器的域名解析。若只通过Sweb的计算机名或IP地址访问其页面,DNS服务器也可不要。

  45. 6.3.2 证书与SSL的使用[实验] • 主要实验的步骤为:1)搭建实验网络;2)在服务器Sca上安装证书颁发机构;3)在Web服务器Sweb上向证书颁发机构申请证书;4)安装通过申请得到的证书;5)使客户C1的浏览器信任Sca上的证书颁发机构;6)验证SSL的安全性。 • (2) 搭建实验网络 • 实验分组进行,每组可参考图2所示的结构连接网络,其中Sca,Sweb,Sdns的操作系统为Windows 2000 Server,C1和C2的操作系统为Windows 2000 Professional或Windows 98。在各计算机上设置好IP地址、子网掩码等,连通网络。 • (3) 服务器Sca上的操作-安装证书颁发机构 • 在服务器Sca上,可以先安装配置好IIS,因为证书颁发机构安装完成后,会在默认的WEB站点下生成一个名为CertSrv的虚拟目录,网上的用户(这里就是Web服务器Sweb)通过这个虚拟目录向此证书颁发机构申请数字证书,URL是“http://Sca的域名或IP地址或计算机名/CertSrv”。当然也可在安装证书颁发机构之后再安装IIS,新建一个站点或虚拟目录,主目录指向证书颁发机构的页面文档目录x:\winnnt\sysytem32\certsrv。

  46. 6.3.2 证书与SSL的使用[实验] • 安装证书颁发机构的操作步骤如下: • 单击“开始”->“设置”->“控制面板”->“添加/删除程序”->“添加/删除Windows组件”,启动“Windows组件向导”。 • 选中“证书服务”组件,系统提示“安装证书服务后,不能重命名计算机,并且计算机不能加入域或从域中删除。要继续吗?”,按“是”,并按【下一步】继续。 • 在“证书颁发机构类型”页面选择“独立根CA”。有四种类型的CA我们可以选择:企业根CA、企业下级CA、独立根CA和独立下级CA。企业根CA与独立根CA的区别在于,前者需要Active Directory的支持而后者不需。独立根CA与企业根CA一样,都是CA体系中最受信任的CA。按【下一步】继续。 • 在“CA标识信息”页面,填写CA标识信息。实验中我们随意把CA命名为“证书颁发实验室”填写一些项目。按【下一步】继续。

  47. 6.3.2 证书与SSL的使用[实验] • 如图6-10所示。

  48. 6.3.2 证书与SSL的使用[实验] • 在“数据存储位置”页面,使用默认的证书数据库和证书数据库日志位置,X:\WINNT\System32\CertLog,X代表Windows 2000系统所在的盘符。按【下一步】继续。 • 系统将提示从Windows 2000安装光盘上复制文件,重新配置相关组件,最后建立一个独立的根证书颁发机构“证书颁发实验室”。 •  现在来查看刚才安装的证书分发机构“证书颁发实验室”。单击“开始”菜单->“控制面板”->“管理工具”->“证书颁发机构”,我们可以看到“证书颁发实验室”已经在运行。如图6-11所示。

  49. 6.3.2 证书与SSL的使用[实验] • (4) Web服务器上的操作-申请数字证书 • 现在,Web服务器Sweb即可向CA服务器的“证书颁发实验室”提出颁发数字证书的申请了。操作步骤如下: • 1)“创建一个新的证书”申请 • 此证书申请包含此Web服务器的标识信息,提交给CA,CA签名颁发后成为正式的证书。 • 启动Internet服务管理器,打开在Sweb上建立的Web站点(可制作一简单的Web页面,或者就用默认的Web站点,本例建立了一个站点名为“网上购书中心”),选择站点属性里的“目录安全性”,然后点击“服务器证书”,

  50. 6.3.2 证书与SSL的使用[实验] • 如图6-12所示。

More Related