本教程介绍了如何安装和安全使用的ProFTPd。FTP 没有 TLS 是不安全的,因为所有的密码和所有数据以明文传输。通过使用TLS,整个通信可以被加密,因此FTP使得安全得多。本文介绍如何设置使用的ProFTPd TLS搭建Ubuntu16.04的ftp服务器,如何添加一个FTP用户,并使用FileZilla中与TLS安全连接上。 1初步说明 在本教程中,我将使用的IP地址为192.168.1.100的主机名server1.example.com。这些设置可能与你的不同,所以你不得不在适当情况下更换他们。 因为我们必须从本教程以root权限运行的所有步骤,建议切换到Root账户: sudo -s 我将使用nano编辑在本教程中编辑配置文件。如果你喜欢使用nano也并没有安装它,然后运行这个命令来安装nano。 apt-get -y install nano 2 安装 ProFTPd 和 OpenSSL OpenSSL是TLS的前提;安装ProFTPd的和OpenSSL,我们只需运行: apt-get -y install proftpd openssl 系统将询问:
出于安全原因,你应该添加以下行到文件/etc/proftpd/proftpd.conf中: nano /etc/proftpd/proftpd.conf 配置内容: [...] DefaultRoot ~ ServerIdent on "FTP Server ready." [...] 3 为TLS创建SSL证书 为了使用TLS,我们必须创建一个SSL证书。我创建它在/etc/proftpd/ssl,因此,我首先创建一个目录: mkdir /etc/proftpd/ssl 随后,如下我们可以生成SSL证书: openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem 系统将会询问:
Country Name (2 letter code) [AU]: <– Enter your Country Name (e.g., “DE”). 确保生成的证书文件。 chmod 600 /etc/proftpd/ssl/proftpd.* 4 ProFTPd启用TLS 为了使ProFTPd使用TLS,打开/etc/proftpd/proftpd.conf… nano /etc/proftpd/proftpd.conf …并取消Include /etc/proftpd/tls.conf行: [...] # # This is used for FTPS connections # Include /etc/proftpd/tls.conf [...] 然后打开/etc/proftpd/tls.conf并使它看起来如下: nano /etc/proftpd/tls.conf 编辑内容如下: <IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol TLSv1.2 TLSCipherSuite AES128+EECDH:AES128+EDH TLSOptions NoCertRequest AllowClientRenegotiations TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem TLSVerifyClient off TLSRequired on RequireValidShell no </IfModule> 如果您使用TLSRequired,然后只TLS连接被允许(这将锁定老FTP客户端不具有TLS支持任何用户);注释掉该行或使用TLSRequired同时关闭TLS和非TLS连接取决于什么FTP客户端支持是允许的。 重新启动后ProFTPd: systemctl restart proftpd.service
现在,您可以尝试使用您的FTP客户端来连接;但是,您应该配置您的FTP客户端使用TLS(这是必须的,如果你使用TLSRequired上) – 见下一章如何与FileZilla中做到这一点。 5 添加一个 FTP 用户 因此,在教程中使用ProFTPD的配置验证对Linux系统的用户数据库用户(/ etc / passwd和/ etc / shadow文件)。在这一步,我将增加仅用于FTP登录用户“tom”。 useradd --shell /bin/false tom 然后,我们要创造我们的用户“tom”的主目录,并修改该目录的所有权给用户和组“tom”。
mkdir /home/tom 如果你喜欢设置不同的主目录,使用下面的命令: useradd --home /srv/tomftp --create-home --shell /bin/false tom
该命令设置一个不同的主目录,在该示例的情况下为用户的目录/ SRV/ TFTP。 passwd tom 6 为FileZilla配置TLS
为了使用FTP使用TLS,您需要支持TLS,如FileZilla的FTP客户端。
选择使用ProFTPd的使用TLS的服务器;选择FTP作为协议和FTP上需要明确TLS。
现在,您可以连接到服务器,FileZilla中会要求输入密码。
如果您是第一次做到这一点,你必须接受服务器的新的SSL证书:
如果一切顺利的话,你现在应该记录在服务器上:
(责任编辑:IT) |