vsftpd是Redhat系统上的默认 的FTP服务器,以安全为目标。
最初的FTP协议是不支持TLS/SSL这种安全连接的,但后来的RFC扩展( RFC4217)提供了这种功能。通过使用这些传输层的加密机制,用户登录时所用 的用户名密码甚至是 FTP的数据传输都会被加密,这样就会阻止网络的窃听。
如同所有其他的TLS/SSL的配置方法一样,第一步就是要有证书。对于不用于 身份表示的应用,我们完全可以产生一个自签名的数字证书,命令如下:
openssl req -x509 -nodes -days 365 -newkey rsa:1024 \ -keyout /etc/vsftpd/vsftpd.pem \ -out /etc/vsftpd/vsftpd.pem
这样我们就在文件/etc/vsftpd/vsftpd.pem中生成了既含有私
钥又含有相应的自签名的公钥证书的文件,这个文件的访问权限需要设成
0600。执行如下命令:
chmod 0600 /etc/vsftpd/vsftpd.pem
证书生成后,我们就需要修改vsftpd的配置文件来使用该证书。另外我们还 需要制定对于用户的登录是否要强制使用TLS/SSL,TLS/SSL的使用是只用于验证 阶段还是也要用于数据传输阶段等等。
下面的配置让vsftp使用TLS/SSL,对用户的登录验证和数据传输都不强制使 用加密。
Created by scwang, send any question tossl_enable=Yes force_local_logins_ssl=No force_local_data_ssl=No rsa_cert_file=/etc/vsftpd/vsftpd.pem
Lastly modified on $Date: 2008-07-15 17:26:04 +0800 (Tue, 15 Jul 2008) $.