WEB开发网
开发学院WEB开发ASP 加固NT和IIS的安全 阅读

加固NT和IIS的安全

 2000-12-20 11:17:51 来源:WEB开发网   
核心提示:原文作者:Gavin Reidgavin@shebeen.com本文仅试用于运行IIS 4.0的NTS 4.0系统,如果服务器上还有其他的应用(比如Cold Fusion),加固NT和IIS的安全,那么必须同时保证这些应用本身的安全,下面所述的方法应该在安装新系统时进行,不要选择替换子目录的权限!!2. 锁住组“Use
原文作者: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”中,所以新用户缺省将不能访问任何卷。



Tags:加固 NT IIS

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接