在Debian 9上使用TLS设置Pure-FTPd

Pure-FTPd是一种快速且轻量级的FTP服务器,其构建时考虑了安全性。在本教程中,我将通过4个简单的步骤向您展示如何安装和使用Pure FTP。本指南说明了如何在Debian 9上安装Pure FTPd。

第一步-安装

Pure-FTPd位于Debian的稳定存储库中,因此无需向系统中添加任何其他存储库。

以root用户特权运行以下命令:

apt install -y pure-ftpd-common pure-ftpd 

第二步-配置

您可以使用许多选项来更改应用程序的行为。这些选项可以在启动时应用于Pure-FTPd的守护程序,也可以通过在conf目录中创建必要的文件来使其持久化。

我们想:

  • 创建虚拟用户。
  • 自动为用户创建主目录。
  • 限制(chroot)用户只能访问自己的主目录。

启用Pure-FTPd的数据库并禁用PAM和Unix身份验证以启用虚拟用户:

ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50pure
echo no > /etc/pure-ftpd/conf/PAMAuthentication
echo no > /etc/pure-ftpd/conf/UnixAuthentication

设置Pure-FTPd为用户首次登录时创建主目录:

echo "yes" > /etc/pure-ftpd/conf/CreateHomeDir

Chroot大家。

echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone

如果您有兴趣了解其他选项,请访问官方文档页面

第三步-创建用户

Pure-FTPd可以处理虚拟用户,这意味着它们被保存在Pure-FTPd的数据库中,并且与Linux系统用户无关。

为了使Pure-FTPd与虚拟用户一起管理文件,我们需要创建一个Linux用户和组,其中将与所有虚拟用户相关联。所有虚拟用户只要已被chroot,都可以使用同一系统用户和组。

运行以下命令以创建系统用户和组:

groupadd ftpusr
useradd -g ftpusr -d /dev/null -s /etc ftpusr

注意:我们不希望该用户具有主目录或登录功能。

创建我们的FTP根目录:

mkdir /home/FTP

在Pure-FTPd中创建虚拟用户:

pure-pw useradd alex -u ftpusr -g ftpusr -d /home/FTP/alex 

我们添加了第一个虚拟用户(alex)并将其与系统用户/组(ftpusr)关联。您写入的所有文件alex将归ftpusr系统所有。

更新Pure-FTPd的数据库:

pure-pw mkdb

查看用户信息:

pure-pw show alex

Login              : alex
Password           : <encrypted password>
UID                : 1000 (ftpusr)
GID                : 1000 (ftpusr)
Directory          : /home/FTP/alex/./
Full name          : 
Download bandwidth : 0 Kb (unlimited)
Upload   bandwidth : 0 Kb (unlimited)
Max files          : 0 (unlimited)
Max size           : 0 Mb (unlimited)
Ratio              : 0:0 (unlimited:unlimited)
Allowed local  IPs : 
Denied  local  IPs : 
Allowed client IPs : 
Denied  client IPs : 
Time restrictions  : 0000-0000 (unlimited)
Max sim sessions   : 0 (unlimited)

为了使生活更轻松,请使用以下脚本添加FTP帐户:

echo -e  '#!/bin/bash\nread -p "Enter UserName: " usrname\npure-pw useradd $usrname -u ftpusr -g ftpusr -d /home/FTP/$usrname && pure-pw mkdb'  > /usr/sbin/ftp-createacc

chmod u+x /usr/sbin/ftp-createacc

现在,创建FTP帐户很简单:

ftp-createacc

Enter UserName: mike
Password: 
Enter it again:

第四步-TLS支持

首先,我们需要安装OpenSSL。

apt install -y openssl

强制Pure-FTPd使用TLS,或者我们可以将其设为可选,这意味着不安全和TLS连接都可以接受

# force TLS
echo 2 > /etc/pure-ftpd/conf/TLS

# insecure + TLS
echo 1 > /etc/pure-ftpd/conf/TLS

创建一个目录来存储我们的密钥。

mkdir -p /etc/ssl/pure-ftpd

生成捆绑密钥(私钥和公钥)。

openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

重新启动pure-ftpd守护程序。

systemctl restart pure-ftpd

如果您的系统上安装了防火墙,或者服务器位于NAT之后,则必须在Pure-FTPd中定义被动端口并在防火墙中打开这些端口,否则您将收到以下错误消息:

Server sent passive reply with unroutable address. Passive mode failed.

Failed to retrieve directory listing.

500 I won't open a connection to 192.168.1.4 (only to 10.10.10.10).

在Pure-FTPd中设置被动端口:

echo "40110 42210" > /etc/pure-ftpd/conf/PassivePortRange

重新启动pure-ftpd以应用更改。

systemctl restart pure-ftpd

在防火墙中,打开输入端口范围4011042210,协议TCP。

FTP本质上是不安全的,但是它设置起来也很容易。为了获得更安全的解决方案,请改用SFTP。

留下評論

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息