安全,是我们一直以来的一个共同的话题,ftp服务器也不例外。而现在,我们对ftp服务的需要也是众所周知的,因为速度快,方便。这时我们同时会考虑到账户和密码以及传输数据等的安全问题,因为ftp的数据传输都是明文的。为更好的提升安全度,就需要对其安全策略有一定的了解。其安全策略又是如何发挥作用的呢,在此,或许会豁然开朗。
首先来安装FTP服务器:
为了后来说明问题,这里还要把抓包工具装上:
把ftp服务起来:
创建一个用户用来测试用:
启用抓包来测试一下没有任何安装措施时会出现什么情况:
tshark -ni eth0 -R "tcp.dstport eq 21"
抓包结果为:
由抓包结果可知,所有的信息都完全暴漏了,这是我们所不愿看到的,由此知,对ftp实行安全策略显得多么的重要
为了实现安全性,可以采用CA来进行捆绑。
既然要利用CA,接下来就是搭建CA了
切换到cd /etc/pki/tls/目录下,编辑配置文件vim openssl.cnf :
接着该几个默认值(根据自己的需求该)
然后到CA目录下创建三个目录,两个文件,并给其中一个文件一初始值:
创建私钥文件:
更改权限:
chmod 600 private/cakey.pem
产生证书:
openssl req -new -x509 -key private/cakey.pem -out cacert.pem(里面填写的内容可以随意)
下面就是为ftp做证书,在做证书时,首先要有私钥和请求
生成私钥:
创建一目录来存放证书:
mkdir -pv /etc/vsftpd/certs
cd /etc/vsftpd/certs/
更改权限:
chmod 600 vsftp.key
产生请求:
openssl req -new -key vsftp.key -out vsftp.crq(里面填写的内容依然随意填)
产生证书:
openssl ca -in vsftp.crq -out vsftp.cert
至此,证书就生成了。
接着就是将证书和ftp进行捆绑
vim /etc/vsftpd/vsftpd.conf
重新启动ftp服务
service vsftpd restart
测试
利用标准的ftp客户端来测试
抓包工具抓取的信息为:
可以发现没有任何有价值的信息,说明,CA与ftp连接成功了,也就实现了ftp的安全性。