明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

加固NT與IIS的安全

[摘要]原文作者:Gavin Reid gavin@shebeen.com本文僅試用于運行IIS 4.0的NTS 4.0系統(tǒng),如果服務(wù)器上還有其他的應用(比如Cold Fusion),那么必須同時保證這些...
原文作者:Gavin Reid  gavin@shebeen.com

本文僅試用于運行IIS 4.0的NTS 4.0系統(tǒng),如果服務(wù)器上還有其他的應用(比如Cold Fusion),那么必須同時保證這些應用本身的安全。下面所述的方法應該在安裝新系統(tǒng)時進行,以避免不可預知的結(jié)果出現(xiàn)。另外需要注意的是,這種方法不應該在內(nèi)部網(wǎng)絡(luò)上(比如文件服務(wù)器)使用,因為它刪除了一些NT常用的默認服務(wù)。

一、安裝
1.所有分區(qū)為NTFS
    服務(wù)器選擇獨立的服務(wù)器,不選擇PDC
    選擇工作組成員,不選擇域

2.安裝IE 4.0 SP2,不安裝active desktop

3.安裝最新的服務(wù)包: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安裝在和操作系統(tǒng)不同的分區(qū)上
安裝transaction server時選擇default/local administration

5.安裝最新的MDAC (2.6 RTM as of 10/30/00)
      
二、配置NT

1.設(shè)置權(quán)限:
使用用戶管理器在所有分區(qū)上的根目錄上設(shè)置如下:
  * Administrators::FULL CONTROL
      * System::FULL CONTROL

2.設(shè)置屏幕保護
在控制面板中選擇顯示
選擇屏幕保護程序
選中密碼保護,點擊確定

3.設(shè)置服務(wù):
禁止如下的服務(wù):
  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)
        
在必要時禁止如下服務(wù):
  SNMP service (optional)
        SNMP trap (optional)
        UPS (optional

設(shè)置如下服務(wù)為自動啟動:
  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.禁止管理員從網(wǎng)絡(luò)登陸
使用NT resouce kit中的工具passprop,執(zhí)行如下命令:
  passprop /adminlockout /complex

10.僅開放使用的端口:
在控制面板中選擇網(wǎng)絡(luò),點擊屬性擇TCP/IP協(xié)議并點擊屬性
    點擊高級選項
    選擇"啟用安全機制"并點擊"配置"
將允許所有改為僅允許如下的端口:
         TCP Ports          UDP Ports          IP Protocols
       80  HTTP          161 SNMP             6
       443  SSL           162 SNMP              8
       22  SSH

11.僅安裝TCP/IP協(xié)議
在控制面板中選擇網(wǎng)絡(luò),點擊協(xié)議,刪除所有非TCP/IP的協(xié)議

12.禁止NetBIOS:
在控制面板中選擇網(wǎng)絡(luò),點擊綁定, 選擇NetBios接口,然后點擊禁用

13.移動部分重要文件并加訪問控制:
創(chuàng)建一個只有系統(tǒng)管理員能夠訪問的目錄,比如:
  d:\admin
將system32目錄下的如下文件移動到上面創(chuàng)建的目錄:
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
這個安全策略腳本在系統(tǒng)中做了如下改動:     
1.設(shè)定如下的密碼策略:
  密碼唯一性:記錄上次的 6 個密碼
     最短密碼期限:2
     密碼最長期限:42
     最短密碼長度:10
     密碼復雜化(passfilt.dll):啟用
     用戶必須登錄方能更改密碼:啟用
     帳號失敗登錄鎖定的門限:5
     鎖定后重新啟用的時間間隔:720分鐘

2.審計策略:
  審核如下的事件:
  用戶和組管理   成功:失敗
  登錄和注銷   成功:失敗
  文件及對象訪問     失敗
  更改安全規(guī)則 成功:    失敗
  用戶權(quán)限的使用           失敗  
  系統(tǒng)事件 成功:     失敗

3.用戶權(quán)限分配:
  從網(wǎng)絡(luò)中訪問這臺計算機:No one
  將工作站添加到域:No one
  備份文件和目錄:Administrators
  更改系統(tǒng)時間:Administrators
  強制從遠程系統(tǒng)關(guān)機:No one
  加載和下載設(shè)備驅(qū)動程序:Administrators
  本地登錄:Administrators
  管理審核和安全日志:Administrators
  恢復文件和目錄:Administrators
  關(guān)閉系統(tǒng):Administrators
  獲得文件或?qū)ο蟮乃鶎贆?quán):Administrators
  忽略遍歷檢查(高級權(quán)力):Everyone
  作為服務(wù)登錄(高級權(quán)力):No one
  內(nèi)存中鎖定頁:No one
  替換進程級記號:No one
  產(chǎn)生安全審核:No one
  創(chuàng)建頁面文件:Administrators
  配置系統(tǒng)性能:No one
  創(chuàng)建記號對象:No one
  調(diào)試程序:No one
  增加進度優(yōu)先級:Administrators
  添加配額:Administrators
  配置單一進程:Administrators
  修改固件環(huán)境值:Administrators
  生成系統(tǒng)策略: Administrators
  以批處理作業(yè)登錄:No one

4.事件查看器設(shè)置:
     應用程序、系統(tǒng)和安全的日志空間都設(shè)為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.文件系統(tǒng)和注冊表存取控制:
詳見bastion.inf

7.管理員帳號:
bastion.inf將Administrator改名為root,
可以按照自己的需要更改這個名字,并使用強壯的密碼

四、可選的注冊表設(shè)置

1.刪除 OS/2 和 POSIX 子系統(tǒng):
刪除如下目錄的任何鍵:   
     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.從網(wǎng)絡(luò)服務(wù)中刪除不必要的服務(wù):
    刪除:Netbios接口,計算機瀏覽器,服務(wù)器,工作站
    保留:RPC配置


五、保護許可

1. 保護Internet Guest 用戶帳號:
    在用戶管理器中,將Internet Guest 帳號改為晦澀的名字,并使用強壯的密碼
禁止guest帳號。
    將改名后的Internet Guest 帳號從組“guests”中刪除。
    設(shè)置改名后的Internet Guest 帳號對所有卷的訪問為“No Access”,為了保證IIS的正常運行,必須賦予改名后的
Internet Guest 帳號對以下目錄的讀取權(quán)限:
默認路徑                 環(huán)境變量
c:\                       %SystemDrive%
c:\winnt                  %SystemRoot%
d:\InetPub\wwwroot         你的IIS根目錄
    注意:在設(shè)置以上目錄的權(quán)限時,不要選擇替換子目錄的權(quán)限!

2. 鎖住組“Users”:
    設(shè)置NT內(nèi)建組“Users”對所有卷的訪問權(quán)為“No Access”,因為新用戶會自動加入組“Users”中,所以新用戶缺省將不能訪問任何卷。