[root@localhost Server]# yum install -y wireshark
基于ssl的ftp安全文件传输------------ftps
原创
©著作权归作者所有:来自51CTO博客作者cgcyz123的原创作品,请联系作者获取转载授权,否则将追究法律责任
一、简介
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
[root@localhost Server]# yum install -y wireshark
下面进行CA的创建:
[root@localhost Server]# cd /etc/pki/
[root@localhost pki]# ll
[root@localhost pki]# vim tls/openssl.cnf
说明:可以通过 :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
[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的证书
[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的证书请求文件
[root@localhost certs]# openssl ca -in vsftpd.csr -out vsftpd.cert #CA颁发证书给FTP
[root@localhost certs]# chmod 600 *
[root@localhost certs]# vim /etc/vsftpd/vsftpd.conf #编辑ftp的配置文件
[root@localhost certs]# service vsftpd restart
至此FTPS的环境已经搭建完毕,下面我们就来进行抓包测试,看是否能看到用户的信息:
ftp的连接本人使用的是flashfxp客户端
我们先在ftp服务器上进行抓包,在进行ftp的连接,观察所抓到的包的情况;
[root@localhost ~]# tshark -ni eth0 -R "tcp.dstport eq 21" #在eth0上的21端口进行抓包
在不用ftps时:
使用ftps后:
说明:已经加密,所以看不到了,这样显得更安全。
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
文件传输协议FTP
文件传输协议FTP1.文件传送协议2.FTP服务器和用户端3.FTP工作原理
计算机网络 ftp服务器 文件传输协议 工作原理 文件传送协议