Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

虛擬主機IIS安全加固十大實戰問答:從ASP木馬防範到SYN Flood緩解

編輯:關於伺服器

虛擬主機環境下,IIS安全直接關係數百用戶業務安危。本文針對滲透測試與應急響應中的高頻場景,提供十大加固技術的具體實施命令與原理解析,助力構建纵深防禦體系。

Q1:如何禁止ASP腳本以System權限運行?

誤區: 將虛擬目錄「應用程序保護」設為「低(IIS進程內)」會使ASP運行在IWAM_用戶上下文,權限較高。
正確做法: 設置為「高(隔離)」,每個應用程序獨立運行於dllhost.exe進程,配合應用程序池身份使用最小權限帳號(如Network Service或自定義低權限帳號)。

Q2:如何徹底防範ASP木馬(FSO/Shell組件利用)?

針對FileSystemObject (scrrun.dll):

cacls %systemroot%\system32\scrrun.dll /e /d guests
regsvr32 scrrun.dll /u /s

針對Shell.Application (shell32.dll):

cacls %systemroot%\system32\shell32.dll /e /d guests
regsvr32 shell32.dll /u /s

原理: 通過ACL拒絕guests組訪問核心組件,並註銷組件使其不可用。副作用: 合法應用若依賴這些組件將失效,需評估業務影響或改用Scripting.FileSystemObject替代方案。

Q3:ASP源碼加密工具 screnc.exe 使用指南

  1. 下載 sce10chs.exe 安裝,生成 screnc.exe
  2. 命令:screnc -l vbscript source.asp destination.asp
  3. 輸出文件中 <script language="VBScript.Encode"> 區塊為加密密文
限制: 僅支持VBScript,不支持中文編碼,安全性屬「混淆」級別,不可視為絕對保護。

Q4:從IIS Lockdown工具提取UrlScan

iislockd.exe /q /c /t:c:\urlscan

解壓出獨立 UrlScan 目錄,包含 UrlScan.dll、UrlScan.ini,可單獨部署至無Lockdown環境。

Q5:防止Content-Location洩露內網IP

cscript c:\inetpub\adminscripts\adsutil.vbs set w3svc/UseHostName True
iisreset

啟用後,響應頭 Content-Location 將顯示主機名而非內網IP。

Q6:解決HTTP 500內部錯誤(IWAM密碼不同步)

cscript c:\inetpub\adminscripts\synciwam.vbs -v

同步 IWAM_<機器名> 帳號在COM+應用程序與Metabase中的密碼,修復因密碼不一致導致的進程啟動失敗。

Q7:增強TCP/IP堆疊抵禦SYN Flood攻擊(註冊表加固)

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"SynAttackProtect"=dword:00000002
"TcpMaxHalfOpen"=dword:00000064
"TcpMaxHalfOpenRetried"=dword:00000050
"TcpMaxConnectResponseRetransmissions"=dword:00000001
"TcpMaxDataRetransmissions"=dword:00000003
"TCPMaxPortsExhausted"=dword:00000005
"DisableIPSourceRouting"=dword:00000002
"TcpTimedWaitDelay"=dword:0000001e

參數解讀:

  • SynAttackProtect=2:啟用嚴格SYN攻擊保護(Win2000/2003建議值)
  • TcpMaxHalfOpen=100:半連接佇列上限,超過觸發保護
  • TcpTimedWaitDelay=30:縮短TIME_WAIT至30秒,加速端口復用
  • DisableIPSourceRouting=2:丟棄所有源路由包,防路由欺騙
修改後需重啟系統生效。建議先在測試環境驗證業務影響。

Q8:防止.mdb數據庫文件被直接下載

部署 UrlScan,在 UrlScan.ini 中配置:

[DenyExtensions]
.mdb
.ldb
.mde
.asa
.inc

同時設置 VerifyNormalization=1、AllowHighBitCharacters=0、AllowDotInPath=0 防雙編碼/異常路徑繞過。

Q9:IIS最小NTFS權限矩陣(核心目錄)

路徑帳號/組權限繼承
整個系統盤System, Administrators完全控制✓
\Program Files\Common FilesEveryone讀取/執行, 列出目錄, 讀取✓
\Inetpub\wwwrootIUSR_機器名讀取/執行, 列出目錄, 讀取✓
\Winnt\System32除inetsrv、com外所有目錄移除繼承 → 複製權限 → 僅保留System/Admin✗
\Winnt除特定目錄外所有移除繼承 → 複製 → 僅保留System/Admin✗
\WinntEveryone讀取/執行, 列出目錄, 讀取✓
\Winnt\TempEveryone修改✓

核心原則: 最小權限、移除不必要的繼承、隔離Web目錄與系統目錄。

Q10:隱藏IIS版本信息(Banner修改)

  1. iisreset /stop
  2. 刪除 %SYSTEMROOT%\system32\dllcache 下對應DLL緩存
  3. 使用十六進制編輯器修改:
    W3SVC.DLL (Web) / FTPSVC2.DLL (FTP) / SMTPSVC.DLL (SMTP)
    搜索 Microsoft-IIS/5.0 替換為自定義字符串(長度一致)
  4. 重啟IIS驗證:telnet IP 80 → HEAD / HTTP/1.0
警告: 修改系統DLL屬非官方支持操作,可能導致補丁安裝失敗、服務不穩定。生產環境建議使用URLScan RemoveServerHeader=1 或反向代理(Nginx/IIS ARR)重寫Server頭。

總結:纵深防禦清單

  1. 應用層:ASP組件禁用、代碼加密、UrlScan規則
  2. 協議層:TCP/IP堆疊加固、Banner隱藏、Content-Location保護
  3. 文件層:NTFS最小權限、敏感擴展名阻斷、IWAM密碼同步
  4. 管理層:Lockdown基線、定期掃描、日誌審計

安全不是產品,是持續的過程。將這十大加固納入標準化部署模板,配合定期滲透測試與應急預案演練,才能在攻防博弈中保持主動。

Copyright © Windows教程網 All Rights Reserved