在 Ubuntu 上使用 SSL/TLS 設定安全的 FTP 伺服器


在配置啟用 SSL/TLS 的 FTP 伺服器之前,必須在 Ubuntu 上安裝 Vsftpd 和 OpenSSL。接下來要做的就是設定 vsftpd 以使用 OpenSSL 生成的 SSL 證書。更新 vsftpd.conf 檔案以啟用 SSL/TLS 功能,並輸入 SSL 證書和金鑰檔案的位置。修改防火牆的配置以允許 FTP 流量透過必要的埠,通常是埠 21,通常是 21。要應用修改,請重新啟動 vsftpd 服務。伺服器設定完成後,使用者可以使用支援 SSL/TLS 的 FTP 客戶端安全地連線到 FTP 伺服器。因此,敏感資料受到潛在危險的保護,並且伺服器安全性得到增強。由於所有傳輸的資料都被加密了。

使用的方法

  • 使用 vsftpd

  • 使用 Pure-FTPd

使用 Vsftpd

要在 Ubuntu 上設定啟用 SSL/TLS 的 FTP 伺服器,請使用 vsftpd。安裝 vsftpd 和 OpenSSL 後,將其配置為使用新生成的 SSL 證書。要允許 SSL/TLS 功能,請在 vsftpd.conf 檔案中提供證書和金鑰檔案的路徑。根據需要調整其他安全設定。配置防火牆以使用特定埠進行 FTP 流量。重新啟動 vsftpd 以使更改生效。由於現在有支援 SSL/TLS 的 FTP 客戶端,因此使用者可以安全地連線到 FTP 伺服器,從而確保加密的資料傳輸並增強伺服器安全性。

演算法

  • 設定 vsftpd 和 OpenSSL 軟體包。

sudo apt-get update
sudo apt-get install vsftpd openssl
  • 使用 Cobbler 或 Foreman 等自動化配置工具設定 RHEL/CentOS 7 伺服器。這些工具簡化了在結構化環境中管理和分發 Linux 發行版的方法。

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.crt
  • 透過指定 IP 地址、子網掩碼和閘道器來配置伺服器的介面。這確保了伺服器和客戶端機器之間通訊和網路的正確組織。

sudo nano /etc/vsftpd.conf

將不同 Linux 發行版的 ISO 檔案匯入到配置工具的儲存庫中。這些 ISO 檔案包含分發不同 Linux 發行版所需的安裝映像 -

rsa_cert_file=/etc/ssl/certs/vsftpd.crt
rsa_private_key_file=/etc/ssl/private/vsftpd.key
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
  • 在配置工具中定義 Linux 發行版及其相應的安裝映像,以建立引導選單選項。這允許使用者在安裝過程中從多個 Linux 發行版中進行選擇,從而提供靈活性和自定義選項。

  • 透過設定必要的引數來啟用 SSL/TLS 功能。

  • 在設定中指定 SSL 證書和金鑰檔案的位置。

  • 根據需要調整任何其他安全設定(例如啟用加密和禁止匿名訪問)。

  • 更改防火牆設定以允許 FTP 流量透過所選埠(通常是埠 21)。

sudo ufw allow 21/tcp
  • 重新啟動 vsftpd 以使配置更改生效。

sudo service vsftpd restart
  • 透過連線支援 SSL/TLS 的 FTP 客戶端,您可以確保 FTP 伺服器安全執行。

  • 測試檔案傳輸操作以確保加密資料的傳輸。

  • 定期更新伺服器和 SSL/TLS 庫以維護安全性。

使用 Pure-FTPd

可以使用 Ubuntu 的包管理器安裝 Pure-FTPd 並設定安全的 FTP 伺服器。使用 OpenSSL 生成 SSL 證書,然後配置 Pure-FTPd 以使用它。編輯配置檔案以啟用 SSL/TLS 支援,提供證書和金鑰檔案的位置,並設定所需的安全設定。透過更改防火牆設定,應允許 FTP 流量透過正確的埠(預設埠為 21)。重新啟動 Pure-FTPd 服務以使更改生效。現在,使用者可以使用支援 SSL/TLS 的 FTP 客戶端安全地連線到 FTP 伺服器,從而確保加密的資料傳輸並增強伺服器安全性。

演算法

  • 使用 Ubuntu 的包管理器執行 Pure-FTPd。

sudo apt update
sudo apt install pure-ftpd
  • 建立 SSL 證書  透過生成私鑰和建立證書籤名請求 (CSR) 來使用 OpenSSL 生成 SSL 證書。使用所需的金鑰大小、加密演算法和其他引數自定義命令。

sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem -days 365
sudo chmod 600 /etc/ssl/private/pure-ftpd.pem
  • 安裝 Pure-FTPd 以便它可以實施 SSL 證書。

sudo echo "2" > /etc/pure-ftpd/conf/TLS
  • 修改 Pure-FTPd 的設定以啟用 SSL/TLS 操作。

sudo nano /etc/pure-ftpd/conf/TLS

取消註釋或插入以下行 

TLS                          1
  • 指定證書和金鑰檔案路徑  選擇適當的檔案路徑來儲存 SSL 證書和金鑰檔案。這些路徑應在使用 SSL 證書的應用程式或服務使用的配置檔案中精確指定。

sudo echo "/etc/ssl/private/pure-ftpd.pem" > /etc/pure-ftpd/conf/TLS_CERTIFICATE
sudo echo "/etc/ssl/private/pure-ftpd.pem" > /etc/pure-ftpd/conf/TLS_KEY
  • 配置安全設定  在配置檔案中,根據您的需求更改安全設定。這包括指定所需的密碼套件、身份驗證要求以及使用 SSL 證書的應用程式或服務支援的其他相關安全選項。

sudo nano /etc/pure-ftpd/conf/ForcePassiveIP

要啟用任何 IP 地址,請使用“Any”或取消註釋指定的被動 IP 地址。

  • 根據需要更改防火牆配置以允許 FTP 流量透過正確的埠,通常是埠 21。

sudo ufw allow 21/tcp
sudo ufw enable
  • 要實施配置更新,請重新啟動 Pure-FTPd。

sudo service pure-ftpd restart
  • 實施相容 SSL/TLS 的 FTP 客戶端以建立到 FTP 伺服器的測試連線。

  • 確保伺服器和 SSL/TLS 庫定期更新以進行持續的安全管理。

結論

最後但並非最不重要的一點是,在 Ubuntu 上使用 SSL/TLS 設定安全的 FTP 伺服器可以增強資料安全性和保密性。使用者可以安裝和設定 vsftpd 或 Pure-FTPd 來建立使用加密方法的安全連線。建立證書和金鑰檔案的位置、建立和使用 SSL 證書以及啟用 SSL/TLS 功能是關鍵步驟。此外,透過配置防火牆以允許 FTP 流量透過必要的埠,可以確保正確的網路訪問。應定期進行伺服器和 SSL/TLS 庫的修改以保持高安全性。透過採取這些安全措施,使用者可以透過 FTP 安全地傳輸資料,並保護敏感資訊免受未經授權的訪問。

更新於: 2023 年 8 月 3 日

1K+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.