一、简介
        ftp文件传输是一种明文的传输方式,通过抓包工具可以轻易的截取用户的传输内容以及密
    码等信息,所以需要一种更安全的传输机制。
        ftp的安全传输方式有多种,例如:ftps和sftp。但是最经常用的应该是基于ssl的FTPS,
    它通过ssl安全机制对ftp的传输内容进行加密。
FTPS是在安全套接层使用标准的FTP协议和指令的一种增强型TFP协议,为FTP协议和
数据通道增加了SSL安全功能。FTPS也称作“FTP-SSL”和“FTP-over-SSL”。SSL是一个在客户
机和具有SSL功能的服务器之间的安全连接中对数据进行加密和解密的协议。
二、SFTP和FTPS之间的区别
都是为ftp连接加密,协议非常相似。一个是借助ssl协议加密,一个时借助ssh加密。
Ssl 是为http/smtp等加密设计的,ssh是为telnet/ftp等加密、建立传输通道而设计的。
三、FTPS的实现
(1)实验所需安装的包
         Redhat linux 5.4
          mod_ssl-2.2.3-31.el5.i386.rpm   #ssl
          vsftpd-2.0.5-16.el5.i386.rpm     #ftp
          wireshark-1.0.8-1.el5_3.1.i386.rpm  #抓包工具(测试使用)
(2)FTPS环境搭建过程
     [root@localhost ~]# mount /dev/cdrom /mnt/cdrom/
     [root@localhost ~]# cd /mnt/cdrom/Server/
     [root@localhost Server]# yum install -y  mod_ssl-2.2.3-31.el5.i386.rpm
     [root@localhost Server]# yum install -y  vsftpd-2.0.5-16.el5.i386.rpm 
     [root@localhost Server]# yum install -y wireshark
      下面进行CA的创建:
       [root@localhost Server]# cd /etc/pki/
       [root@localhost pki]# ll
wps_clip_p_w_picpath-5571
      [root@localhost pki]# vim tls/openssl.cnf
wps_clip_p_w_picpath-5574
wps_clip_p_w_picpath-12160
说明:可以通过 :88,90 s/match/optional  命令进行快速修改
[root@localhost pki]# cd CA/
[root@localhost CA]# mkdir crl certs newcerts  #建立所对应的目录
[root@localhost CA]# touch index.txt serial   #创建所需要的文件
[root@localhost CA]# ll
wps_clip_p_w_picpath-20178
   [root@localhost CA]# echo "01" >serial    #将序号01追加到serial中
   [root@localhost CA]# cat serial 
   [root@localhost CA]# openssl genrsa 1024 >private/cakey.pem  #创建ca的私钥
   [root@localhost CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650    
   #创建ca的证书
wps_clip_p_w_picpath-21133
   [root@localhost CA]# chmod 600 private/cakey.pem #修改权限,安全考虑
   [root@localhost CA]# cd /etc/vsftpd/
   [root@localhost vsftpd]# mkdir certs
   [root@localhost vsftpd]# cd certs/
   [root@localhost certs]# openssl genrsa 1024 >vsftpd.key   #产生FTP的私钥
   [root@localhost certs]# openssl req -new -key vsftpd.key -out vsftpd.csr #产生FTP的证书请求文件
  wps_clip_p_w_picpath-27836   
  [root@localhost certs]# openssl ca -in vsftpd.csr -out vsftpd.cert  #CA颁发证书给FTP
wps_clip_p_w_picpath-3774
[root@localhost certs]# chmod 600 *
[root@localhost certs]# vim /etc/vsftpd/vsftpd.conf  #编辑ftp的配置文件
wps_clip_p_w_picpath-29948
[root@localhost certs]# service  vsftpd restart
至此FTPS的环境已经搭建完毕,下面我们就来进行抓包测试,看是否能看到用户的信息:
ftp的连接本人使用的是flashfxp客户端
wps_clip_p_w_picpath-17317
我们先在ftp服务器上进行抓包,在进行ftp的连接,观察所抓到的包的情况;
[root@localhost ~]# tshark -ni eth0 -R "tcp.dstport eq 21"  #在eth0上的21端口进行抓包
wps_clip_p_w_picpath-24812
在不用ftps时:
wps_clip_p_w_picpath-1282
wps_clip_p_w_picpath-7668
使用ftps后:
wps_clip_p_w_picpath-6322
wps_clip_p_w_picpath-6183
说明:已经加密,所以看不到了,这样显得更安全。