前言:為什麼選 FileZilla Server?
FileZilla Server 是 開源、免費、跨平台 (Windows/Linux/macOS via Wine)、支援 FTP / FTPS (隱式/顯式) / SFTP (需額外 SSH 伺服器) 的輕量級 FTP 伺服器。配置檔為 XML、無註冊表依賴、支援多執行個體、適合嵌入自動化部署。本文涵蓋安裝、全域參數、被動模式 (PASV) 深度解析、使用者/群組權限、FXP、IP 過濾、日誌、安全強化全流程。
安裝與首次啟動
- 官網下載 最新穩定版 (Windows 64-bit Installer)
- 安裝預設路徑
C:\Program Files\FileZilla Server,取消「啟動介面自動啟動」 (改用服務管理)
- 安裝完成 → 啟動 FileZilla Server Interface → 連線
127.0.0.1:14147 (預設管理埠) → 設定管理密碼
全域參數詳細設定 (Edit → Settings)
General Settings
| 參數 | 建議值 | 說明 |
| Listen on Port | 21 (標準) / 2121 (避免掃描) | FTP 控制通道埠,FTPS 隱式模式固定 990 |
| Max Number of Users | 50~200 (視頻寬/CPU) | 並發連線上限,防禦連線耗盡 |
| Number of Threads | 預設 (CPU 核心數) | 處理執行緒數,通常無需調整 |
| Timeouts | Connection: 120s / Transfer: 300s / Login: 60s | 平衡資源釋放與大檔傳輸 |
Welcome Message — 安全資訊隱藏
- 勿使用預設歡迎訊息 (洩露軟體版本、OS)
- 建議:
Welcome to Internal File Service. Unauthorized access prohibited.
IP Filter (IP 過濾器) — 首道防線
- 頂部 (Deny): 預設空,或加入已知惡意 IP 段
- 底部 (Allow): 僅允許授權 IP/網段 (如辦公室
192.168.1.0/24、VPN 池 10.8.0.0/24)
- 規則優先序:Deny 先匹配,Allow 後匹配,未匹配預設拒絕
Passive Mode Settings (被動模式) — 內網伺服器核心痛點
場景: FileZilla Server 部署於 內網 (NAT 後),用戶端從 公網 連線。
問題根因
- 用戶端發送
PASV → 伺服器回應 227 Entering Passive Mode (h1,h2,h3,h4,p1,p2)
- 伺服器預設回報 內網 IP (如 192.168.1.50) + 隨機埠
- 用戶端嘗試連線內網 IP → 失敗
三種解決方案 (擇一)
| 方案 | 設定位置 | 適用條件 | 操作步驟 |
| A. 固定公網 IP | Passive Mode → "Use the following IP" | 伺服器有固定公網 IP (或 NAT 對應固定公網 IP) | 填入公網 IP (如 203.0.113.50);路由器/防火牆 DNAT 公網 IP:21 + PASV 埠範圍 → 內網伺服器 IP |
| B. 動態公網 IP + 外部查詢 | Passive Mode → "Retrieve external IP address from" | 伺服器動態公網 IP (PPPoE/動態 IP) | 勾選 → URL 填 https://ip.filezilla-project.org/ip.php (官方免費 API);啟動間隔 5 分鐘自動更新 |
| C. 用戶端強制使用站點 IP (客戶端配合) | 用戶端軟體設定 | 無法控制伺服器設定 (虛擬主機/受管環境) | FlashFXP: 站點設定 → 勾選「被動模式使用站點 IP」 FileZilla Client: 站點管理器 → 傳輸設定 → 被動模式 → "Use the server's external IP address" |
PASV 埠範圍鎖定 (必做,配合防火牆 DNAT)
- Passive Mode → 勾選 "Use custom port range" →
50000-51000 (1000 個埠,足夠並發)
- 路由器/防火牆:DNAT 公網 IP:50000-51000 → 內網伺服器 IP:50000-51000
- Windows 防火牆:入站規則允許
TCP 50000-51000
Security Settings (安全設定) — FXP 控制
Block incoming server-to-server transfers (FXP):勾選 (預設),禁止外部伺服器主動連入傳檔
Block outgoing server-to-server transfers (FXP):勾選 (預設),禁止本伺服器主動連出傳檔
- 需求 FXP 才取消勾選,並同步調整 IP Filter 允許對端 IP
Admin Interface Settings (管理介面)
- 管理埠:修改非預設 14147 (如 24147),避免掃描
- 允許遠端管理 IP:僅限管理機 IP/跳板機 IP
- 管理密碼:≥20 字元、高熵、定期輪換
Logging (日誌) — 審計與追蹤
- 啟用 Log to file
- 路徑:
C:\Logs\FileZilla\FileZilla_Server_%Y-%m-%d.log (按日切割)
- 大小限制:
10 MB 單檔、保留 30 天
- 格式:含時間戳、用戶、IP、指令、檔案、傳輸位元組、結果碼
使用者與群組權限設計 (Edit → Users / Groups)
群組策略 (推薦)
| 群組 | 權限路徑 | 權限細目 | 用途 |
| Admins | / (根目錄) | 全權 (列表、讀、寫、刪、建目錄、權限管理) | 管理員維護 |
| Uploaders | /Uploads | 列表、讀、寫、建目錄、追加、刪除 (僅自身檔案) | 業務上傳 |
| Downloaders | /Downloads | 列表、讀、下載 | 唯讀下載 |
| Guests | /Public | 列表、讀 | 公開資源 |
使用者帳號設定要點
- 密碼:≥16 字元、高熵,或啟用 公開金鑰認證 (SFTP)
- 啟用 速率限制:
Max download speed: 10 MB/s、Max upload speed: 5 MB/s (防單一用戶佔滿頻寬)
- 啟用 連線數限制:
Max connections per user: 5、Max connections per IP: 10
- 根目錄鎖定:
Force relative paths、Hide hidden files,防止目錄遍歷
安全強化清單 (部署前必核)
[ ] FTPS (Explicit TLS on port 21) 已啟用,憑證有效 (Let's Encrypt / 自簽信任)
[ ] FTP 純文字 (Port 21) 已停用或僅允許內網 IP
[ ] PASV 埠範圍已鎖定 (50000-51000) 並配合防火牆 DNAT
[ ] IP Filter 僅允許授權 IP/網段 (預設拒絕)
[ ] 管理介面埠已修改 (非 14147) 且限制管理 IP
[ ] 管理密碼 ≥20 字元、高熵、定期輪換
[ ] 歡迎訊息不洩露版本/OS
[ ] FXP 雙向封鎖 (除非業務需求)
[ ] 使用者/群組權限最小化、速率限制、連線數限制
[ ] 日誌啟用、按日切割、保留 30 天、集中轉送 SIEM
[ ] 服務帳號為專用低權限帳號 (非 SYSTEM/Administrator)
[ ] 定期更新 FileZilla Server 至最新穩定版
結語:FTP 老協議,新玩法在於「精細控制」
FileZilla Server 以 XML 配置、輕量架構、豐富參數,讓 FTP 這個 1971 年的協議在 2024 年依然能安全、穩定地服務於「內網大檔傳輸、跨平台腳本自動化、舊系統整合」等場景。關鍵在於:被動模式正確配置 (公網 IP + PASV 埠範圍 + DNAT) + IP Filter 預設拒絕 + FTTS 強制加密 + 權限最小化 + 審計日誌完整。部署前跑完上方清單,上線後睡個安穩覺。