原文作者: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”中,所以新用戶缺省將不能訪問任何卷。
|