ftp简介
FTP(File Transfer Protocol, FTP)是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层。FTP客户机可以给服务器发出命令来下载文件,上载文件,创建或改变服务器上的目录。
FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIME或Unencode一样。但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间会非常长,并且不时的必需执行一些冗长的登陆进程。 FTP服务一般运行在20和21两个端口。端口20用于在客户端和服务器之间传输数据流,而端口21用于传输控制流,并且是命令通向ftp服务器的进口。当数据通过数据流传输时,控制流处于空闲状态。而当控制流空闲很长时间后,客户端的防火墙会将其会话置为超时,这样当大量数据通过防火墙时,会产生一些问题。此时,虽然文件可以成功的传输,但因为控制会话会被防火墙断开,传输会产生一些错误。
Ftps简介
一种多传输协议,相当于加密版的FTP。当你在FTP服务器上收发文件的时候,你面临两个风险。第一个风险是在上载文件的时候为文件加密。第二个风险是,这些文件在你等待接收方下载的时候将停留在FTP服务器上,这时你如何保证这些文件的安全。你的第二个选择(创建一个支持SSL的FTP服务器)能够让你的主机使用一个FTPS连接上载这些文件。这包括使用一个在FTP协议下面的SSL层加密控制和数据通道。一种替代FTPS的协议是安全文件传输协议(SFTP)。这个协议使用SSH文件传输协议加密从客户机到服务器的FTP连接。
FTPS是在安全套接层使用标准的FTP协议和指令的一种增强型TFP协议,为FTP协议和数据通道增加了SSL安全功能。FTPS也称作“FTP-SSL”和“FTP-over-SSL”。SSL是一个在客户机和具有SSL功能的服务器之间的安全连接中对数据进行加密和解密的协议。
创建ftp的步骤。
Mount /dev/cdrom /mnt/cdrom //挂载光盘
Cd /mnt/cdrom/Server //切换到安装包目录
配置yum厂库。
cd /etc/yum.repos.d/
cp rhel-debuginfo.repo localserver.repo
vim localserver.repo
Cd /mnt/cdrom/Server/
Yum install vsftp
启动ftp服务
Service vsftpd start
访问测试
用wireshark抓包工具可以抓的通讯过程中的用户名及密码。
如果你用的本地帐号和密码登录的,被黑客利用了将会遭到被黑的危险,所以在此提倡使用ftps的方式进行文件传输。
创建并配置ftps。
创建CA
Cd /etc/pki/
Vim tls/openssl.cnf
Cd CA/
Mkdir crl certs newcerts
touch index.txt serial
echo "01" > serial
openssl genrsa 1024 >private/cakey.pem //创建CA的私钥
创建CA证书。
更改私钥权限
chmod 600 private/cakey.pem
mkdir /etc/vsftpd/certs
cd /etc/vsftpd/certs/
为ftp产生私钥
openssl genrsa 1024 >vsftpd.key
创建请求文件。
openssl req -new -key vsftpd.key -out vsftpd.csr
创建证书
更改文件权限
chmod 600 *
更改ftp的主配置文档
vim /etc/vsftpd/vsftpd.conf
插入如下内容:
重新启动ftp服务。
Service vsftpd restart
用windows客户端访问结果。
抓包图:
可从观察得知传输的数据和用户名都进行了加密,此时的安全性也就大大提高了。