FTP服务器的搭建:简单步骤教程
前陣子幫客戶排查CDN回源慢的問題,發現問題竟出在他們自建的FTP服務器設定上。老實說,現在雲存儲很方便,但有些企業基於資料主權或特殊傳輸需求,還是得自己架FTP。這篇不講虛的,分享我摸爬滾打多年總結的實戰要點,避開那些教科書沒寫的坑。
選軟件別跟風,得看骨子裡的需求。FileZilla Server確實界面友好,新手容易上手,但它的日誌功能在追蹤異常登入時略顯單薄。ProFTPD配置像寫程式,彈性高到能整合系統LDAP,適合有IT團隊的企業。Pure-FTPd?安全機制是真的硬,自動隔離可疑連線這點,在現在暴力破解橫行的環境下很實用。別一上來就裝,先用虛擬機試手,摸清脾氣再說。
開端口不是填個21就完事。被動模式(PASV)的動態端口範圍才是關鍵。我見過太多人直接開10000-20000,結果被當成DDoS反射源。狠一點,限定在1024-65535裡劃個小區塊,比如5000-5020,防火牆規則跟著收緊。雲主機記得安全組雙向放行,別只顧著入站,FTP的數據通道是雙向通訊。
用戶權限這塊栽跟頭的最多。別用root跑服務!新建專屬系統用戶,權限給到剛好能讀寫目標目錄就行。重點是chroot jail——把用戶鎖死在自家目錄裡,這步漏了,黑客傳個後門腳本就能橫掃整台服務器。虛擬用戶密碼用SHA256雜湊,別再用老舊的DES了。
傳輸加密現在是標配。自簽憑證應急可以,但瀏覽器會瘋狂跳警告。Let\’s Encrypt免費三個月續期一次,搭配cron自動化,省心又專業。強制啟用TLS 1.2以上,那些老舊的SSLv3協議根本是開後門迎客。用openssl s_client -connect localhost:21 -starttls ftp 測一把,看到「Secure Renegotiation」才放心。
安全加固得像洋蔥,一層層來。Fail2ban必裝,設定連錯三次密碼鎖IP半小時,擋掉九成暴力破解。IP白名單最好用,非必要不開外網。定時撈日誌用grep篩異常登入記錄,那些深夜來自奇怪國度的連線嘗試,多半不是善茬。防火牆規則每季檢視,沒用的舊規則就是攻擊面。
效能調優藏在細節裡。線程數別瞎設,看CPU有幾核。記憶體緩衝區大小影響大檔傳輸,但設太大當心OOM殺手。最隱蔽的是TCP參數——net.ipv4.tcp_tw_recycle早被Linux棄用,開著反而可能斷連。tcp_fin_timeout調到30秒,加快釋放連接資源。用iftop盯著,看到異常流量暴增先斷網再查。
上線前拿自家電腦測不夠。找台跨國VPS模擬遠端用戶,實際拖個大檔看速度曲線。用Wireshark抓包,檢查TLS握手是否完整、PASV端口是否正確通告。最後,寫份檢查清單:備份設定檔、告警通知設好了嗎?防火牆重啟規則還在嗎?這步省了,半夜被call醒別後悔。
架FTP像養看門狗,餵飽設定只是開始,定期巡邏才是真功夫。碰到CDN回源卡頓,先查FTP的PASV端口是不是被雲廠商防火牆誤殺了。這些年看過太多企業卡在基礎服務上,錢砸給高級CDN套餐卻忘了源頭水管沒通暢,可惜了。
评论: