如何在 Ubuntu 20.04 LTS 上安裝帶有 TLS 的 ProFTPD

通過 FTP(文件傳輸協議)傳輸文件可能仍然是將文件上傳到服務器的最流行方式之一。 ProFTPD 是一種流行的多功能 FTP 服務器,可作為開源軟件使用,並支持 TLS (SSL) 以實現安全連接。

默認情況下,FTP 是一種不安全的協議,因為密碼和數據以明文形式傳輸。 通過使用 TLS,正如我們在本指南中所做的那樣,所有通信都可以加密,從而使 FTP 更加安全。

本文介紹如何在 Ubuntu 服務器 20.04 LTS 上使用 TLS 配置 proftpd。

先決條件

  1. Ubuntu 服務器 20.04 64 位
  2. sudo/root 權限

我們將在本教程中做什麼

  1. 安裝 ProFTPD 和 TLS。
  2. 配置 ProFTPD。
  3. 添加FTP用戶。
  4. 在 ProFTPD 中配置 TLS。
  5. 測試。

安裝 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 後,您必須調整配置以使其成為功能齊全且安全的服務器。 ProFTPD 配置文件位於 /etc/proftpd/ 目錄中 – 編輯文件 proftpd.conf。

sudo 納米 /etc/proftpd/proftpd.conf

在 Servername 行中,將值替換為您的主機名或域:

服務器名稱“我的 FTP 服務器”

取消註釋 DefaultRoot 行以啟用所有用戶的 jail:

默認根~

並通過以下方式通過systemctl命令重啟ProFTPD。

sudo systemctl 重啟 proftpd

添加 FTP 用戶

有兩種類型的 FTP 用戶可用,匿名 FTP 用戶和“普通”FTP 用戶:

  1. 匿名FTP: FTP 服務器允許任何人訪問,而無需用戶帳戶和密碼。 這不應該在公共服務器上使用,但可能是家庭服務器或公司 LAN 的一個選項。
  2. 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。

添加FTP用戶

現在,配置 ProFTPD 以允許用戶 tom 訪問 FTP 服務器。

sudo nano /etc/proftpd/conf.d/tom.conf

添加此配置文件以允許用戶 tom 登錄並向/從服務器上傳/下載文件:

Umask 022 022 AllowOverwrite off AllowUser tom DenyALL Order Allow,Deny AllowUser tom Deny ALL AllowUser 湯姆拒絕所有

該文件應如下所示:

每個用戶配置文件的 ProFTPD

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。

生成 SSL 證書

接下來,將證書文件權限更改為 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

然後單擊快速連接。

FileZilla 快速連接

單擊“確定”以確認我們的自簽名 SSL 證書。

接受自簽名 SSL 證書

您將看到您已使用 TLS/SSL 證書登錄到 FTP 服務器。

鏈接

  • ProFTPD 軟件項目。 關聯