FTP 伺服器承載企業核心資料交換與異地備份,更是駭客植入木馬、竊取機密的跳板。本文以 Linux 平台 Vsftpd 為例,系統剖析三大用戶類別權限模型,並說明如何依企業安全需求重新歸類用戶、實施最小權限原則,建立纵深防禦體系。
| 用戶類別 | 登入帳號 | 預設主目錄 | 目錄存取範圍 | 適用情境 |
|---|---|---|---|---|
| Real 用戶(真實帳號) | 系統建立的真實帳號 | 帳號同名目錄 | 可切換至其他目錄(含系統根目錄) | 系統管理員、受信任內部人員 |
| Guest 用戶(訪客帳號) | 為部門/專案建立的專用帳號 | 帳號同名目錄 | 僅限主目錄及子目錄,無法越界 | 各部門、外部合作廠商、專案組 |
| Anonymous 用戶(匿名用戶) | 無帳號,以 anonymous/ftp 登入 | 預設 /var/ftp 或指定公開目錄 | 僅限公開目錄,唯讀或限制上傳 | 公開軟體下載、公開文件分享 |
預設陷阱:Vsftpd 預設將所有建立帳號歸為 Real 用戶,導致一般用戶可瀏覽他人目錄、甚至系統敏感區域,嚴重違反最小權限原則。
/etc/vsftpd/vsftpd.conf):# 啟用 Guest 用戶機制
guest_enable=YES
guest_username=ftpsecure # 指定一個低權限系統帳號作為 Guest 映射
# 限制 Real 用戶不得越界(可選)
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list # 列入此檔的用戶不受 chroot 限制
# 匿名用戶設定
anonymous_enable=YES
anon_root=/var/ftp/pub
anon_upload_enable=NO
anon_mkdir_write_enable=NO
ssl_enable=YES、force_local_data_ssl=YES、force_local_logins_ssl=YES。noexec,nodev,nosuid,定期掃毒(ClamAV)。xferlog_enable=YES、log_ftp_protocol=YES,集中收集至 SIEM。cd .. 是否被限制在主目錄?FTP 安全不在於軟體本身,在於「誰能存取什麼」的精細管控。善用 Vsftpd 三類用戶模型,配合 chroot 隔離、FTPS 加密、Fail2ban 動態封鎖,即能將風險壓縮至可接受範圍。