原文作者:Gavin Reid gavin@shebeen.com
本文仅试用于运行IIS 4.0的NTS 4.0系统,如果服务器上还有其他的应用(比如Cold Fusion),那么必须同时保证这些应用本身的安全。下面所述的方法应该在安装新系统时进行,以避免不可预知的结果出现。另外需要注意的是,这种方法不应该在内部网络上(比如文件服务器)使用,因为它删除了一些NT常用的默认服务。
一、安装 1.所有分区为NTFS 服务器选择独立的服务器,不选择PDC 选择工作组成员,不选择域
2.安装IE 4.0 SP2,不安装active desktop
3.安装最新的服务包:SP6a 安装最新的热补丁: q241041 Enabling NetBT to Open IP Ports Exclusively q243404 WINOBJ.EXE May Let You View Securable Objects Created/Opened by JET500.DLL q243405 Device Drivers Create their Corresponding DeviceObject with FILE_DEVICE_SECURE_OPEN Device Characteristics q244599 Fixes Required in TCSEC C2 Security Evaluation Configuration for Windows NT 4.0 Service Pack 6a. Windows NT Appears to Hang When You Log Off After Installing Service Pack 6. q188806 NTFS Alternate Data Stream Name of a File May Return Source q252463 Security Update, April 13, 2000 q267559 Security Update, July 17, 2000 q269862 Security Update, August 15, 2000 q271652 Security Update, September 8, 2000
4.安装option pack: 选择自定义安装: 只安装如下组件: [_] Internet Information Server [_] Internet Service Manager [_] World Wide Web Server [_] Microsoft Data Access Components 1.5 [_] Data Sources [_] MDAC: ADO, OBDC, and OLE DB [_] Remote Data Service 1.5 [_] RDS Core Files [_] Microsoft Management Console [_] NT Option Pack Common Files [_] Transaction Server [_] Transaction Server Core Components 将www安装在和操作系统不同的分区上 安装transaction server时选择default/local administration
5.安装最新的MDAC (2.6 RTM as of 10/30/00) 二、配置NT
1.设置权限: 使用用户管理器在所有分区上的根目录上设置如下: * Administrators::FULL CONTROL * System::FULL CONTROL
2.设置屏幕保护 在控制面板中选择显示 选择屏幕保护程序 选中密码保护,点击确定
3.设置服务: 禁止如下的服务: Alerter (disable) ClipBook Server (disable) Computer Browser (disable) DHCP Client (disable) Directory Replicator (disable) FTP publishing service (disable) License Logging Service (disable) Messenger (disable) Netlogon (disable) Network DDE (disable) Network DDE DSDM (disable) Network Monitor (disable) Plug and Play (disable after all hardware configuration) Remote Access Server (disable) Remote Procedure Call (RPC) locater (disable) Schedule (disable) Server (disable) Simple Services (disable) Spooler (disable) TCP/IP Netbios Helper (disable) Telephone Service (disable) 在必要时禁止如下服务: SNMP service (optional) SNMP trap (optional) UPS (optional
设置如下服务为自动启动: Eventlog ( required ) NT LM Security Provider (required) RPC service (required) WWW (required) Workstation (leave service on: will be disabled later in the document) MSDTC (required) Protected Storage (required)
4.如果安装了SNMP,改变community的值
5.删除IIS例子程序的所在目录: IIS d:\inetpub\iissamples Admin Scripts d:\inetpub\scripts Admin Samples %systemroot%\system32\inetsrv\adminsamples IISADMPWD %systemroot%\system32\inetsrv\iisadmpwd IISADMIN %systemroot%\system32\inetsrv\iisadmin Data access c:\Program Files\Common Files\System\msadc\Samples
6.从ISM(Internet Service Manager)中删除如下目录: IISSamples Scripts IISAdmin IISHelp IISADMPWD
7.删除不必要的IIS扩展名映射: 从ISM中: 选择计算机名,点鼠标右键,选择属性: 然后选择编辑 然后选择主目录, 点击配置 选择扩展名 ".HTA", ".HTR" 和 ".IDC" ,点击删除 如果不使用server side include,则删除".shtm" ".stm" 和 ".shtml"
8.禁止缺省的www站点
9.禁止管理员从网络登陆 使用NT resouce kit中的工具passprop,执行如下命令: passprop /adminlockout /complex
10.仅开放使用的端口: 在控制面板中选择网络,点击属性择TCP/IP协议并点击属性 点击高级选项 选择"启用安全机制"并点击"配置" 将允许所有改为仅允许如下的端口: TCP Ports UDP Ports IP Protocols 80 HTTP 161 SNMP 6 443 SSL 162 SNMP 8 22 SSH
11.仅安装TCP/IP协议 在控制面板中选择网络,点击协议,删除所有非TCP/IP的协议
12.禁止NetBIOS: 在控制面板中选择网络,点击绑定, 选择NetBios接口,然后点击禁用
13.移动部分重要文件并加访问控制: 创建一个只有系统管理员能够访问的目录,比如: d:\admin 将system32目录下的如下文件移动到上面创建的目录: xcopy.exe, wscript.exe, cscript.exe, net.exe, ftp.exe, telnet.exe,arp.exe, edlin.exe, ping.exe, route.exe,at.exe,finger.exe,posix.exe,rsh.exe,atsvc.exe,qbasic.exe,runonce.exe,syskey.exe,cacls.exe, ipconfig.exe, rcp.exe, secfixup.exe, nbtstat.exe, rdisk.exe, debug.exe, regedt32.exe, regedit.exe, edit.com, netstat.exe, tracert.exe, nslookup.exe, rexec.exe, cmd.exe,nslookup.exe
三、运行bastion.inf加固脚本 下载最新的bastioninf.zip,解压后运行如下命令: secedit /configure /cfg bastion.inf /db %temp%\secedit.sdb /verbose /log %temp%\seclog.txt 这个安全策略脚本在系统中做了如下改动: 1.设定如下的密码策略: 密码唯一性:记录上次的 6 个密码 最短密码期限:2 密码最长期限:42 最短密码长度:10 密码复杂化(passfilt.dll):启用 用户必须登录方能更改密码:启用 帐号失败登录锁定的门限:5 锁定后重新启用的时间间隔:720分钟
2.审计策略: 审核如下的事件: 用户和组管理 成功:失败 登录和注销 成功:失败 文件及对象访问 失败 更改安全规则 成功: 失败 用户权限的使用 失败 系统事件 成功: 失败
3.用户权限分配: 从网络中访问这台计算机:No one 将工作站添加到域:No one 备份文件和目录:Administrators 更改系统时间:Administrators 强制从远程系统关机:No one 加载和下载设备驱动程序:Administrators 本地登录:Administrators 管理审核和安全日志:Administrators 恢复文件和目录:Administrators 关闭系统:Administrators 获得文件或对象的所属权:Administrators 忽略遍历检查(高级权力):Everyone 作为服务登录(高级权力):No one 内存中锁定页:No one 替换进程级记号:No one 产生安全审核:No one 创建页面文件:Administrators 配置系统性能:No one 创建记号对象:No one 调试程序:No one 增加进度优先级:Administrators 添加配额:Administrators 配置单一进程:Administrators 修改固件环境值:Administrators 生成系统策略: Administrators 以批处理作业登录:No one
4.事件查看器设置: 应用程序、系统和安全的日志空间都设为100MB 事件日志覆盖方式为:覆盖30天以前的日志 禁止匿名用户查看日志
5.注册表的值 KEY Type Value MACHINE\SOFTWARE\Microsoft\DataFactory\HandlerInfo\ HandlerRequired REG_DWORD 1 MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\ NtfsDisable8dot3NameCreation REG_DWORD 1 MACHINE\Software\Microsoft\WindowsNT\Version\Winlogon\AllocateCDRoms REG_SZ 1 MACHINE\System\CurrentControlSet\Control\Lsa\AuditBaseObjects REG_DWORD 1 MACHINE\System\CurrentControlSet\Control\Lsa\Su MACHINE\System\CurrentControlSet\Control\Print\Providers\LanMan PrintServices\AddPrintDrivers REG_DWORD 1 MACHINE\System\CurrentControlSet\Services\Rdr\ Parameters\EnablePlainTextPassword REG_DWORD 0 MACHINE\System\CurrentControlSet\Services\LanManServer\ Parameters\AutoDisconnect REG_DWORD 15 MACHINE\System\CurrentControlSet\Services\LanManServer\ Parameters\AutoShareWks REG_DWORD 0 MACHINE\System\CurrentControlSet\Services\LanManServer\ Parameters\AutoShareServer REG_DWORD 0 MACHINE\System\CurrentControlSet\Services\LanManServer\ Parameters\EnableForcedLogOff REG_DWORD 1 MACHINE\System\CurrentControlSet\Services\LanManServer\ Parameters\RequireSecuritySignature REG_DWORD 1 MACHINE\System\CurrentControlSet\Services\LanManServer\ Parameters\EnableSecuritySignature REG_DWORD 1 MACHINE\System\CurrentControlSet\Services\Rdr\Parameters\ RequireSecuritySignature REG_DWORD 1 MACHINE\System\CurrentControlSet\Services\Rdr\Parameters\ EnableSecuritySignature REG_DWORD 1 MACHINE\System\CurrentControlSet\Services\Netlogon\ Parameters\RequireSignOrSeal REG_DWORD 1 MACHINE\System\CurrentControlSet\Services\Netlogon\Parameters\ SealSecureChannel REG_DWORD 1 MACHINE\System\CurrentControlSet\Services\Netlogon\Parameters\ SignSecureChannel REG_DWORD 1 MACHINE\System\CurrentControlSet\Control\Lsa\ RestrictAnonymous REG_DWORD 1 MACHINE\System\CurrentControlSet\Control\Session Manager\ ProtectionMode REG_DWORD 1 MACHINE\System\CurrentControlSet\Control\Lsa\ LmCompatibilityLevel REG_DWORD 2 MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\LegalNoticeText REG_SZ This is a
private system. Unauthorized use is prohibited. MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ Winlogon\LegalNoticeCaption REG_SZ CISD MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\DontDisplayLastUserName REG_SZ 1 MACHINE\System\CurrentControlSet\Control\Lsa\CrashOnAuditFail REG_DWORD 1 MACHINE\System\CurrentControlSet\Control\Session Manager\Memory Management\ClearPageFileAtShutdown REG_DWORD 1 MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ Winlogon\CachedLogonsCount REG_SZ 0 MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ Winlogon\AllocateFloppies REG_SZ 1 MACHINE\Software\Microsoft\Windows NT\Current bmitControl REG_DWORD 0 MACHINE\System\CurrentControlSet\Control\Lsa\ FullPrivilegeAuditing REG_BINARY 1 MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ Winlogon\ShutdownWithoutLogon REG_SZ 1 6.文件系统和注册表存取控制: 详见bastion.inf
7.管理员帐号: bastion.inf将Administrator改名为root, 可以按照自己的需要更改这个名字,并使用强壮的密码
四、可选的注册表设置
1.删除 OS/2 和 POSIX 子系统: 删除如下目录的任何键: HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\OS/2 Subsystem for NT 删除如下的键: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Os2LibPath 删除如下的键: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems\Optional HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems\Posix HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems\Os2 删除如下目录: c:\winnt\system32\os2 2.除去RDS漏洞: 删除如下的注册表项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\ Parameters\ADCLaunch\RDSServer.DataFactory HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\ Parameters\ADCLaunch\AdvancedDataFactory HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\ Parameters\ADCLaunch\VbBusObj.VbBusObjCls 3.从网络服务中删除不必要的服务: 删除:Netbios接口,计算机浏览器,服务器,工作站 保留:RPC配置
五、保护许可
1. 保护Internet Guest 用户帐号: 在用户管理器中,将Internet Guest 帐号改为晦涩的名字,并使用强壮的密码 禁止guest帐号。 将改名后的Internet Guest 帐号从组“guests”中删除。 设置改名后的Internet Guest 帐号对所有卷的访问为“No Access”,为了保证IIS的正常运行,必须赋予改名后的 Internet Guest 帐号对以下目录的读取权限: 默认路径 环境变量 c:\ %SystemDrive% c:\winnt %SystemRoot% d:\InetPub\wwwroot 你的IIS根目录 注意:在设置以上目录的权限时,不要选择替换子目录的权限!!
2. 锁住组“Users”: 设置NT内建组“Users”对所有卷的访问权为“No Access”,因为新用户会自动加入组“Users”中,所以新用户缺省将不能访问任何卷。
|