补充: 配置vsftpd,使用SSL证书加密数据传输[测试通过]
FTP与HTTP一样缺省状态都是基于明文传输,希望FTP服务器端与客户端传输保证安全,可以为FTP配置SSL
1, 使用OpenSSL生成自签证书
# cd /etc/vsftpd/
# openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem -days 3560
Generating a 2048 bit RSA private key
..........................................................................................+++
.....................+++
writing new private key to 'vsftpd.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:ZH (国家 ZH是中国)
State or Province Name (full name) []:YN (省市 YN是云南)
Locality Name (eg, city) [Default City]:KM (城市 KM是昆明)
Organization Name (eg, company) [Default Company Ltd]:WB (机构名称 WB是水熊虫缩写)
Organizational Unit Name (eg, section) []:WB (组织单位名称 WB是水熊虫缩写)
Common Name (eg, your name or your server's hostname) []:WB (通用名称 WB是水熊虫缩写)
Email Address []:[email protected] (电子邮箱;随你自己)
以上信息是用于生成CSR文件使用的。
OpenSSL 简单参数解释:
req - 是 X.509 Certificate Signing Request (CSR,证书签名请求)管理的一个命令。
x509 - X.509 证书数据管理。
days - 定义证书的有效日期。
newkey - 指定证书密钥处理器。
keyout - 设置密钥存储文件。
out - 设置证书存储文件,注意证书和密钥都保存在一个相同的文件
2,创建证书文件存放目录
# mkdir .sslkey # cp vsftpd.pem .sslkey/ # chmod 400 .sslkey/vsftpd.pem
3, 修改配置文件,支持SSL
# vim vsftpd.conf
添加如下配置:
#启用SSL支持 ssl_enable=YES allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES force_anon_logins_ssl=YES force_anon_data_ssl=YES #上面四行 force 表示强制匿名用户使用加密登陆和数据传输。 #指定 vsftpd 支持 TLS v1。 ssl_tlsv1=YES #指定 vsftpd 支持 SSL v2。 ssl_sslv2=YES #指定 vsftpd 支持 SSL v3。 ssl_sslv3=YES #不重用 SSL 会话,安全配置项 。 require_ssl_reuse=NO #允许用于加密SSL连接的SSL算法。这可以极大地限制那些尝试发现使用存在缺陷的特定算法的攻击者。 ssl_ciphers=HIGH #定义 SSL 证书和密钥文件的位置。 rsa_cert_file=/etc/vsftpd/.sshkey/vsftpd.pem rsa_private_key_file=/etc/vsftpd/.sshkey/vsftpd.pem
注意:上面的配置项不要添加到vsftpd.conf 文件最后,否则启动报错
4,配置FileZilla客户端验证:
连接成功,发现可以使用TLS加密传输了
注意: 在工作中,内网FTP传输,可以不用证书加密传输
如果FTP服务器在公网,为了数据的安全性,就一定要配置证书加密传输