如何在 Ubuntu 上使用 VSFTPD 安裝 FTP 伺服器?


FTP(檔案傳輸協議)是一種標準的網路協議,用於透過基於 TCP 的網路(如網際網路)在主機之間傳輸檔案。FTP 伺服器允許使用者透過網路上傳和下載檔案,它是檔案共享和遠端檔案訪問的重要工具。在本文中,我們將指導您完成在 Ubuntu 上使用 vsftpd 安裝 FTP 伺服器的過程,vsftpd 是目前最流行的 FTP 伺服器之一。

步驟 1:安裝 VSFTPD

在 Ubuntu 上安裝 FTP 伺服器的第一步是安裝 vsftpd 軟體包。您可以透過在終端中執行以下命令來完成此操作:

sudo apt-get update
sudo apt-get install vsftpd

這將下載並安裝 vsftpd 軟體包以及任何必要的依賴項。

步驟 2:配置 VSFTPD

安裝 vsftpd 後,您需要根據您的需求對其進行配置。vsftpd 的配置檔案位於 /etc/vsftpd.conf。要編輯該檔案,請使用 root 許可權在您喜歡的文字編輯器中開啟它,如下所示:

sudo nano /etc/vsftpd.conf

這將在 Nano 文字編輯器中開啟配置檔案。您可以對檔案進行任何必要的更改,以根據您的需要配置 FTP 伺服器。例如,您可能希望將 FTP 伺服器設定為以獨立模式執行,啟用匿名 FTP 訪問,或限制併發連線數。

步驟 3:啟動 FTP 服務

配置完 vsftpd 後,您需要啟動 FTP 服務。您可以透過在終端中執行以下命令來完成此操作:

sudo systemctl start vsftpd

這將啟動 vsftpd 服務並使其能夠接受傳入連線。您可以使用以下命令檢查其狀態來驗證服務是否正在執行:

sudo systemctl status vsftpd

如果一切正常,您應該會看到一條訊息,表明服務處於活動狀態並正在執行。

步驟 4:配置防火牆規則

預設情況下,Ubuntu 帶有一個名為 UFW(Uncomplicated Firewall)的防火牆,可用於管理網路流量。如果您的系統上啟用了 UFW,則需要允許 FTP 流量透過防火牆。您可以透過執行以下命令來完成此操作:

sudo ufw allow ftp

這將允許在預設 FTP 埠(埠 21)上進行傳入 FTP 流量。

步驟 5:測試 FTP 伺服器

完成 FTP 伺服器的安裝和配置後,您可以透過從另一臺機器連線到它來對其進行測試。您可以使用任何您選擇的 FTP 客戶端(如 FileZilla 或 WinSCP)連線到 FTP 伺服器。要連線到伺服器,您需要知道它的 IP 地址以及在配置過程中設定的使用者名稱和密碼。

步驟 6:配置 SSL/TLS 加密

FTP 預設情況下不是安全的協議,所有資料傳輸都以明文傳送。為了提高 FTP 伺服器的安全性,您可以配置 SSL/TLS 加密以加密伺服器和客戶端之間所有資料傳輸。這可以透過獲取 SSL/TLS 證書並配置 vsftpd.conf 檔案以使用它來完成。

步驟 7:設定使用者帳戶和許可權

預設情況下,vsftpd 允許匿名 FTP 訪問,這意味著任何人都可以連線到您的 FTP 伺服器而無需使用者名稱或密碼。但是,這可能會帶來安全風險,建議停用匿名訪問,並改為設定具有適當許可權的使用者帳戶。您可以使用命令列工具“adduser”和“chmod”分別建立使用者帳戶並設定其許可權。

步驟 8:監控 FTP 伺服器日誌

定期監控 FTP 伺服器日誌以檢測任何可疑活動或未經授權的訪問嘗試是一個好習慣。您可以使用“tail”命令檢視位於“/var/log/vsftpd.log”中的 vsftpd 日誌,該命令會即時顯示檔案的最後幾行。

步驟 9:使用 SFTP 而不是 FTP

FTP 是一種舊協議,存在一些安全漏洞。如果可能,請考慮改用 SFTP(SSH 檔案傳輸協議),它是一種更安全、更現代的協議,使用加密和安全外殼 (SSH) 來傳輸檔案。SFTP 使用與 SSH 相同的 SSH 埠 (22),並且可以在同一 SSH 伺服器上啟用。

步驟 10:使用被動 FTP 模式

FTP 使用兩種模式(主動和被動)在伺服器和客戶端之間傳輸檔案。在主動模式下,伺服器發起資料連線,客戶端偵聽傳入連線,而在被動模式下,客戶端發起控制和資料連線。被動模式更適合防火牆,並且即使客戶端位於 NAT(網路地址轉換)或防火牆後面,也可以連線到 FTP 伺服器。要在 vsftpd 中啟用被動模式,您可以將以下幾行新增到 vsftpd.conf 檔案中:

pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048

這些行將啟用被動模式並指定 vsftpd 將用於資料傳輸的被動埠範圍。

步驟 11:限制 FTP 使用者會話

為了防止 FTP 伺服器過載並確保更好的效能,您可以限制允許連線到伺服器的併發 FTP 使用者會話數。您可以透過將以下行新增到 vsftpd.conf 檔案中來完成此操作:

max_clients=50

此行將併發 FTP 使用者會話數限制為 50,您可以根據需要調整此數字。

步驟 12:使用專用的 FTP 客戶端

雖然有很多 FTP 客戶端可用,但其中一些可能未針對性能或安全性進行最佳化。考慮使用專用的 FTP 客戶端,例如 FileZilla、WinSCP 或 Cyberduck,這些客戶端專為 FTP 檔案傳輸而設計,並具有高階功能,例如恢復和傳輸佇列。

步驟 13:使用 Cron 作業自動化 FTP 傳輸

如果您需要定期在 FTP 伺服器和其他機器之間傳輸檔案,則可以使用 cron 作業來自動化此過程。Cron 作業是一個 Linux 命令,它會按指定的時間間隔(例如每天、每週或每月)自動執行。您可以設定一個 cron 作業來執行一個 FTP 指令碼,該指令碼會自動將檔案傳輸到或從您的 FTP 伺服器傳輸,而無需任何手動干預。

步驟 14:使用 Chroot 監獄

Chroot 監獄是一項安全功能,它將使用者限制在特定目錄中,並阻止他們訪問檔案系統的其他部分。透過使用 Chroot 監獄,您可以增強 FTP 伺服器的安全性,並限制受損使用者帳戶可能造成的損害。要為 vsftpd 設定 Chroot 監獄,您可以將以下行新增到 vsftpd.conf 檔案中:

chroot_local_user=YES

此行將使用者限制在其主目錄中,並阻止他們導航到其他目錄。

步驟 15:啟用 IPv6

IPv6 是網際網路協議的最新版本,與它的前身 IPv4 相比,它提供了許多優勢。透過在 FTP 伺服器上啟用 IPv6,您可以增加其覆蓋範圍並確保它與現代網路相容。要在 vsftpd 中啟用 IPv6,您可以將以下行新增到 vsftpd.conf 檔案中:

listen_ipv6=YES

此行將使 vsftpd 能夠偵聽 IPv6 地址。

步驟 16:備份 FTP 伺服器資料

與任何其他資料儲存系統一樣,FTP 伺服器也可能因硬體故障、系統崩潰或其他不可預見事件而導致資料丟失。為了防止資料丟失,定期備份 FTP 伺服器資料至關重要。您可以使用 Rsync 或 SCP 等工具將檔案傳輸到遠端位置,或使用 Amazon S3 或 Google Drive 等基於雲的備份服務。

步驟 17:強化您的 FTP 伺服器

為了增強 FTP 伺服器的安全性,您可以實施多項安全措施,例如:

  • 停用 root 登入

  • 啟用 SSH 訪問

  • 使用防火牆阻止未經授權的訪問

  • 實施密碼策略

  • 定期安裝安全更新

  • 使用入侵檢測和預防系統

透過遵循這些安全措施,您可以保護您的 FTP 伺服器免受安全威脅,並確保您的資料安全可靠。

結論

在本文中,我們向您展示瞭如何在 Ubuntu 上使用 vsftpd 安裝和配置 FTP 伺服器。透過此設定,您可以輕鬆地在網路上的計算機之間共享檔案,或從世界任何地方遠端訪問檔案。按照這些步驟,您現在應該擁有一個可以用於檔案共享和遠端檔案訪問需求的工作 FTP 伺服器。

更新於: 2023年5月12日

844 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.