FTP(File Transfer Protocol, FTP)是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层。
FTP客户机可以给服务器发出命令来下载文件,上载文件,创建或改变服务器上的目录. FTP服务一般运行在20和21两个端口。端口20用于在客户端和服务器之间传输数据流,而端口21用于传输控制流,并且是命令通向ftp服务器的进口。当数据通过数据流传输时,控制流处于空闲状态。而当控制流空闲很长时间后,客户端的防火墙会将其会话置为超时
优点:
1.促进文件的共享(计算机程序或数据)
2.鼓励间接或者隐式的使用远程计算机
3.向用户屏蔽不同主机中各种文件存储系统的细节
4.可靠和高效的传输数据
缺点:
1.密码和文件内容都使用明文传输,可能产生不希望发生的窃听。
2.因为必须开放一个随机的端口以建立连接,当防火墙存在时,客户端很难过滤处于主动模式下的FTP流量。这个问题通过使用被动模式的FTP得到了很大解决。
3.服务器可能会被告知连接一个第三方计算机的保留端口。
FTP有两种使用模式:主动和被动。主动模式要求客户端和服务器端同时打开并且监听一个端口以建立连接。在这种情况下,客户端由于安装了防火墙会产生一些问题。所以,创立了被动模式。被动模式只要求服务器端产生一个监听相应端口的进程,这样就可以绕过客户端安装了防火墙的问题。
安装文件 vsftpd
编辑 vim /etc/vsftpd/vsftpd.conf
默认是匿名和本地都可登陆 12行和15行
18行 可以写入
22行 local_umask=022 表示传入的东西没有的权限
打开匿名可写入后,匿名登陆的可以往服务器上传东西
匿名账号别的写权限默认是关闭的 (改名字和删除)
添加后重启服务器后就有(改名字和删除)权限了
访问ftp方法
1 命令行
dir 列远程的内容
!dir 列本地内容
cd 远程切换
lcd 本地切换
下载 get mget
上传 put mput
ascii bin
2 浏览器
3 客户端软件 cutftp leapftp flushxp
写入文件的用户切换问题
hroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
只有放置到chroot——list中的帐号可以切换
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
只有没有放置到chroot——list中的帐号可以切换
不能访问的用户
tcp_wrappers=YES
/etc/hosts.allow 允许访问
/etc/hosts.deny 拒绝访问
访问限制
【服务:来源:允许/拒绝】
服务器安全 ftps
FTPS是在安全套接层使用标准的FTP协议和指令的一种增强型FTP协议,为FTP协议和数据通道增加了SSL安全功能。FTPS也称作“FTP-SSL”和“FTP-over-SSL”。SSL是一个在客户机和具有SSL功能的服务器之间的安全连接中对数据进行加密和解密的协议。
不安全 容易泄露重要信息
运用ca认证加密
编辑 /etc/pki/tls/openssl.conf
创建需要的目录和文件
产生密钥
cd /etc/pki/CA
Openssl genrsa 1024 >private/cakey.pem
Chmod 600 private/* 安全的权限
证书 openssl rep –new –key private/cakey.pem –x509 –out cacert.pem
mkdir -pv /etc/vsftpdl/certs
cd /etc/vsftpdl/certs
钥匙
openssl genrsa 1024 >sendmail.key
请求
openssl req -new -key vsftpd.key -out vsftpd.csr
获得证书
openssl ca -in vsftpd.csr -out vsftpd.cert
配置一些打开功能和重定向一些文件
重启服务生效