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

打造安全 IIS 伺服器:10 大常見問題 FAQ 與實戰對策

編輯:Web 伺服器

前言:從實戰中提煉的 IIS 安全鐵律

整理 10 個 IIS 管理員最常遇到的安全疑難雜症,提供具體指令與設定步驟,可直接套用於生產環境。

1. 如何讓 ASP 指令碼以 SYSTEM 權限執行?

虛擬目錄屬性 → 「應用程式保護」設為 低 (IIS 處理序)。
⚠ 極度危險:一旦 ASP 被植入木馬,駭客直接取得 SYSTEM 權限。生產環境嚴禁使用,僅供特殊測試環境參考。

2. 如何防範 ASP 木馬?

針對 FileSystemObject (FSO) 型木馬

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

針對 Shell.Application 型木馬

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

原理: 移除 Guests 群組讀取/執行權限 + 反註冊元件,雙重封殺。若網站確需上傳功能,請改用獨立元件或 .NET 元件替代。

3. 如何加密 ASP 原始碼?

  1. 下載微軟免費工具 sce10chs.exe (Script Encoder) 安裝。
  2. 產生 screnc.exe (命令列工具)。
  3. 執行加密:
    screnc /l vbscript source.asp destination.asp
  4. 產出的 destination.asp 中 `<% ... %>` 內容變為亂碼,瀏覽器正常執行。

限制: 無法加密中文註解/字串;僅支援 VBScript;安全性屬「混淆」非真加密,可被逆向還原。

4. 如何從 IIS Lockdown 工具提取 URLScan?

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

無安裝介面,直接解壓核心檔案至指定目錄,適合自動化部署。

5. 如何防止 Content-Location 標頭洩露內網 IP?

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

設定後 IIS 回應標頭改用主機名稱而非內網 IP,阻斷資訊洩露。

6. 如何解決 HTTP 500 內部錯誤 (IWAM 帳號密碼不同步)?

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

同步 IWAM_機器名 帳號在 COM+ 應用程式中的密碼,修復 90% 以上的 500 錯誤。

7. 如何強化 IIS 抵禦 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 必須設 1,設 2 可能藍屏)
TcpMaxHalfOpen=100:半開連線上限
TcpTimedWaitDelay=30:縮短 TIME_WAIT 至 30 秒,加速連接埠回收

8. 如何防止 .mdb 資料庫被直接下載?

安裝 URLScan (見第 4 點),在 urlscan.ini 中設定 DenyExtensions=.mdb,從根源阻擋靜態檔案洩露。

9. 如何讓 IIS 以最小 NTFS 權限運行?

核心原則:預設拒絕,按需授權。關鍵目錄權限建議:

目錄帳號權限繼承
整顆磁碟SYSTEM, Administrator完全控制✓
\Program Files\Common FilesEveryone讀取/執行, 列出資料夾✓
\Inetpub\wwwrootIUSR_機器名讀取/執行, 列出資料夾, 讀取✓
\Winnt\System32除 inetsrv、centsrv 外所有子目錄移除繼承 → 複製✗
\Winnt除特定系統目錄外移除繼承 → 複製✗
\WinntEveryone讀取/執行, 列出資料夾, 讀取✓
\Winnt\TempEveryone修改✓

⚠ 操作前請完整備份系統,錯誤權限可能導致系統無法開機。

10. 如何隱藏 IIS 版本資訊 (Server 標頭)?

  1. iisreset /stop
  2. 刪除 %SYSTEMROOT%\system32\dllcache 下同名檔案
  3. 使用 16 進位編輯器修改以下 DLL 中的版本字串:
    W3SVC.DLL (Web)、FTPSVC2.DLL (FTP)、SMTPSVC.DLL (SMTP)
  4. 將 Microsoft-IIS/5.0 替換為任意字串 (長度需一致)
  5. iisreset /start

替代方案: URLScan 可直接設定 RemoveServerHeader=1,無需修改系統檔案,更安全易維護。

結語

IIS 安全無終點,唯有「最小權限、及時修補、日誌審計、纏深防禦」四大原則貫徹始終。上述 10 點 FAQ 涵蓋權限、元件、網路、應用層面,建議逐項落實並定期複盤。

Copyright © Windows教程網 All Rights Reserved