有关宿主多个 Web 应用程序的更多信息,请参阅“宿主多个 Web 应用程序”单元。
强制坚固的密码策略
要对抗对应用程序的密码猜测和蛮力字典攻击,应该应用坚固的密码策略。要强制施行坚固的密码策略:
设置密码长度和复杂性。要求坚固的密码以减少密码猜测攻击或者字典攻击的威胁。坚固的密码是指 8 个或者 8 个以上的字符,而且必须包括字母和数字字符。 | |
设置密码到期。密码定期到期能够减少使用密码进行未授权访问的可能性。到期的频率通常遵循公司安全策略的指导。 |
表 4 显示了默认值和推荐的密码策略设置。
表 4. 密码策略默认值和推荐的设置 | ||
密码策略 | 默认设置 | 推荐的最小设置 |
强制密码历史 | 记住 1 个密码。 | 记住 24 个密码。 |
最大密码寿命 | 42 天 | 42 天 |
最小密码寿命 | 0 天 | 2 天 |
最小密码长度 | 0 字符 | 8 字符 |
密码必须满足复杂性需求。 | 禁用 | 启用 |
使用域中所有用户的可逆加密存储密码。 | 禁用 | 禁用 |
此外,记录失败的登录企图使您可以检测和跟踪恶意的行为。有关更多信息,请参阅“第 10 步:审核和日志记录”。
限制远程登录
从 Everyone 组删除 access this computer from the network 特权,以限制谁能够远程登录服务器。
禁用空会话(匿名登录)
要防止匿名访问,应该禁用空会话。这些都是在两台计算机之间建立的未经身份验证或者匿名的会话。除非禁用空会话,否则攻击者就能够匿名(无需身份验证)连接您的服务器。
在攻击者建立空会话之后,他或者她能够执行各种攻击,包括用来从目标计算机收集系统相关信息的枚举技术 — 这些信息能够对后续攻击产生极大帮助。可以通过空会话返回的信息类型包括域和信任详情、共享、用户信息(包括组和用户权限)、注册表项等等。
通过在注册表中将以下子项的 restrictanonymous 设置为 1 限制空会话:
HKLM\System\CurrentControlSet\Control\LSA\RestrictAnonymous=1
有关更多信息,请参阅 Microsoft 知识库文章 246261,“如何:在 Windows 2000 中使用 RestrictAnonymous 注册表值”。
更多注意事项
以下是其他步骤的一个列表,您可以考虑采取这些步骤以进一步提高您的 Web 服务器的安全性:
帐号委托需要许可。 不要在 Active Directory 中标记域帐号为可信任委托,除非首先获取特别许可。 | |
不使用共享帐号。 不创建多个人使用的共享帐号。授权个人必须有自己的帐号。个人的活动可以分别审核,并能够适当地指派组成员资格和特权。 | |
限制本地管理员组的成员资格。 尝试将管理帐号限制为两个。这有助于提供责任性。同样,密码也必须不能共享,也是为了提供责任性。 | |
要求管理员交互式地登录。 如果您只执行本地管理,可以通过删除 access this computer from the network 特权要求管理员账号交互式地登录。 |
在用 NTFS 文件系统格式化的分区上安装 Windows 2000,可以使用 NTFS 权限对访问权限进行限制。使用较坚固的访问控制保护敏感的文件和目录。在大多数情况下,允许访问特定帐号的方法比拒绝访问特定帐号的方法要更加有效。尽可能在目录级设置访问。当文件添加到文件夹中时,它们将从文件夹继承权限,因此您无需采取进一步的操作。
在此步骤中,应该:
限制 Everyone 组。 | |
限制匿名 Web 帐号。 | |
保护或者删除工具、实用工具和 SDK。 | |
删除示例文件。 |
限制 Everyone 组
windows 2000 默认的 NTFS 权限将为 everyone 组的成员授予对许多密钥位置的完全控制访问权限,包括根目录 \inetpub 和 \inetpub\scripts。
首先将管理员帐号的完全控制权限授予根目录 (\),然后从以下目录删除 everyone 组的访问权限。
根 (\) | |
系统目录 (\WINNT\system32) | |
框架工具目录 (\WINNT\Microsoft.NET\Framework\{version}) | |
web 站点根目录和所有内容目录(默认的is \inetpub\*) |
限制对 IIS 匿名帐号的访问
匿