FTP 服務器直接暴露檔案系統於網路,安全性配置稍有疏漏即可能導致資料外洩、惡意刪改或植入後門。本文釐清四大安全目標,並以 Unix/Linux 環境為例,詳細說明帳號驗證機制、/etc/ftpusers 黑名單、匿名 FTP 設定,以及目錄層級權限佈署實作,構建纵深防禦體系。
root、daemon、bin、sys、adm、lp、uucp、nobody 等系統帳號預設加入,防止權限提升攻擊。/etc/passwd 中 必須存在名為 "ftp" 的用戶。anonymous 或 ftp。假設 FTP 根目錄為 /home/ftp,建議權限佈署如下:
| 目錄/檔案 | 擁有者 | 群組 | 權限 (oct) | 權限說明 | 目的 |
|---|---|---|---|---|---|
/home/ftp (根目錄) | ftp | ftp | 555 (r-xr-xr-x) | 所有用戶可讀/進入,不可寫 | 防止惡意在根目錄建立/刪改檔案 |
/home/ftp/bin | root | root | 555 | 系統執行檔 (ls 等) 唯讀 | 保護系統指令不被替換;ls 需可執行 |
/home/ftp/etc | root | root | 555 | 設定檔唯讀 | passwd/group 設 444,並移除 passwd 中加密密碼欄位 |
/home/ftp/pub | ftp | ftp | 777 (rwxrwxrwx) | 所有用戶可讀/寫/執行 | 公開上傳/下載區,配合定期掃毒 |
/home/ftp/etc/passwd:僅保留匿名 FTP 所需帳號 (ftp),刪除密碼雜湊值 (第二欄設為 * 或空),防止密碼破解離線攻擊。/home/ftp/bin/ls:必須保留執行權限,否則用戶無法列表目錄。chroot 至 /home/ftp,無法跳脫至真實系統根目錄。/home/ftp/pub 掛載獨立分區並啟用 quota,防止上傳佔滿系統盤。xferlog 記錄所有傳輸細節 (IP、帳號、檔案、方向、時間),定期異地備份。General → Lock user in home directory / IIS 虛擬目錄映射帳號,實現 chroot 效果。FTP 安全性不在單一設定,而在於 身分驗證 → 目錄隔離 → 權限最小化 → 審計備份 的纵深防禦鏈。Unix 權限模型提供最清晰的實作範本;Windows 平台則透過 NTFS + FTP 服務器內建機制 (Serv-U/IIS) 達成同等效果。定期滲透測試、日誌分析、修補服務器漏洞,才能持續維護 FTP 服務的可信度。