Serv-U 作為經典 FTP 伺服器軟體,因安裝簡單、功能強大而廣受青睞,但也因廣泛部署成為攻擊首選目標。歷經 SITE CHMOD 提權、MDTM 漏洞、本地溢出 (預設管理帳號 localadministrator 硬編碼於 ServUDaemon.exe) 等重大漏洞,Serv-U 6.0.0.2 引入管理主控台登入密碼保護機制。本文提供從安裝、服務帳號隔離、登錄權限鎖定、檔案系統 ACL 強化至 IIS 整合隔離的完整纵深防禦配置清單。
C:\Program Files\Serv-U,改為亂碼路徑如 D:\yuj3487Gwer6eJegsf。若 Web 使用者無法瀏覽該磁碟,攻擊者極難猜測路徑。Tray Monitor 圖示雙擊啟動。ServUAdmin.exe 會提示設定密碼 (舊密碼留空)。務必設定高複雜度密碼 (≥20 字元、含特殊符號)。忘記密碼時,刪除 ServUDaemon.ini 中 LocalSetupPassword= 行即可重置。SSERVU,設定高複雜度密碼 (記錄於保險箱/密碼管理器)。Users 群組 (僅保留預設建立時自動加入的群組,或明確加入 Guests 等極低權限群組)。services.msc) → Serv-U FTP Server 右鍵→內容→「登入」→ 選擇「這個帳號」→ 輸入 .\SSERVU 及雙次密碼 → 套用、確定。SYSTEM 權限運行,而是以極低權限 SSERVU 執行。即使發生緩衝區溢出、遠端代碼執行 (RCE),攻擊者也只能取得 SSERVU 權限,無法存取系統核心資源。regedt32 (Win2k/2003) 或 regedit (XP/2003+)。HKEY_LOCAL_MACHINE\SOFTWARE\Cat Soft (Serv-U 設定存放處)。SSERVU 帳號 → 授予「完全控制」權限。SSERVU (即 Serv-U 服務進程) 能讀寫自身配置。Web 惡意腳本、SQL 注入取得的 IUSR_*/NETWORK SERVICE 等低權限身分完全無法竄改 Serv-U 設定 (如新增後門帳號、修改端口、關閉服務)。D:\yuj3487Gwer6eJegsf):
Administrators (完全控制) 與 SSERVU (讀取、執行、列出資料夾內容)。SYSTEM、Users、Everyone 等。D:\Web):
Everyone、Users、SYSTEM。Administrators、IIS 匿名用戶 (如 IUSR_* 或應用程式集區身分 IIS_WPG/IIS_IUSRS) 必要權限 (讀取、執行)。SSERVU 授予「讀取、寫入、列出資料夾內容、修改」 (視 FTP 上傳需求) 權限。D:\): 僅授予 SSERVU「遍歷資料夾/執行檔案」、「列出資料夾/讀取資料」、「讀取屬性」、「讀取擴充屬性」——最小遍歷權限,確保服務能進入子目錄。Serv-U FTP Server 服務 → 應正常啟動 (若失敗,檢查安裝目錄/登錄 ACL 是否遺漏 SSERVU 權限)。IUSR_*) 無法存取 Serv-U 安裝目錄、登錄配置。SYSTEM 無法存取 Web 目錄 (防止 MSSQL xp_cmdshell/備份還原寫入 Web Shell)。SSERVU) 無法存取系統核心資源、註冊表敏感區域、非授權目錄。| 攻擊向量 | 傳統部署風險 | 本方案防禦效果 |
|---|---|---|
| Serv-U 本地溢出/RCE | 取得 SYSTEM 權限,完全控制主機 | 僅取得 SSERVU 低權限,無法橫向移動 |
| Web Shell 上傳 (SQL 注入/上傳漏洞) | 寫入 Web 目錄,執行任意命令 | Web 匿名用戶無寫入權限;SSERVU 無系統權限 |
| MSSQL 備份還原植入 Shell | SYSTEM 權限寫入 Web 目錄 | Web 目錄無 SYSTEM 權限,備份失敗 |
| 竄改 Serv-U 配置 (新增後門) | Web 身分可寫入登錄/配置檔 | 登錄/配置僅 SSERVU 可寫,Web 身分無權限 |
Cat Soft 寫入失敗、安裝目錄存取失敗、服務啟動/停止事件。auditpol 監控關鍵目錄/登錄變更。Serv-U 6.0 安全配置的核心哲學:最小權限執行、配置與資料隔離、身分邊界劃分。透過系統服務帳號降權、登錄/檔案系統 ACL 精細管控,將單一元件受損的衝擊半徑壓縮至最小,構建可驗證、可維運的 FTP 服務安全基線。