FTP是一个非常不安全的传输协议,登陆密码和数据都以明文的方式在网络上传输,通过使用TLS,所有的会话可以被加密,本教程阐述了如何在Ubuntu 10.04 上安装部署ProFTPd(支持TLS),让VPS使用FTP时更安全。
1、准备
假定VPS已设置主机名为host1.sudu.cn,IP地址为192.168.0.100,并能正常连通外网。
所有的安装步骤必须使用root权限,使用以下这个命令可以将权限提升为root
sudo su
2、安装ProFTPd和OpenSSL
为了让VPS支持TLS,需要安装OpenSSL,安装ProFTPd和OpenSSL需要运行以下命令:
aptitude install proftpd openssl
安装期间提示以哪种方式运行ProFTPd,选择standalone
安装完成后建议修改/etc/proftpd/proftpd.conf配置以下3个参数以增强安全性
DefaultRoot ~
IdentLookups off
ServerIdent on "FTP Server ready."
3、为TLS创建SSL证书
为了正常使用TLS,需要创建SSL证书,将证书创建在/etc/proftpd/ssl目录
mkdir /etc/proftpd/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]: <-- 输入国家代码,这里填写CN
State or Province Name (full name) [Some-State]: <-- 输入省份/市 名称
Locality Name (eg, city) []: <-- 输入地方名称
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- 输入组织名称,例如公司
Organizational Unit Name (eg, section) []: <-- 输入组织单元名称,例如公司部门
Common Name (eg, YOUR name) []: <-- 输入主机名
Email Address []: <-- 输入Email地址
4、在ProFTPd中启用TLS
编辑/etc/proftpd/proftpd.conf
vi /etc/proftpd/proftpd.conf
将Include /etc/proftpd/tls.conf一行前的注释符号 # 删掉
编辑/etc/proftpd/tls.conf
vi /etc/proftpd/tls.conf
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSOptions NoCertRequest AllowClientRenegotiations
TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient off
TLSRequired on
TLSRequired参数如果设置为on,VPS只接受安全的TLS连接,使用普通方式无法连接FTP。
重启ProFTPd
/etc/init.d/proftpd restart
如果在使用TLS方式时遇到故障,可以查阅日志文件/var/log/proftpd/tls.log