vsftpd

vsftpd是Redhat系统上的默认 的FTP服务器,以安全为目标。


FTP over TLS/SSL

最初的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的配置文件

证书生成后,我们就需要修改vsftpd的配置文件来使用该证书。另外我们还 需要制定对于用户的登录是否要强制使用TLS/SSL,TLS/SSL的使用是只用于验证 阶段还是也要用于数据传输阶段等等。

下面的配置让vsftp使用TLS/SSL,对用户的登录验证和数据传输都不强制使 用加密。

ssl_enable=Yes
force_local_logins_ssl=No
force_local_data_ssl=No
rsa_cert_file=/etc/vsftpd/vsftpd.pem
	
Created by scwang, send any question to scwang

Lastly modified on $Date: 2008-07-15 17:26:04 +0800 (Tue, 15 Jul 2008) $.