要点 本清单旨在提供指导,以便在运行 Windows NT 4.0 的服务器上配置最基本的安全性。其他高级设置见于 Microsoft TechNet
安全网站中的完整的 Windows NT Server 4.0 配置清单中。
本清单包含有关编辑注册表的信息。在编辑注册表之前,请确认您知道在出现问题时如何恢复注册表。有关如何操作的信息,请参阅 Regedit.exe
中的“恢复注册表”帮助主题或 Regedt32.exe 中的“恢复注册表项”帮助主题。 Windows NT Server 4.0 配置
NTFS 分区能够提供 FAT、FAT32 或 FAT32x 文件系统所不能提供的访问控制与保护。确保服务器中的所有分区使用 NTFS 格式进行了格式化。如果必要,请使用转换实用程序将 FAT 分区非破坏性地转换为 NTFS 格式。
警告 如果使用转换实用程序,转换后驱动器的 ACL 会设置为“Everyone:完全控制”。请使用 Windows NT Server Resource Kit 中的 Fixacls.exe 实用程序将其重新设置为更为合理的值。
Windows NT 允许不超过 14 个字符的密码。一般来说,长密码比短密码更为可靠,而拥有多种字符类型(字母、数字、标点符号和使用 ALT 键以及数字键盘上的三个数位的密钥代码而产生的非打印 ASCII 字符)的密码比单纯的字母型或字母兼数字型的密码更为可靠。为获得最大程度的保护,请确保管理员帐户的密码至少包含九个字符,并且在前七个字符中至少包含一个标点符号或非打印 ASCII 字符。
安装了 Windows NT Server 后,应当禁用所有在服务器角色中不必要的网络服务。尤其需要考虑的是,您的服务器是否需要 IIS 组件以及是否应当运行用于文件与打印共享的服务器服务。
此外,还应当避免在服务器上安装应用程序,除非它们对于服务器的功能来说是绝对必要的。例如,不应当安装电子邮件客户端、办公效率工具或对服务器来说并非完全必要的实用程序。
应当在用户管理器中查看系统中的活动帐户(对用户和应用程序而言)列表,禁用所有的非活动帐户,并删除不再需要的帐户。
默认状态下,在运行 Windows NT Server 的系统中,来宾帐户是禁用的。如果启用了来宾帐户,请将其禁用。
为了给服务器提供足够的安全性,需要更改多个文件系统权限。这些权限要求您系统中的卷使用 NTFS 格式,但其实无论如何都需要这样做。关于这些更改最权威性的参考,请参阅白皮书 NSA Windows NT System Security Guidelines,该白皮书由 Trusted System Services 发布。推荐设置如下所示的文件和目录 ACL。表中的“Installers”指的是任何有权安装应用程序或系统软件的帐户。
目录或文件 建议的最大权限 C:\ Installers:更改
Everyone:读取
Server Operators:更改文件 Installers:更改
Everyone:读取
Server Operators:更改IO.SYS、MSDOS.SYS Installers:更改
Everyone:读取
Server Operators:更改BOOT.INI、
NTDETECT.COM、
NTLDR(无) AUTOEXEC.BAT、
CONFIG.SYSInstallers:更改
Everyone:读取
Server Operators:更改C:\TEMP Everyone:(RWXD)*(NotSpec) C:\WINNT\ Installers:更改
Everyone:读取
Server Operators:更改文件 Everyone:读取
Server Operators:更改win.ini Installers:更改
公用:读取
Server Operators:更改Control.ini Installers:更改
Everyone:读取
Server Operators:更改Netlogon.chg (无) \WINNT\config\ Installers:更改
Everyone:读取
Server Operators:更改\WINNT\cursors\
\WINNT\fontsInstallers:更改
Everyone:添加和读取
Server Operators:更改
PwrUsers: 更改\WINNT\help\ Installers:更改
Everyone:添加和读取
Server Operators:更改
PwrUsers: 更改*.GID、*.FTG、*.FTS Everyone:更改 \WINNT\inf\ Installers:更改
Everyone:读取*.ADM 文件 Everyone:读取 *.PNF Installers:更改
Everyone:读取
Server Operators:更改\WINNT\media\ Installers:更改
Everyone:读取
Server Operators:更改
PwrUsers: 更改*.RMI Everyone:更改 \WINNT\profiles\ Installers:添加和读取
Everyone: (RWX)*(NotSpec)..\All users Installers:更改
Everyone:读取..\Default Everyone:读取 \WINNT\repair\ (无) \WINNT\system\ Installers:更改
Everyone:读取
Server Operators:更改\WINNT\System32\ Installers:更改
Everyone:读取
Server Operators:更改
Backup Operators:更改文件 Everyone:读取
Server Operators:更改$winnt$.inf Installers:更改
Everyone:读取
Server Operators:更改AUTOEXEC.NT、
CONFIG.NTInstallers:更改
Everyone:读取
Server Operators:更改cmos.ram、
midimap.cfgEveryone:更改 localmon.dll、
decpsmon.*、
hpmon.*Installers:更改
Everyone:读取
Server Operators:更改
Print Operators:更改\WINNT\System32\config\ Everyone:列表 \WINNT\System32\DHCP\ Everyone:读取
Server Operators:更改\WINNT\System32\drivers\
(包括 \etc)Everyone:读取 \WINNT\System32\LLS Installers:更改
Everyone:读取
Server Operators:更改\WINNT\System32\OS2
(包括 \DLL 子目录)Everyone:读取
Server Operators:更改\WINNT\System32\RAS Everyone:读取
Server Operators:更改\WINNT\System32\Repl Everyone:读取
Server Operators:更改\WINNT\System32\Repl\、
import、export、scripts
subdirsEveryone:读取
Server Operators:更改
Replicator:更改\WINNT\System32\spool Installers:更改
Everyone:读取
Server Operators:完全
Print Operators:更改\drivers\
\drivers\w32x86\2\
\prtprocs\
\prtprocs\w32x86\
\drivers\w32x86\Installers:更改
Everyone:读取
Server Operators:完全
Print Operators:更改\printers\、\tmp\ Installers:更改
Everyone:(RWX)(NotSpec)
Server Operators:完全\WINNT\System32\viewers Everyone:读取
Server Operators:更改\WINNT\System32\wins Everyone:读取
Server Operators:更改C:\...\*.EXE、*.BAT、*.COM、*.CMD、*.DLL Everyone:X
默认权限并不限制对注册表的远程访问。应该只有管理员才能远程访问注册表,因为默认状态下 Windows NT 注册表编辑工具支持远程访问。要限制对注册表的远程访问:
- 将下列项添加到注册表中:
配置单元
HKEY_LOCAL_MACHINE \SYSTEM
项
\CurrentControlSet\Control\SecurePipeServers
值名
\winreg
- 选择 winreg,单击“安全”菜单,然后单击“权限”。
- 将管理员权限设置为“完全控制”,确保表中没有列出其他用户或组,然后单击“确定”。
该项中设置的安全权限 (ACL) 定义了哪些用户和组可以连接到系统,进行远程注册表访问。此外,尽管存在 winreg 项中设置的 ACL,但在 AllowedPaths 子项中还包含一个列表,其中的项可供 Everyone 组的成员进行访问。这会允许诸如检查打印机状态等特定的系统功能正常工作,而不管访问是如何通过 winreg 注册表项被限制的。AllowedPaths 注册表项的默认安全级别只授予管理员管理这些路径的权限。有关 AllowedPaths 项及其适当使用方法的内容见于 Microsoft 知识库文章 Q155363。
许多注册表项需要更改为默认的 ACL 以获得最高安全级别。关于这些更改的确切参考,请参阅白皮书 NSA Windows NT System Security Guidelines,该白皮书由 Trusted System Services 发布。它们推荐要求删除下面表格中(它所在的位置)列出的所有用户的 ACE,然后更改表中显示的 ACL。表中的“Installers”指的是任何有权安装应用程序或系统软件的帐户。
警告 除非表中说明“整个树”,否则只更改指定项的权限,而不包括子项。
项路径 权限 说明 \Software
Installers:更改
Everyone:读取只有能够安装软件的帐户才能拥有该树的更改权。
\Software\Classes
Installers:添加
Everyone:读取树需要特别对待,因为限制“Everyone”的访问权限为读取可能破坏某些应用程序。
\Software\Microsoft\Windows\CurrentVersion\App Paths
Installers:更改
Everyone:读取应用到整个树。安装时,该树为空,设置 ACL 以避免误用。
\Software\Microsoft\Windows\Current Version\Explorer
Everyone:读取
应用到整个树
\Software\Microsoft\Windows\Current Version\Embedding
Installers:更改
Everyone:读取应用到整个树
\Software\Microsoft\Windows\Current Version\Run, RunOnce, Uninstall, and AEDebug
Everyone:读取
\Software\Microsoft\Windows NT\CurrentVersion\Font*, GRE_Initialize
Installers:更改
Everyone:添加只更改以“Font”开头的树,FontDrivers 除外,此外还有 Gre-Initialize。
\Software\Microsoft\Windows NT\CurrentVersion\Type 1 Installer\Type 1 Fonts
Installers:更改
Everyone:添加
\Software\Microsoft\Windows NT\CurrentVersion\Drivers, Drivers.desc
Everyone:读取
应用到整个树。
\Software\Microsoft\Windows NT\CurrentVersion\MCI, MCI Extensions
Installers:更改
应用到整个树。
\Software\Microsoft\Windows NT\CurrentVersion\Ports
INTERACTIVE:读取
Everyone:读取应用到整个树。
\Software\Microsoft\Windows NT\CurrentVersion\WOW
Everyone:读取
应用到整个树。
\Software\Windows 3.1 Migration Status
Everyone:读取
应用到整个树。
\System\CurrentControlSet\Services\LanmanServer\Shares
Everyone:读取
应用到整个树。防止用户添加新共享。
\System\CurrentControlSet\Services
Everyone:读取
应用到整个树。防止非管理员更改服务设置。
您应当能够识别系统中的所有用户,所以应当对匿名用户进行限制,减少他们获取的关于 Windows NT 安全子系统的 LSA 组件的信息。LSA 处理本地计算机的各方面安全管理,其中包括访问与权限。要实现该限制,请创建并设置下列注册表项:
配置单元
HKEY_LOCAL_MACHINE \SYSTEM
项
CurrentControlSet\Control\LSA
值名
RestrictAnonymous
类型
REG_DWORD
值
1
SAM 数据库存储域和本地计算机帐户的密码散列。获取了 SAM 数据库文件访问权(从服务器本身、利用服务器的紧急修复盘或备份磁带)的攻击者可以使用密码破解工具攻击这些散列。SYSKEY 工具允许您为 SAM 数据库加密,使未经授权的攻击者利用密码破解工具攻击您存储的密码散列变得更加困难。Microsoft 知识库文章 Q143475 详细描述了如何安装和使用 SYSKEY。
警告 在安装 SYSKEY 之前,请更新服务器的紧急修复盘 (ERD)。安装了 SYSKEY 之后,使用一个新的、单独的软盘制作另一份 ERD。不要试图使用安装 SYSKEY 之前的 ERD 来恢复安装 SYSKEY 之后的系统。
使用用户管理器或域的用户管理器应用程序中的“帐户策略”对话框(选择“策略”|“帐户”命令),来加强密码许可的系统策略。Microsoft 建议您进行下列更改:
- 将最小密码长度设置为 8 个字符
- 设置一个适合您网络的最短密码期限(通常介于 1 至 7 天之间)
- 设置一个适合您网络的最长密码期限(通常不超过 42 天)
- 设置最小为 6 的密码历史记录维护(使用“记住密码”选项)
Windows NT SP 3 及其更新版本包含一个密码过滤工具 passfilt.dll,它使您能够实现更为可靠的密码更改规则。该工具只许可符合下列所有标准的密码:
- 不得少于六个字符
- 不得包括用户帐户名或用户完整名称的任何部分
- 字符必须包含 4 类字符组(大写、小写、数字和非字母的标点字符)中 3 类
警告 必须对域中所有的域控制器执行此更改。如果未能对 BDC 进行更改,那么当 BDC 被提升为 PDC 角色时,将禁用可靠的密码检查。还应当对成员服务器进行此项更改,以便充分保护本地计算机帐户
要安装 passfilt.dll,请进行如下的注册表更改(关于编写自己的筛选器,请参阅 Microsoft 知识库文章 Q151082)。
配置单元 HKEY_LOCAL_MACHINE \SYSTEM 项 CurrentControlSet\Control\LSA 值名 NotificationPackages 类型 REG_MULTI_SZ 更改 将字符串 passfilt.dll 添加到列表中
Windows NT 包含一个帐户锁定功能,能够在登录失败次数超过管理员指定值时禁用帐户。要开启此项功能,请使用域的用户管理器中的“帐户策略”对话框,然后选择“帐户锁定”选项。为获得最大安全性,请在 3 至 5 次失败尝试后启用锁定,在不少于 30 分钟后将计数重置,并将锁定期限设置为“永远锁定(直到管理员解开锁定)”。
Windows NT Server Resource Kit 包含一个工具,该工具使您能够调整某些通过普通管理工具无法访问的帐户属性。该工具 (passprop.exe) 可以使您锁定管理员帐户:
/adminlockout 开关允许将管理员帐户锁定
由于管理员帐户内建于所有的 Windows NT 中,它对攻击者来说是个已知的目标。要使管理员帐户更难攻击,请在每台服务器上的域管理员帐户和本地管理员帐户设置中遵循下面两点:
- 将该帐户重命名为一个不明显的名称(例如:不是“admin”、“root” 等)。
- 建立一个名为“Administrator”的没有特权的假帐户。定期扫描事件日志,寻找使用该帐户的尝试。
- 使用 Passprop 实用程序,对真正的管理员帐户启用帐户锁定。
- 禁用本地计算机的管理员帐户。
系统中所有不必要的文件共享都应当被取消,以防止可能的信息泄漏,并避免怀有恶意的用户利用共享作为本地系统的入口。
默认状态下,所有用户对于新创建的文件共享都拥有完全控制权限。系统中所有必要的共享都应当设置 ACL,以便使用户拥有适当的共享级别访问权(例如,Everyone = 读取)。
注意 必须使用 NTFS 文件系统来对个别文件设置 ACL 以及共享级别权限。
必须在所有的 Internet 和 Intranet 系统中安装防病毒软件,并及时更新为最新的病毒签名。
关于防病毒安全方面的详细信息可以在 Microsoft TechNet 安全网站中获得。
Windows NT 的所有 Service Pack 都包括先前的 service pack 中的安全修补程序。Microsoft 推荐您及时更新 Service Pack 版本,并且一旦操作环境允许,应当为您的服务器安装正确的 Service Pack。当前的 Service Pack 6a,可以从 Microsoft 下载中心获取:
- Intel 版本: http://www.microsoft.com/ntserver/nts/downloads/recommended/SP6/x86Lang.asp
- Alpha 版本: http://www.microsoft.com/ntserver/nts/downloads/recommended/SP6/alphaLang.asp
Service Pack 也可以通过如下途径获取:Microsoft 产品支持。
Microsoft 通过其安全通知服务发布安全电子公告。当电子公告建议安装安全修补程序时,您应当立即下载并将其安装到成员服务器中。如果您要安装 SP6a,应当首先安装 Service Pack 6a 后的“C2 更新”修补程序,该程序进行了多项修改以保证完全的 C2 兼容性。C2 更新可以从 Microsoft 下载中心获得:
- Intel 版本: http://www.microsoft.com/downloads/release.asp?ReleaseID=15927
- Alpha 版本: http://www.microsoft.com/downloads/release.asp?ReleaseID=15928
该更新也可以通过多种媒介从 Microsoft 产品支持定购。
©2001 Microsoft Corporation. 保留所有权利。