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

Web 伺服器安全強化全攻略:IIS、PHP、MySQL、Serv-U 實戰配置指南

編輯:關於伺服器

Web 伺服器是企業對外服務的前哨站,亦是攻擊者最青睞的目標。本文匯總實戰驗證的安全配置清單,涵蓋 IIS 站台隔離、腳本引擎鎖定、資料庫最小權限、FTP 服務強化四大面向,助您構建纵深防禦體系。

一、IIS 站台與應用程式基礎強化

1. 移除預設風險

  • 刪除「預設網站」及其虛擬目錄,停用預設站台,刪除 C:\inetpub 目錄。
  • 統一配置所有站台的連線數限制、頻寬節流、效能設定。

2. 應用程式對應最小化

  • 僅保留必要副檔名對應:.asp、.php、.cgi、.pl、.aspx。
  • 移除 .asa、.cer、.cdx 等高風險對應。
  • PHP/CGI 採用 ISAPI 模式(php5isapi.dll),避免 php-cgi.exe 帶來的效能與安全隱患。

3. 錯誤資訊與資料庫檔案保護

  • 關閉詳細錯誤回傳給用戶端,改為自訂友善錯誤頁。
  • Access 資料庫(.mdb)映射至無關 DLL(如 ssinc.dll),防止直接下載。

4. 日誌與資訊隱藏

  • 調整 IIS 日誌儲存路徑與記錄欄位(包含 User-Agent、Referer、Cookie 等)。
  • 修改 403 錯誤頁導向非預設頁面,干擾掃描器指紋識別。
  • 使用 banneredit 或 WinHex 修改 HTTP 標頭 Server 欄位,隱藏 IIS 版本資訊。

二、站台目錄權限與腳本防護

1. 目錄結構標準化

FTP根目錄/
├── wwwroot/      ← 站台程式碼(讀取+執行,禁寫入)
├── database/     ← 資料庫備份(唯讀,嚴禁網路存取)
└── logfiles/     ← 站台日誌(唯讀)

2. 精細權限控制

  • 圖片/靜態資源目錄:僅授予「列出目錄內容」權限。
  • 程式目錄:若無動態生成檔案需求(如靜態化輸出),移除寫入權限。
  • 上傳目錄:隔離於獨立分區/磁碟,執行權限設為「無」,防止 Webshell 執行。

3. ASP 經典環境深度清理

regsvr32 /u C:\WINNT\System32\wshom.ocx
del C:\WINNT\System32\wshom.ocx
regsvr32 /u C:\WINNT\system32\shell32.dll
del C:\WINNT\system32\shell32.dll

註銷並刪除 WScript.Shell、Shell.Application、WScript.Network 元件,徹底斷開 ASP Wood馬執行命令、枚舉系統資訊的路徑。注意:此操作不可逆,生產環境請先測試相容性。

4. FSO(FileSystemObject)精準授權

  • 建立兩個應用程式集區群組:Need_FSO 與 No_FSO。
  • 僅授予 Need_FSO 群組對 C:\WINNT\system32\scrrun.dll 的「讀取與執行」權限。
  • 重啟 IIS 生效。適用於手工管理的少量站台,大規模虛擬主機平台建議改用 .NET Core / PHP 等現代框架替代傳統 ASP。

三、PHP 運行環境鎖定

php.ini 關鍵設定

; 權限
C:\winnt\php.ini → Users 唯讀

; 核心安全參數
safe_mode = On
register_globals = Off
allow_url_fopen = Off
display_errors = Off
magic_quotes_gpc = On
open_basedir = "D:\WebRoot"   ; 限制腳本存取路徑
disable_functions = passthru,exec,shell_exec,system,phpinfo,get_cfg_var,popen,chmod
com.allow_dcom = false

四、MySQL 資料庫最小權限原則

  1. 刪除所有預設帳號(''@'%', root@'%' 等),保留 root@localhost 並設定高強度密碼(≥20 字元、混合大小寫數字特殊符號)。
  2. 業務帳號僅授予特定資料庫的 SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER,嚴禁授予 mysql.* 權限。
  3. 回收 SHUTDOWN、RELOAD、PROCESS、FILE 等高危管理權限。
  4. 建立專用 mysql 系統帳號啟動服務,目錄權限最小化:datadir 僅該帳號可讀寫,安裝目錄授予 Users「讀取/列出/執行」。

五、Serv-U FTP 服務強化

  • 安裝最新版,避開預設安裝路徑,目錄 ACL 僅授予服務帳號完全控制。
  • 管理員帳號複雜密碼,修改 Banner 隱藏版本資訊。
  • 被動模式埠口鎖定 4001-4003,防火牆對應放行。
  • 本地伺服器設定:啟用匿名密碼檢查、禁用反逾時排程、攔截 FTP Bounce 與 FXP 攻擊、30 秒內連線超 3 次封鎖 10 分鐘。
  • 域設定:強制複雜密碼、目錄小寫、停用 MDTM 指令修改檔案時間。
  • 服務啟動帳號隔離:建立專用 servu_svc 帳號(不屬於任何群組),授予安裝目錄與 FTP 根目錄完全控制,上層目錄授予「讀取」,移除繼承權限。避免使用 SYSTEM 高權限啟動。

總結:纵深防禦是常態,非一次性專案

上述配置需配合定期修補、弱點掃描、滲透測試、日誌審計與應急響應機制,才能構成完整安全生命週期。記住:沒有絕對安全的伺服器,只有持續被強化的伺服器。

Copyright © Windows教程網 All Rights Reserved