



近年来,随着网站的应用范围扩大,相应的安全问题也随之而来,轻则被黑客修改网页恶搞,重则被黑客损毁企业形象。网站是企业、个人的门面,通过网站企业可以实现信息共享、扩大宣传范围,最重要的是网站可以降低宣传费用。网站的基础Web服务器种类很多,不过使用范围最广的还是微软的IIS。作为一款使用范围最广的Web应用服务器,IIS提供五大安全要素。

身份验证
IIS(IIS,Internet Information Service)Internet 信息服务提供与Windows完全集成的安全功能。IIS 支持6种身份验证方法,可以使用这些方法确认任何请求访问网站的用户的身份,以及授予访问站点公共区域的权限,同时又可防止未经授权的用户访问专用文件和目录。
访问控制
通过将NTFS访问权限用作Web服务器的安全基础,用户可以定义授予Windows用户和组文件和目录访问的级别。例如,如果一个企业决定在Web服务器上公布它的目录,那么需要为该企业创建一个Windows用户帐户,然后配置特定网站、目录或文件的权限。
证书
证书是允许服务器和客户彼此验证的数字标识文档。他们请求在服务器和客户端浏览器建SSL连接,通过此连接可以发送加密信息。IIS中基于证书的SSL特性由服务器证书、客户端证书和不同的数字密钥组成。可以使用Microsoft证书服务创建这些证书或者从可相互信任的第三方机构获得,该机构称为证书颁发机构 (CA)。
加密
IIS允许用户以一种安全的方法(使用加密)与服务器交换个人信息,如信用卡号或电话号码。信息在发送前由加密对其进行“编码”,接收后由解密进行“解码”。IIS中这种加密的基础是SSL 3.0协议,它提供了一种与用户建立加密通讯链接的安全方法。
审核
IIS可以使用安全审核技术监视大范围的用户和Web服务器的安全活动。推荐定期审核服务器配置,检测可能被未授权访问影响和篡改资源的区域。可以使用集成的Windows实用程序、IIS内置的日志记录功能或Active Server Pages (ASP)应用程序创建自己的审核日志。
IIS服务器身份验证
通过网站属性的“目录安全性”选项卡设置IIS服务器身份验证。

“身份验证和访问控制”:用于设置可以访问Web 服务器的用户、验证用户身份的方法。 点击“编辑”按钮, 打开“身份验证方法”对话框。

选中“匿名访问”复选框,表明可以为用户建立匿名连接,用户可以使用匿名来宾账户登录到IIS,默认情况下,服务器创建和使用账户“IUSR_计算机名”。
“用户访问需经过身份验证”参数用于设置非匿名访问的用户的身份验证方法。要求在访问服务器上的任何信息前必须提供有效的Microsoft Windows用户名和密码。有4种“验证访问方法”。
“集成Windows身份验证”复选框:选择该选项可以确保用户名和密码是以哈希值的形式通过网络发送的。这提供了一种身份验证的安全形式。表明使用与用户的Web浏览器密码交换确认用户的身份。
“摘要式身份验证”复选框:若选中仅与Active Directory一起工作,在网络上发送哈希值而不是明文密码。摘要式身份验证通过代理服务器和其他防火墙一起工作,并且在Web分布式创作及版本控制目录中可用。
“基本身份验证”复选框:若选中表明以明文(非加密的形式)在网络上传输密码。基本身份验证是 HTTP 规范的一部分并被大多数浏览器支持;但是,由于用户名和密码没有加密,因此可能存在安全性风险。
“.NET Passport”复选框:选择该项可以启用网站上的.NET Passport 身份验证服务。.NET Passport 允许站点的用户创建单个易记的登录名和密码,保证对所有启用.NET Passport 的网站和服务访问的安全。
IIS加密
SSL确认网站的真实性同时可有选择地确认正在访问受限制网站用户的身份。证书包括用于建立SSL安全连接的“密钥”。“密钥”是在建立SSL连接时验证服务器和客户端的唯一值。“公钥”和“私钥”组成SSL“密钥对”。Web服务器使用此密钥对与用户Web浏览器协商建立安全的连接,确定保护通讯所需的加密级别。
对于此类型的连接,Web服务器和用户浏览器都应该具有一致的加密、解密能力。在交换过程中,将创建加密密钥或“会话”密钥。服务器和Web浏览器都使用会话密钥加密、解密传输信息。会话密钥的加密程度或“强度”是使用“位”来测量的。最大的位号由会话密钥、加密和安全的最大级组成。
尽管这些最大加密密钥强度提供了最大的安全性,他们还是需要更多的服务器资源去实现。通常Web服务器的会话密钥长度为40位,但是根据所需的安全等级也可以是128位。
服务器网关加密
服务器网关加密 (SGC) 使用128位加密为金融机构提供了全球金融交易解决方案。SGC是安全套接字层 (SSL) 的扩展,它允许拥有IIS出口版本的金融机构可使用强加密。
SGC不要求在客户浏览器上运行应用程序,并且可由IIS 4.0或更高版本的标准出口版本使用。为SGC配置的服务器可以增强128位和40位的加密会话,所以不要求多个IIS版本。虽然SGC功能已内建到IIS 4.0及以后版本中,但是使用SGC时还需要特殊的SGC证书。
可选的加密服务提供程序
IIS通过使用可选的加密服务提供程序 (CSP),可以选择Microsoft或第三方加密提供程序来处理加密和证书管理。每个加密提供程序可以创建一个公钥和私钥来加密发送到Web服务器和从中发送的数据。
私钥存储在硬件的服务器端、PCI 卡、智能卡或者注册表中,这是因为它用于Microsoft安装的两个默认提供程序:Microsoft DH SChannel加密提供程序和Microsoft RSA SChannel加密提供程序。每个提供程序的Microsoft加密API(CryptoAPI)包含相同的方法和属性。因此,可以在提供程序之间切换,而无需重新编写代码。
IIS访问控制
IIS访问控制权限应该只允许服务器管理员和企业的所有人更新网站的内容。应该允许公共用户查看网站,但是不能更改网站的内容。要按此方式控制对目录和文件的访问,必须使用NTFS格式的驱动器,而不能使用FAT3(参数 图片 文章)2格式的驱动器。如果使用FAT32,用户将拥有硬盘驱动器上每个文件的访问权限。
WebDAV是HTTP 1.1协议的扩展,促进了基于HTTP连接的文件和目录管理。IIS通过使用WebDAV“动作”或命令,可以将属性添加到文件和目录中以及从文件和目录读取属性。文件和目录可以远程编辑、创建、删除、移动或复制。可以通过Web服务器权限或NTFS权限配置附加的访问控制。
IIS服务器证书
IIS服务器证书给用户提供了一种确认网站身份的方法。服务器证书包含详细的标识信息,如与服务器内容相关的机构的名称,签发证书机构的名称和用于建立加密连接的“公钥”。用户可使用此类信息确定Web服务器内容的真实性以及安全HTTP连接的完整性。
使用SSL,Web服务器还有通过检查客户端证书内容验证用户的选项。典型的客户端证书包含有关用户和签发证书及“公钥”的机构的详细信息。可以使用客户端证书验证,结合SSL加密技术,实现安全性较高的方法以检验用户的身份。
IIS审核
IIS中许多安全功能执行Internet通讯标准。这些标准有助于应用程序和信息的一致与跨平台使用。Microsoft承诺配合Internet与计算机委员会,一起协助构建良好的标准,同时自己执行这些标准。
Secure Sockets Layer (SSL 3.0) 是一个基于公钥的安全协议,该协议是由安全通道(Schannel)安全提供程序实施的。SSL安全协议在Internet浏览器和服务器的验证、信息的完整性和机密性中广泛使用。
正如万维网联合会网站上所述,基本身份验证是HTTP 1.0规范的一部分(它以Base64编码格式通过网络发送密码)。大多数浏览器都支持此规范。另外,摘要式身份验证通过网络将身份验证信息作为“哈希”发送并且与代理服务器兼容。
安全建议:
在配置Web服务器IIS安全之前,请首先确定保护网站和FTP站点所需的安全级别。例如,如果需要创建一个允许特定用户访问个人信息(如财务和健康记录)的网站,那么就需要一个坚固的安全配置。此配置应该可以可靠地验证指定的用户并仅限于这些用户进行访问。
大多数的Web服务器安全依赖于Windows安全配置。如果没有正确地配置Windows安全功能,就不可能保护Web服务器。所以我们建议配置Windows管理员帐户、创建并管理用户帐户、创建并管理组、定义Windows安全策略。
作为安全配置的一部分,应该将您硬盘的分区转换为NTFS分区。NTFS硬盘分区提供精确的文件和目录访问控制,在保存文件方面比FAT分区更有效。可以使用Windows转换工具将硬盘分区转换成NTFS格式。确定用户在访问网站和 FTP 站点时哪些文件和目录是公用的。将公用内容和受限内容放置在不同的目录中。
编辑点评:
谈起网络安全,更多的人关注的是看见的财产损失。但是,相比网站安全来说,还有比财产损失更严重的,那就是网站的形象——企业的形象。绝大多数的安全事故都是人为疏忽造成的,管理员只有充分了解并设置好系统安全、IIS安全才能确保网站的安全。