通過 FTP(文件傳輸協議)傳輸文件可能仍然是將文件上傳到服務器的最流行方式之一。 ProFTPD 是一種流行的多功能 FTP 服務器,可作為開源軟件使用,並支持 TLS (SSL) 以實現安全連接。
默認情況下,FTP 是一種不安全的協議,因為密碼和數據以明文形式傳輸。 通過使用 TLS,正如我們在本指南中所做的那樣,所有通信都可以加密,從而使 FTP 更加安全。
本文介紹如何在 Ubuntu 服務器 20.04 LTS 上使用 TLS 配置 proftpd。
先決條件
- Ubuntu 服務器 20.04 64 位
- sudo/root 權限
我們將在本教程中做什麼
- 安裝 ProFTPD 和 TLS。
- 配置 ProFTPD。
- 添加FTP用戶。
- 在 ProFTPD 中配置 TLS。
- 測試。
安裝 Proftpd 和 OpenSSL
Proftpd 和 OpenSSL 在 Ubuntu 存儲庫中可用,因此我們可以使用 apt 命令安裝它們:
sudo apt-get install -y proftpd openssl
ProFTPD 安裝如下。 安裝過程不會要求任何輸入。
現在我們將驗證 proFTPD 是否已安裝並啟動。 運行此命令:
sudo proftpd –version
檢查已安裝的 ProFTPD 版本。 接下來,我們將檢查服務狀態,使用 systemctl 命令查詢:
sudo systemctl 狀態 proftpd
配置 ProFTPD
安裝 ProFTPD 後,您必須調整配置以使其成為功能齊全且安全的服務器。 ProFTPD 配置文件位於 /etc/proftpd/ 目錄中 – 編輯文件 proftpd.conf。
sudo 納米 /etc/proftpd/proftpd.conf
在 Servername 行中,將值替換為您的主機名或域:
服務器名稱“我的 FTP 服務器”
取消註釋 DefaultRoot 行以啟用所有用戶的 jail:
默認根~
並通過以下方式通過systemctl命令重啟ProFTPD。
sudo systemctl 重啟 proftpd
添加 FTP 用戶
有兩種類型的 FTP 用戶可用,匿名 FTP 用戶和“普通”FTP 用戶:
- 匿名FTP: FTP 服務器允許任何人訪問,而無需用戶帳戶和密碼。 這不應該在公共服務器上使用,但可能是家庭服務器或公司 LAN 的一個選項。
- FTP用戶: 只有擁有用戶賬號和密碼的人才能訪問FTP服務器。
在為 FTP 服務器創建用戶之前,請將 /bin/false 添加到 /etc/shells 文件中。
sudo echo “/bin/false” >> /etc/shells
現在,創建一個具有特定主目錄的用戶,禁用 shell 訪問,然後將其授予 FTP 服務器。
sudo useradd -m -s /bin/false tom
sudo 密碼湯姆
上面的命令將創建一個名為 tom 的新用戶,其主目錄為 /home/tom/,但沒有 shell 訪問權限 /bin/false。
現在,配置 ProFTPD 以允許用戶 tom 訪問 FTP 服務器。
sudo nano /etc/proftpd/conf.d/tom.conf
添加此配置文件以允許用戶 tom 登錄並向/從服務器上傳/下載文件:
該文件應如下所示:
Save 文件並退出nano。 然後重新啟動 ProFTPD。
sudo systemctl 重啟 proftpd
您可以在此階段使用 FTP,但我們將在下一步中使用 TLS 使其更安全。
使用 proftpd 配置 TLS
要使用 TLS,您必須創建 SSL 證書。 使用 OpenSSL 命令生成 SSL 證書:
sudo openssl req -x509 -newkey rsa:2048 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365
上述命令會在/etc/ssl/certs/目錄下生成證書文件proftpd.crt,在/etc/ssl/private/目錄下生成證書密鑰文件proftpd.key。
接下來,將證書文件權限更改為 600:
sudo chmod 600 /etc/ssl/certs/proftpd.crt
sudo chmod 600 /etc/ssl/private/proftpd.key
現在,回到 /etc/proftpd 目錄並配置 ProFTPD 以使用您生成的 SSL 證書。
納米 /etc/proftpd/proftpd.conf
取消註釋 TLS 行:
包括 /etc/proftpd/tls.conf
Save tls.conf 文件並退出。
接下來,編輯 TLS 配置文件以啟用安全身份驗證:
納米 /etc/proftpd/tls.conf
取消註釋所有這些行:
TLSLog 上的 TLSEngine /var/log/proftpd/tls.log TLSProtocol SSLv23 TLSRSACertificateFile /etc/ssl/certs/proftpd.crt TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key TLSOptions NoCertRequest EnableDiags NoSessionRequireTLSReuseRequired
Save 並退出。 最後一步是重啟 ProFTPD 服務器:
sudo systemctl 重啟 proftpd
測試 ProFTPD
要測試配置,請嘗試使用 FileZilla 等軟件連接到您的 FTP 服務器(我正在使用 FileZilla 此處),並填寫服務器IP、用戶名、密碼和端口:
服務器 IP:192.168.0.100 用戶名:tom 密碼 ***** 端口:21
然後單擊快速連接。
單擊“確定”以確認我們的自簽名 SSL 證書。
您將看到您已使用 TLS/SSL 證書登錄到 FTP 服務器。
鏈接
- ProFTPD 軟件項目。 關聯