萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 健康知識

IIS ASP 網站安全維護進階技巧:從安裝配置到程式碼防護全方位加固

前言:一次 ASP 原始碼洩露引發的重構

作者因卸載 FTP 重裝 IIS 未打最新修補程式,導致 Translate: f 漏洞被利用竊取資料庫連線字串,痛定思痛,全面重構安全策略。

一、安裝階段最小化原則

  • 不安裝 FTP: 功能弱、明文傳密、漏洞多,改用第三方 SFTP/FTPS。
  • 不安裝範例網站/文檔/腳本庫: 歷史證實可從範例站點突破防線。
  • 網站目錄放非系統盤 (如 D:\IISWEB) 自建目錄: 即使 IIS 遭突破,系統檔案倖免。
  • 不安裝 HTML 遠端管理: 埠口隨機但易掃描,改用另一台伺服器管理 IIS。
  • 非必要服務不裝 (NNTP、SMTP): 縮減攻擊面。
  • 不裝索引服務: 動態 ASP 架構不需全文檢索。

二、目錄結構與權限分離

建議結構:

D:\Web\ASPTest\
├── static\   (*.htm)           → Everyone:R
├── script\   (*.asp)           → IIS:R/X, NTFS: Admin+System:F, Everyone:R
├── include\  (*.inc 連線字串)  → NTFS: Everyone:R, IIS:「拒絕讀取」
├── images\   (*.gif, *.jpg)    → Everyone:R

關鍵技巧:include 資料夾 NTFS 允許 Everyone 讀取,但 IIS 設定「拒絕讀取」。ASP 伺服端 可正常讀取 (NTFS 允許),但瀏覽器直接請求 /include/conn.inc 被 IIS 擋下。內建帳號 IUSR_*/IWAM_* 成為精準控制對象。

三、連線字串保護實戰

  1. 建立 conn.inc 變數儲存連線字串。
  2. 放入 include 資料夾。
  3. ASP 頁面 Server.CreateObject("ADODB.Connection") → conn.Open connStr。
  4. IIS 對 include 設定「拒絕讀取」。
  5. 結果:原始碼洩露也看不見連線字串,直接請求 .inc 返回 403/404。

四、其他關鍵加固

  • 腳本對應清理: 移除 .htr (可重設密碼)、.hta (HTML Application 高風險)、.idc (舊式資料連接)、.printer、.htw/.ida/.idq (索引服務) 等不用的對應。
  • 啟用 W3C 擴展日誌: 記錄 Client IP、User、Method、URI、HTTP/Win32 狀態、User-Agent、Server IP/Port。重點監控 Win32 錯誤 5 (存取被拒)。
  • 良好習慣: 訂閱微軟安全公告、準備掃描/模擬攻擊工具、交流安全情報。
  • 防 ASP 原始碼洩露: Win2000 SP1 後仍有一種繞過法,必須套用對應 Hotfix;本文目錄權限法可將風險降至最低。
  • 黑名單封鎖: 日誌/工具發現惡意探測 IP → 站點設定「拒絕存取」,代價為 IIS 執行反向查詢稍增延遲。

安全無絕對,分層防禦、最小權限、持續修補、日誌審計、目錄權限與 IIS 權限雙重審核,構建 ASP 網站生存之道。

copyright © 萬盛學電腦網 all rights reserved