本文档列举出一些建议和最佳做法,以保证 Web 上运行 Microsoft Windows 2000 和 Internet Information Services (IIS) 5 的服务器的安全。这些设置侧重于安全性而不是性能方面。因此认真阅读以下的建议并运用它们来获得适用于自己企业的设置是很重要的。
注意本文档是由“Designing Secure Web-Based Applications for Microsoft Windows 2000”,Microsoft Press,ISBN: 0735609950 改编而来。
那些熟悉 Internet Information Server 4 清单的客户将注意到本列表要远短于 Internet Information Server 4 的清单。这是因为以下两点原因:
许多 Windows 2000 系统范围的设置可以通过提供的安全模板 (hisecweb,inf) 进行配置;所以不需要手动配置注册表设置。在 Windows 2000 和 IIS 5 的默认状态下,将禁用 Microsoft Windows NT 4 和 Internet Information Server 4 上的某些低安全级别的默认设置。
本文档的其余部分分为以下几个部分:
一般性安全考虑事项
Windows 2000 安全考虑事项
IIS 5 安全考虑事项
一般性安全考虑事项
本部分内容讲述一般性安全问题。
阅读您企业的安全策略
拥有安全策略是十分重要的。对以下问题,您需要有现成的答案:
如何对入侵作出反应?
备份存储在何处?
允许谁访问服务器?
在 SANS Institute、Baseline Software, Inc. 和 Practical Unix & Internet Security (O’Reilly Books, 1996) 中可以找到有关策略信息的比较好资源。
预订 Microsoft 安全通知服务
您可以在 http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/bulletin/notify.asp 上预定 Microsoft 安全通知服务,使自己能够及时知道有关 Microsoft 安全问题和修补程序的信息。您将通过电子邮件获得有关安全问题的自动通知。
您还应当考虑在桌面上放置 Microsoft 安全顾问程序的快捷方式。要完成此操作,请执行下列步骤:
打开 Internet Explorer。
导航到 http://www.microsoft.com/technet/security/bulletin/notify.asp。
从“收藏”菜单中选择“添加到收藏夹”。
选中“允许脱机使用”复选框。
单击“自定义”。
在“脱机收藏夹向导”中单击“下一步”。
选中“是”选项按钮并指定下载与该页链接的 2 层网页。
单击“下一步”。
选中“创建新的计划”选项按钮,然后单击“下一步”。
接受默认设置,再单击“下一步”。
单击“完成”。
单击“确定”。
从“收藏”菜单中选中“整理收藏夹”。
在“整理收藏夹”对话框中选择“Microsoft TechNet Security”快捷方式。
单击“属性”。
单击“Microsoft TechNet Security 属性”对话框的“下载”选项卡。
取消选中“跟踪本页 Web 站点之外的链接”复选框。
单击“确定”,然后单击“关闭”。
现在您可以将 Microsoft TechNet Security 快捷方式从“收藏”菜单拖到桌面上。如果有新的安全消息,图标上将出现一个小红标记。
要点 如果出现了新的安全问题,您必须非常重视它们。这一点再怎么强调也不为过。
Windows 2000 安全考虑事项
本部分内容专门讲述有关 Windows 2000 的安全问题。
检查、更新及部署提供的 Hisecweb.inf 安全模板
我们已经包括了名为 Hisecweb.inf 的安全模板,作为适用于大多数安全网站的基准。该模板配置了基本的 Windows 2000 系统范围策略。
Hisecweb.inf 可以从如下地址下载:
http://download.microsoft.com/download/win2000srv/SCM/1.0/NT5/EN-US/hisecweb.exe
执行下列步骤来使用模板:
将模板复制到 %windir%securitytemplates 目录。
打开“安全模板”工具,并查看设置。
打开“安全配置和分析”工具,并加载模板。
右键单击“安全配置和分析”工具,并从上下文菜单中选择“立即分析计算机”。
等待工作完成。
检查查找结果并按需要更新模板。
如果您对模板满意,请右键单击“安全配置和分析”工具,并从上下文菜单中选择“立即配置计算机”。
配置 IPSec 策略
您应当认真考虑在每一个 Web 服务器上设置 Internet 协议安全性 (IPSec) 包筛选器策略。如果您的防火墙被攻破,该策略将提供额外的安全级别。多级别安全技术通常被认为是很好的做法。
一般而言,除了那些您明显希望支持的协议与希望打开的端口以外,应当阻止其他所有 TCP/IP 协议。您可以使用 IPSec 管理工具或 IPSecPol 命令行工具来部署 IPSec 策略。
保护 Telnet 服务器安全
如果您打算使用包含在 Windows 2000 中的 Telnet 服务器,您应当考虑限制能够访问该服务的用户。要完成此操作,请执行下列步骤:
打开“本地用户和组”工具。
右键单击“组”节点,并从上下文菜单中选择“新建组”。
在“组名”框中输入 TelnetClients。
单击“添加”以添加对该计算机有 telnet 访问权限的用户。
单击“创建”,再单击“关闭”。
当存在 TelnetClients 组时,Telnet 服务将仅允许那些在组中定义的用户访问服务器。
IIS 5 安全考虑事项
本部分内容专门讲述有关 Internet Information Services 5 的安全问题。
为虚拟目录设置适当的 ACL虽然此步骤从某种程度上来说取决于应用程序,但一些主要规则仍然适用,如表 F-1 所示。
文件类型
访问控制列表
CGI (.exe, .dll, .cmd, .pl)
Everyone (X)
Administrators(完全控制)
System(完全控制)
脚本文件 (.asp)
Everyone (X)
Administrators(完全控制)
System(完全控制)
包含文件 (.inc, .shtm, .shtml)
Everyone (X)
Administrators(完全控制)
System(完全控制)
静态内容 (.txt, .gif, .jpg, .html)
Everyone (R)
Administrators(完全控制)
System(完全控制)
推荐使用的各文件类型的默认 ACL
与为每一个文件单独设置 ACL 相比,更好的办法是为每一种文件类型创建新的目录,在这些目录上设置 ACL,并允许 ACL 继承到文件。例如,目录结构可能如下所示:
c:inetpubwwwrootmyserverstatic (.html)
c:inetpubwwwrootmyserverinclude (.inc)
c:inetpubwwwrootmyserverscript (.asp)
c:inetpubwwwrootmyserverexecutable (.dll)
c:inetpubwwwrootmyserverimages (.gif, .jpeg)
此外,有两个目录需要特别注意:
c:inetpubftproot (FTP server)
c:inetpubmailroot (SMTP server)
这两个目录上的 ACL 都是“Everyone(完全控制)”,应当根据您的功能级别覆盖为更加严格的设置。如果要支持“Everyone(写入)”,请将该文件夹放置到与 IIS 服务器不同的卷中,或者使用 Windows 2000 磁盘空间配额来限制可以写入这些目录的数据量。
设置适当的 IIS 日志文件 ACL
请确保 IIS 生成的日志文件 (%systemroot%system32LogFiles) 上的 ACL 是:
Administrators(完全控制)
System(完全控制)
Everyone (RWC)
这有助于防止恶意用户删除文件以掩饰他们的踪迹。
启用日志记录
当您希望确定服务器是否正受到攻击时,日志记录是非常重要的。应当通过下列步骤使用 W3C 扩展日志记录格式:
加载 Internet Information Services 工具。
右键单击怀疑有问题的站点,然后从上下文菜单中选择“属性”。
单击“网站”选项卡。
选中“启用日志”复选框。
从“活动日志格式”下拉列表中选择“W3C 扩展日志文件格式”。
单击“属性”。
单击“扩展属性”选项卡,然后设置下列属性:
客户端 IP 地址
用户名
方法
URI 资源
HTTP 状态
Win32 状态
用户代理
服务器 IP 地址
服务器端口
仅当您将多个 Web 服务器设置在同一计算机上时,后两个属性才有用。Win32 Status 属性非常适合于调试。当您检查日志时,请注意错误 5,即被拒绝的访问。您可以通过在命令行中输入 net helpmsg err (其中 err 代表您感兴趣的错误号码)来找出其他 Win32 错误是什么含义。
设置 IP 地址/DNS 地址限制
这并非要设置的普通选项,但是如果希望限制某些用户访问您的网站,这将是一个有用的选项。请注意如果您输入域名系统 (DNS) 名称,那么 IIS 将必须执行 DNS 检查,这将很费时间。
验证可执行内容的可信度
要了解可执行内容是否可信是很难的。有一个小测试是用 DumpBin 工具来查看可执行内容是否调用了某些 API。许多 Win32 开发工具都含有 DumpBin。例如,如果您希望查看名为 MyISAPI.dll 的文件是否调用 RevertToSelf,请使用下列语法:
dumpbin /imports MyISAPI.dll | find “RevertToSelf”
如果屏幕上未出现结果,MyISAPI.dll 将不直接调用 RevertToSelf。它将可能通过 LoadLibrary 来调用该 API,在此情况下您也可以使用相似的命令来进行查找。
在 IIS 服务器上更新根目录的 CA 证书
该过程包括两个步骤:第一步:添加所有信任的新根目录证书颁发机构 (CA) 证书—尤其是任何通过使用 Microsoft Certificate Services 2.0 创建的新根目录 CA 证书。第二步:删除所有不信任的根目录 CA 证书。请注意如果您不知道发布根目录证书的公司名称,那么就不应当信任他们!
所有 IIS 使用的根目录 CA 证书都存放在计算机的机器存储中。可以通过下列步骤来访问该机器存储:
打开 Microsoft Management Console (MMC)。
从“控制台”菜单中选择“添加/删除管理单元”,然后单击“添加”。
选择“证书”并单击“添加”。
单击“计算机帐户”选项按钮。
单击“下一步”。
选中所指机器。
单击“完成”。
单击“关闭”,再单击“确定”。
展开证书节点。
扩展信任的根目录证书颁发机构。
选择证书。
右窗格将显示当前信任的全部根目录 CA 证书。如果需要,可以删除多个证书。
注意: 不要删除 Microsoft 或 VeriSign 根目录。操作系统会大量使用它们。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
PacketShaper更新其可视性和管理
Blue Coat系统公司日前发布其最新的软件插件,以更新其已经连接到云的PacketShaper设备,提高该设备发现、监控评估和控制来自中国和亚洲最新流行应用流量的能力。
-
如何在Win7启用IIS日志
日志记录对于任何一个服务器来说,都是至关重要的。对于IIS服务器也不例外。在Windows7操作系统中,该如何启用IIS日志呢?本文将为你介绍。
-
如何通过部署深度防御来规划安全的网络
本文侧重描述一个实用的利用现有技术来部署深度防御的例子,以及探索怎样将它们结合起来,从而构建一个全面、有效的企业网络安全体系。
-
如何避免Web 2.0安全威胁?
Web 2.0技术的协作性和互动性对企业具有极大吸引力,各种规模的公司都可以充分利用社交网站,免费在线服务和其他的协作型web 2.0平台。