vsftpd增加ssl加密功能

说明:
本文实现vsftpd添加ssl加密功能。

实现:
1.检查vsftpd是否支持ssl模块。如果你的 vsftpd当初编译的时候没有支持SSL模块,那么只能重新编译vsftpd。 CentOS下是否有支持ssl模块可以

# ldd $(which vsftpd) | grep ssl
        libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007f0587879000)

如果有出现 libssl.so 的字样,就是有支持!这样才能够继续下一步呦!

2.建立专门给vsftpd使用的凭证数据。CentOS有一个建立凭证的地方/etc/pki/tls/certs/

# cd /etc/pki/tls/certs
# make vsftpd.pem
----- ....(前面省略)....
Country Name (2 letter code) [XX]:cn
State or Province Name (full name) []:Fujian
Locality Name (eg, city) [Default City]:Xiamen
Organization Name (eg, company) [Default Company Ltd]:Gaingreat
Organizational Unit Name (eg, section) []:GG
Common Name (eg, your name or your server's hostname) []:gaingreat.com
Email Address []:gaingreat@gmail.com

 

# cp -a vsftpd.pem /etc/vsftpd/
# ll /etc/vsftpd/vsftpd.pem
-rw-------. 1 root root 3116 2011-08-08 16:52 /etc/vsftpd/vsftpd.pem  //要注意权限

 
3. 修改vsftpd.conf的配置文件,内容如下

ssl_enable=YES  #是否使用ssl
allow_anon_ssl=NO  #是否允许匿名用户使用ssl
force_local_data_ssl=YES  #强制数据使用ssl传输
force_local_logins_ssl=YES  #强制登陆使用sll
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES  #开启sslv3,上同
rsa_cert_file=/etc/vsftpd/vsftpd.pem #使用/etc/vsftpd/vsftpd.pem认证文件

 
附录:
想一想,既然有了 SFTP 可以进行加密的 FTP 传输,那为何需要 ftps 呢?
因为既然要开放 SFTP 的话,就得要同时放行 sshd 亦即是 ssh 的联机,如此一来,你的 port 22 很可能会常常被侦测~若是 openssl, openssh 出问题,恐怕你的系统就会被绑架。如果你的 FTP 真的有必要存在,那么透过 ftps 以及利用 vsftpd 这个较为安全的服务器软件来架设, 理论上,是要比 sftp 来的安全些~至少对 Internet 放行 ftps 还不会觉得很可怕…

发表评论

邮箱地址不会被公开。 必填项已用*标注