如何在AlmaLinux上安装带有TLS的ProFTPD

名为 ProFTPD 的开源 FTP 服务器 有一个代表 Pro FTP Daemon 的名称。

显示所有产品

了解如何安装 ProFTPD 阿尔玛Linux 传输层安全 (TLS),以及如何访问它 ProFTPD服务器 通过 FileZilla 以匿名用户身份使用 TLS。

什么是 ProFTPD?

ProFTPD 得到改进、安全且完全可定制 文件传输协议 (FTP) 服务器。 其配置语法与 Apache HTTP服务器。 其灵活的服务器基础架构支持多个虚拟 FTP 服务器、匿名 FTP 和基于权限的目录可见性。 它具有虚拟主机、SSL/TLS 加密等高级功能 轻量级目录访问协议 (LDAP) 身份验证。

要求

  • 操作系统及版本: 阿尔玛Linux操作系统8
  • 以 root 身份访问 AlmaLinux 系统,包括使用它的能力 sudo 命令或作为 admin 具有适当的用户 admin 特权。

在AlmaLinux上安装带有TLS的ProFTPD

步骤一:激活企业附加包 Linux (EPEL) 存储库

ProFTPD 不包含在供货范围内 AlmaLinux 标准存储库(“Repo”), 所以你需要安装它 EPEL 存储库 在您的 AlmaLinux 系统上。 您可以通过运行以下命令来安装 EPEL 存储库:

~]# yum -y install epel-release

第 2 步:导入 EPEL GPG 密钥

您可以通过运行以下命令导入 EPEL GPG 密钥:

~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8

第3步:更新您的AlmaLinux系统

您可以通过运行以下命令来更新您的AlmaLinux系统:

~]# yum -y update

步骤 4:安装 ProFTPD 和 OpenSSL

您可以安装AlmaLinux和ProFTPD 开放式SSL 通过运行以下命令:

~]# yum install -y proftpd openssl proftpd-utils

您可以运行以下命令,这将启动 ProFTPD 服务,使其在启动时自动启动:

~]# systemctl start proftpd.service
~]# systemctl enable proftpd.service 

步骤5:配置防火墙开放FTP端口

如果你有 已安装防火墙您可以使用firewall-cmd配置防火墙并打开FTP端口:

~]# firewall-cmd --add-port=21/tcp --permanent
~]# firewall-cmd --reload

这是输出:

[root@proftpd-almalinux ~]# firewall-cmd --add-port=21/tcp --permanent
success
[root@proftpd-almalinux ~]# firewall-cmd --reload
success

您可以运行以下命令来确认打开的收件箱 端口21:

~]# firewall-cmd --list-ports

这是输出:

[root@proftpd-almalinux ~]# firewall-cmd --list-ports 
21/tcp

第6步:检查ProFTPD版本

您可以运行以下命令来检查 ProFTPD 版本:

~]# proftpd -v 

这是输出:

[root@proftpd-almalinux ~]# proftpd -v 
ProFTPD Version 1.3.6e 

步骤7:创建ProFTPD用户

您需要为 ProFTPD 用户创建组和主目录。 您可以通过运行以下命令为 ProFTPD 用户创建组。

~]# groupadd <groupname>

运行以下命令创建新用户:

~]# useradd -G <groupname> <ProFTPD user> -s /sbin/nologin -d <Home directory>
~]# passwd <ProFTPD user>

然后您可以设置用户主目录的权限:

~]# chmod -R 1750 <home directory>

例如该组 专业组用户 努法尔, 和主目录 FTP共享 是为用户创建的。

这是输出:

[root@proftpd-almalinux ~]# groupadd proftpdgroup 
[root@proftpd-almalinux ~]# useradd -G proftpdgroup noufal -s /sbin/nologin -d /ftpshare
[root@proftpd-almalinux ~]# passwd noufal 
Changing password for user noufal.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@proftpd-almalinux ~]# chmod -R 1750 /ftpshare 

步骤 8:在 ProFTPD 中启用 TLS

要在 ProFTPD 中启用 TLS,请导航至 /etc/proftpd.conf 并添加以下行。 建议修改前先备份原文件:

#<IfDefine TLS>
TLSEngine                    on
TLSRequired                  on
TLSRSACertificateFile        /etc/pki/tls/certs/proftpd.pem
TLSRSACertificateKeyFile     /etc/pki/tls/certs/proftpd.pem
TLSCipherSuite               ALL:!ADH:!DES
TLSOptions                   NoCertRequest
TLSVerifyClient              off
TLSRenegotiate               ctrl 3600 data 512000 required off timeout 300
TLSLog                       /var/log/proftpd/tls.log
#</IfDefine>

为了允许客户访问 ProFTPD 并以被动模式安全地传输文件,请打开之间的整个端口范围 102465534 通过运行以下命令在防火墙上:

~]# firewall-cmd --add-port=1024-65534/tcp  
~]# firewall-cmd --add-port=1024-65534/tcp --permanent
~]# firewall-cmd --list-ports
~]# firewall-cmd --list-services
~]# firewall-cmd --reload

您可以通过运行以下命令来通知 提高安全性 Linux (SELinux) 允许对文件进行读/写访问:

setsebool -P allow_ftpd_full_access=1 

为了能够使用 TLS,您必须首先生成 SSL 证书。 您可以在中生成 SSL 证书 /etc/pki/tls/certs 通过运行以下命令:

~]# openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem

根据您的要求,您可以提供以下信息:

Country Name (2 letter code) [XX]:
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:
Email Address []:

出于安全原因,您可以通过运行以下命令将证书设置为只读:

chmod 0440 /etc/pki/tls/certs/proftpd.pem

然后你就可以打开它 /etc/sysconfig/proftpd 文件并对其进行以下更改:

FROM:
PROFTPD_OPTIONS=""

TO:
PROFTPD_OPTIONS="-DTLS"

最后,通过运行以下命令重新启动 ProFTPD 服务以应用更改:

~]# systemctl restart proftpd.service

步骤 9:ProFTPD 中的匿名 FTP 访问(可选)

请注意,允许匿名 FTP 访问可能会带来安全风险,因为通过此方法访问您的服务器的用户将不会被记录。

将以下行添加到 ProFTPD 配置文件的末尾 /etc/proftpd.conf 创建匿名 FTP 帐户:

###Anonymous share#####
<Anonymous ~ftp>
  User ftp
  Group ftp

UserAlias anonymous ftp
DirFakeUser       on ftp 
DirFakeGroup on ftp
MaxClients 10

    <Directory *>    
<Limit WRITE>     
DenyAll   
</Limit> 
    </Directory>

</Anonymous>

然后您需要重新启动 FTP 服务以使更改生效:

~]# systemctl restart proftpd.service

第10步:使用FileZilla访问ProFTPD服务器

通过 TLS 访问 ProFTPD 服务器 文件齐拉请按照以下步骤操作。

转到文件并单击站点管理器,根据您的需要填写以下详细信息。

这是示例输出:

输入详细信息后,单击“连接”,系统将要求您提供信任证书:

单击“确定”按钮。 它将使用 TLS 连接到 FTP 共享目录:

您还可以按照以下步骤连接到 FileZilla 的匿名帐户:

  1. 转到文件并单击站点管理器。
  2. 选择 FTP 作为协议,输入主机详细信息并将“需要基于 TLS 的显式 FTP”设置为加密。
  3. 将登录类型设置为“匿名”。

单击“连接”。 使用匿名用户建立与服务器的连接。

概括

默认情况下,FTP 是不安全的协议,因为 密码和数据以明文形式传输。 支持 ProFTPD TLS 作为安全套接字层 (SSL) 的后继者 用于安全连接。 我们的客户知道 提高安全性是支柱 Liquid 网络托管业务的负责人。

收到 Cloud 专用托管

TLS 允许对所有通信进行加密,使 FTP 更加安全。 本教程将向您展示如何使用 TLS 安装 ProFTPD AlmaLinux 并通过 FileZilla 以匿名用户身份通过​​ TLS 连接到 ProFTPD 服务器。 我们的团队将很乐意为您提供帮助并回答您的问题 优化由 Liquid Web 托管的网站

与我们聊天