FTP的密码和传输内容都是以明文形式发送的,非常不安全,所以在传输机密内容时使用tls连接是非常必要的。
一、在vsftpd中的配置
1.将ftp的证书复制到系统相应的位置
# cp ftp.crt /etc/pki/tls/certs/ftp.crt # cp ftp.key /etc/pki/tls/private/ftp.key
2.修改vsftpd的配置文件中加入以下三行:
# vi /etc/vsftpd/vsftpd.conf ssl_enable=YES rsa_cert_file=/etc/pki/tls/certs/ftp.crt rsa_private_key_file=/etc/pki/tls/private/ftp.key
#如果想开启了匿名用户,而且也要强制其使用tls/ssl通信的话,可以加上以下三行
allow_anon_ssl=YES force_anon_data_ssl=YES force_anon_logins_ssl=YES
3.如果启用防火墙(iptables),还需要加载”ip_nat_ftp”,否则内网用户在使用tls通讯时会被防火墙拦截。
# vi /etc/sysconfig/iptables-config IPTABLES_MODULES="ip_conntrack_netbios_ns ip_conntrack_ftp ip_nat_ftp"
#发现一个新问题,有的机器加载了ip_nat_ftp之后还是无法和数据端口通信,于是我指定了ftp被动端口的范围,并在防火墙上打开了;
# vi /etc/vsftpd/vsftpd.conf
#指定被动端口的范围:
pasv_min_port=60001 pasv_max_port=60010
#插入一条命令
# iptables -I RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --sport 1024: --dport 60001:60010 -j ACCEPT
#保存
# service iptables save
重启iptables或者直接加载模块
# service iptables restart # modprobe ip_nat_ftp
二、在Pure-ftpd中的配置
编译的时候记得加上tls的选项
# cat ftp.key >> /etc/pki/tls/certs/pure-ftpd.pem # cat ftp.crt >> /etc/pki/tls/certs/pure-ftpd.pem # ./configure --with-tls --with-certfile=/etc/pki/tls/certs/pure-ftpd.pem # cp ../configration-file/pure-ftpd.conf /usr/local/etc/ # cp ../configration-file/pure-config.pl /usr/local/sbin/ # chmod 755 /usr/local/sbin/pure-config.pl # echo -e "TLS\t2" >> /usr/local/etc/pure-ftpd.conf # pure-config.pl /usr/local/etc/pure-ftpd.conf
注:pure-ftpd.pem包含了私钥与公钥。
三、客户端的配置
以上两种配置都是强制使用tls连接的,在FTP客户端中必须选择以tls方式连接,连接后客户端会提示安装公钥,接受后就可以连接上ftp服务器了。


![[转]常见的nginx的配置选项](http://www.jiunile.com/wp-content/themes/xupeng/images/random/8.jpg)





最新评论
如何建立自己的特征码呢? 我
怎么修改啊,帮帮忙啊,,,,
你好,我照您的方法做了之后,
可否请教,要如何的调整呢?
拜读……
您这个是是2003的服务器
安装上以后 发现运行了 直接
有点意思,不错!
你QQ号多少?我是智生道顾问
请问你是怎么修改的啊?为什么