FTP 協議歷經數十年仍是企業檔案共享的主力,但明文傳輸與預設開放的特性也使其成為攻擊者的首選目標。本文以 Linux 平台最普及的 vsftpd 為例,系統性說明如何從帳號管控、匿名存取、目錄隔離、頻寬限制四個維度構建纵深防禦體系。
系統帳號(root、daemon、mysql 等)擁有高權限,一旦密碼外洩將導致整台主機淪陷。vsftpd 透過 /etc/vsftpd/ftpusers 黑名單機制預設封鎖這些帳號,強烈建議保留預設值,切勿移除 root 等關鍵帳號。若業務確需專屬 FTP 帳號,應建立僅具 FTP 權限的虛擬使用者,並搭配 PAM 模組實現獨立認證,徹底切斷與系統帳號的關聯。
匿名登入雖便於公開資源下載,卻是惡意程式上傳的高風險入口。建議採用「預設拒絕、按需開放」策略:
遵循最小權限原則,在安全與便利間取得平衡。
設定 chroot_local_user=YES 將每位使用者鎖定於自身根目錄,避免跨目錄竊取資料。同時規劃一個共享公共目錄(如 /var/ftp/public),掛載至各使用者根目錄下,滿足跨部門協作需求而不破壞隔離性。
透過 local_max_rate 參數(單位 Bytes/秒)限制單一連線頻寬,防止大檔案傳輸擠佔頻寬影響郵件、Web 等核心業務。建議:
FTP 安全非單一設定可成,需帳號隔離、權限最小化、目錄寄根、流量整形多層疊加。定期審計 vsftpd.log、啟用 TLS/SSL 加密傳輸、部署入侵偵測系統(如 Fail2Ban),方能構建經得起實戰考驗的檔案傳輸服務。