PuFTPd是一款免费的开源FTP服务器,其设计考虑了安全性。在本教程中,我们将学习如何使用纯FTPd在Debian10上设置FTP服务器,以及如何实施TLS加密。
纯FTPd功能:
它支持SSL/TLS加密,因此可以保护密码和命令。它可以在大多数类Unix系统上运行:Linux、BSDs、Solaris、Darwin、HPUX、AIX,甚至iPhone。有1种语言可供选择。允许您监视活动会话。支持虚拟配额系统。还有更多
有关完整的功能列表,请访问PuFTPd官方网站。
步骤1:在Debian10服务器上安装PuFTPd
它位于软件存储库中,因此发出以下命令来安装FTP服务器。
sudoapt安装纯ftpd
一旦安装,PuFTPd将自动启动,如下命令所示:
systemctl状态纯ftpd
输出:
●纯ftpd。已加载服务:已加载(/etc/init.d/pu-ftpd;已生成)活动:自01-06-:15:5UTC周三起活动(运行);秒前的文档:man:systemdsysvgenerator(8)任务:1(限制:)内存:97.0KCGroup:/system。切片/纯ftpd。服务└─9纯ftpd(服务器)
如果它没有运行,请用以下代码启动:
sudosystemctl启动纯ftpd
它在TCP端口1上监听,这是控制端口,可以从中看到
sudoss-lnpt
格雷普纯ftpd
另一个端口是数据端口(TCP端口0),用户通过FTP传输文件时将使用该端口。
默认情况下禁用匿名访问。从现在起,您可以使用系统帐户登录,但纯文本FTP是不安全的,强烈建议不要使用。为了有一个安全的FTP服务器,我们需要加密与TLS的通信。
第步:实施TLS加密
要同时启用纯文本和TLS加密,请运行以下命令,创建/etc/pu-ftpd/conf/TLS文件,并将数字1放入该文件中。
echo1
sudo-tee/etc/pu-ftpd/conf/TLS
但建议禁用纯文本,只使用TLS加密,因此将数字改为文件。
echo
sudo-tee/etc/pu-ftpd/conf/TLS
现在我们实施了TLS,我们需要获得有效的TLS证书。不建议使用自签名证书,因为用户会看到如下屏幕截图所示的警告消息。
步骤:从LetsEncrypt获取受信任的TLS证书
运行以下命令,从默认的Debian10存储库安装LetsEncryptclient(certbot)。
sudoapt安装certbot
我建议使用standalone或webroot插件获取纯FTPd的TLS证书。
独立插件
如果Debian10服务器上没有运行web服务器,可以使用独立插件。运行以下命令。别忘了为你的子域设置DNS记录。
sudocertbotcertonly--独立--首选挑战