Board logo

标题: [转帖]加固NT和IIS的安全 [打印本页]

作者: 黑色海岸线    时间: 2004-11-7 16:28     标题: [转帖]加固NT和IIS的安全

[这个贴子最后由黑色海岸线在 2004/11/07 04:32pm 第 1 次编辑]

本文仅试用于运行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:inetpubiissamples
  Admin Scripts  d:inetpubscripts
  Admin Samples %systemroot%system32inetsrvadminsamples
  IISADMPWD %systemroot%system32inetsrviisadmpwd
  IISADMIN    %systemroot%system32inetsrviisadmin
  Data access  c:Program FilesCommon FilesSystemmsadcSamples
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
MACHINESOFTWAREMicrosoftDataFactoryHandlerInfo
HandlerRequired REG_DWORD 1
  
   MACHINESYSTEMCurrentControlSetControlFileSystem
   NtfsDisable8dot3NameCreation REG_DWORD 1
  
   MACHINESoftwareMicrosoftWindowsNTVersionWinlogonAllocateCDRoms REG_SZ 1
  
   MACHINESystemCurrentControlSetControlLsaAuditBaseObjects
   REG_DWORD 1
  
   MACHINESystemCurrentControlSetControlLsaSu
  
   MACHINESystemCurrentControlSetControlPrintProvidersLanMan
   PrintServicesAddPrintDrivers REG_DWORD 1
  
   MACHINESystemCurrentControlSetServicesRdr
   ParametersEnablePlainTextPassword REG_DWORD 0
  
   MACHINESystemCurrentControlSetServicesLanManServer
   ParametersAutoDisconnect REG_DWORD 15
  
   MACHINESystemCurrentControlSetServicesLanManServer
   ParametersAutoShareWks REG_DWORD 0
  
   MACHINESystemCurrentControlSetServicesLanManServer
   ParametersAutoShareServer REG_DWORD 0
  
   MACHINESystemCurrentControlSetServicesLanManServer
   ParametersEnableForcedLogOff REG_DWORD 1
  
   MACHINESystemCurrentControlSetServicesLanManServer
   ParametersRequireSecuritySignature REG_DWORD 1
  
   MACHINESystemCurrentControlSetServicesLanManServer
   ParametersEnableSecuritySignature REG_DWORD 1
  
   MACHINESystemCurrentControlSetServicesRdrParameters
   RequireSecuritySignature REG_DWORD 1
  
   MACHINESystemCurrentControlSetServicesRdrParameters
   EnableSecuritySignature REG_DWORD 1
  
   MACHINESystemCurrentControlSetServicesNetlogon
   ParametersRequireSignOrSeal REG_DWORD 1
  
   MACHINESystemCurrentControlSetServicesNetlogonParameters
   SealSecureChannel REG_DWORD 1
  
   MACHINESystemCurrentControlSetServicesNetlogonParameters
   SignSecureChannel REG_DWORD 1
  
   MACHINESystemCurrentControlSetControlLsa RestrictAnonymous
   REG_DWORD 1
  
   MACHINESystemCurrentControlSetControlSession Manager
   ProtectionMode REG_DWORD 1
  
   MACHINESystemCurrentControlSetControlLsa LmCompatibilityLevel
   REG_DWORD 2
  
   MACHINESoftwareMicrosoftWindows
   NTCurrentVersionWinlogonLegalNoticeText REG_SZ This is a
private system. Unauthorized use is prohibited.
  
   MACHINESoftwareMicrosoftWindows NTCurrentVersion
   WinlogonLegalNoticeCaption REG_SZ CISD
  
   MACHINESoftwareMicrosoftWindows
   NTCurrentVersionWinlogonDontDisplayLastUserName REG_SZ 1
  
   MACHINESystemCurrentControlSetControlLsaCrashOnAuditFail
   REG_DWORD 1
  
   MACHINESystemCurrentControlSetControlSession ManagerMemory
   ManagementClearPageFileAtShutdown REG_DWORD 1
  
   MACHINESoftwareMicrosoftWindows NTCurrentVersion
   WinlogonCachedLogonsCount REG_SZ 0
  
   MACHINESoftwareMicrosoftWindows NTCurrentVersion
   WinlogonAllocateFloppies REG_SZ 1
  
MACHINESoftwareMicrosoftWindows NTCurrent bmitControl
REG_DWORD 0
  
   MACHINESystemCurrentControlSetControlLsa
   FullPrivilegeAuditing REG_BINARY 1
  
   MACHINESoftwareMicrosoftWindows NTCurrentVersion
   WinlogonShutdownWithoutLogon REG_SZ 1
  
6.文件系统和注册表存取控制:
详见bastion.inf
7.管理员帐号:
bastion.inf将Administrator改名为root,
可以按照自己的需要更改这个名字,并使用强壮的密码
四、可选的注册表设置
1.删除 OS/2 和 POSIX 子系统:
删除如下目录的任何键: 
   HKEY_LOCAL_MACHINESOFTWARE MicrosoftOS/2 Subsystem for NT
  删除如下的键:
  HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession    ManagerEnvironmentOs2LibPath
   删除如下的键:
   HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession
ManagerSubSystemsOptional
  
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession
   ManagerSubSystemsPosix
  
   HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession
   ManagerSubSystemsOs2
  
 删除如下目录:
   c:winntsystem32os2
 
2.除去RDS漏洞:
  删除如下的注册表项: 
  HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW3SVC
   ParametersADCLaunchRDSServer.DataFactory
  
   HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW3SVC
   ParametersADCLaunchAdvancedDataFactory
  
   HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW3SVC
   ParametersADCLaunchVbBusObj.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:InetPubwwwroot     你的IIS根目录
  注意:在设置以上目录的权限时,不要选择替换子目录的权限!!
2. 锁住组“Users”:
  设置NT内建组“Users”对所有卷的访问权为“No Access”,因为新用户会自动加入组“Users”中,所以新用户缺省将不能访问任何卷。

作者: 刺客    时间: 2004-11-7 17:14     标题: [转帖]加固NT和IIS的安全

好哦~~
就是做起来有点烦琐了




欢迎光临 黑色海岸线论坛 (http://bbs.thysea.com/) Powered by Discuz! 7.2