FTP是非常不安全的协议,因为所有密码和所有数据都以明文形式传输。 通过使用TLS,可以对整个通信进行加密,从而使FTP更加安全。 本文介绍如何配置PureFTPd以接受Fedora 18服务器上的TLS会话。
1初步说明
您应该在Fedora 18服务器上安装一个工作的PureFTPd设置,例如本教程所示: 使用PureFTPd和MySQL进行虚拟托管(包括配额和带宽管理)在Fedora 18上 。
2安装OpenSSL
TLS需要OpenSSL; 要安装OpenSSL,我们只需运行:
yum install openssl
3配置PureFTPd
打开/etc/pure-ftpd/pure-ftpd.conf
...
vi /etc/pure-ftpd/pure-ftpd.conf
如果要允许FTP 和 TLS会话,请将TLS
设置为1
:
[...] # This option can accept three values : # 0 : disable SSL/TLS encryption layer (default). # 1 : accept both traditional and encrypted sessions. # 2 : refuse connections that don't use SSL/TLS security mechanisms, # including anonymous sessions. # Do _not_ uncomment this blindly. Be sure that : # 1) Your server has been compiled with SSL/TLS support (--with-tls), # 2) A valid certificate is in place, # 3) Only compatible clients will log in. TLS 1 [...] |
如果您只想接受TLS会话(无FTP),请将TLS
设置为2
:
[...] # This option can accept three values : # 0 : disable SSL/TLS encryption layer (default). # 1 : accept both traditional and encrypted sessions. # 2 : refuse connections that don't use SSL/TLS security mechanisms, # including anonymous sessions. # Do _not_ uncomment this blindly. Be sure that : # 1) Your server has been compiled with SSL/TLS support (--with-tls), # 2) A valid certificate is in place, # 3) Only compatible clients will log in. TLS 2 [...] |
要不允许TLS(仅FTP),请将TLS
设置为0
:
[...] # This option can accept three values : # 0 : disable SSL/TLS encryption layer (default). # 1 : accept both traditional and encrypted sessions. # 2 : refuse connections that don't use SSL/TLS security mechanisms, # including anonymous sessions. # Do _not_ uncomment this blindly. Be sure that : # 1) Your server has been compiled with SSL/TLS support (--with-tls), # 2) A valid certificate is in place, # 3) Only compatible clients will log in. TLS 0 [...] |
4为TLS创建SSL证书
为了使用TLS,我们必须创建SSL证书。 我在/ etc / ssl / private /
中创建它,因此我先创建该目录:
mkdir -p /etc/ssl/private/
之后,我们可以生成SSL证书,如下所示:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
国家名称(2个字母代码)[XX]:
< - 输入您的国家名称(例如,“DE”)。 州或省名(全名)[]:
< - 输入您的州或省名称。 地点名称(例如,城市)[默认城市]:
< - 输入您的城市。 组织名称(如公司)[默认公司有限公司]:
< - 输入您的组织名称(例如您公司的名称)。 组织单位名称(如部分)[]:
< - 输入您的组织单位名称(例如“IT部门”)。 通用名称(例如,您的姓名或服务器的主机名)[]:
< - 输入系统的完全限定域名(例如“server1.example.com”)。 电子邮件地址[]:
< - 输入您的电子邮件地址。
更改SSL证书的权限:
chmod 600 /etc/ssl/private/pure-ftpd.pem
最后重新启动PureFTPd:
systemctl restart pure-ftpd.service
而已。 您现在可以尝试使用FTP客户端连接; 但是,您应该将FTP客户端配置为使用TLS - 请参阅下一章如何使用FileZilla执行此操作。
5配置FileZilla for TLS
为了使用FTP与TLS,您需要一个支持TLS的FTP客户端,如FileZilla 。
在FileZilla中,打开服务器管理器:
选择使用带有TLS的PureFTPd的服务器; 在“ 服务器类型”
下拉菜单中,选择FTPES
而不是普通FTP
:
现在可以连接到服务器。 如果您是第一次这样做,则必须接受服务器的新SSL证书:
如果一切顺利,您现在应该在服务器上登录:
6链接
- PureFTPd: http : //www.pureftpd.org/
- FileZilla: http : //filezilla-project.org/
- Fedora: http : //fedoraproject.org/