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

 

FTP服务器_target

 

编辑 vim /etc/vsftpd/vsftpd.conf

默认是匿名和本地都可登陆 12行和15行

18行 可以写入

22行 local_umask=022 表示传入的东西没有的权限

 

FTP服务器_应用层_02

 

打开匿名可写入后,匿名登陆的可以往服务器上传东西

 

FTP服务器_blank_03

 

FTP服务器_blank_04

 

匿名账号别的写权限默认是关闭的 (改名字和删除)

 

FTP服务器_网络_05

 

FTP服务器_网络_06

 

 

添加后重启服务器后就有(改名字和删除)权限了

 

FTP服务器_网络_07

 

 

FTP服务器_target_08

访问ftp方法

 

1 命令行

dir 列远程的内容

!dir 列本地内容

cd 远程切换

lcd 本地切换

下载 get mget

上传 put mput

ascii bin

 

2 浏览器

 

3 客户端软件 cutftp leapftp flushxp

 

FTP服务器_target_09

 

FTP服务器_应用层_10

 

FTP服务器_网络_11

 

写入文件的用户切换问题

 

FTP服务器_blank_12

 

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中的帐号可以切换

不能访问的用户

FTP服务器_网络_13

 

tcp_wrappers=YES

/etc/hosts.allow 允许访问

/etc/hosts.deny 拒绝访问

访问限制

 

 

【服务:来源:允许/拒绝】

服务器安全 ftps

FTPS是在安全套接层使用标准的FTP协议和指令的一种增强型FTP协议,为FTP协议和数据通道增加了SSL安全功能。FTPS也称作“FTP-SSL”和“FTP-over-SSL”。SSL是一个在客户机和具有SSL功能的服务器之间的安全连接中对数据进行加密和解密的协议。

 

不安全 容易泄露重要信息

 

FTP服务器_网络_14

 

运用ca认证加密

编辑 /etc/pki/tls/openssl.conf

 

FTP服务器_blank_15

 

创建需要的目录和文件

产生密钥

cd /etc/pki/CA

Openssl genrsa 1024 >private/cakey.pem

 

FTP服务器_应用层_16

 

Chmod 600 private/* 安全的权限

证书 openssl rep –new –key private/cakey.pem –x509 –out cacert.pem

 

FTP服务器_应用层_17

 

mkdir -pv /etc/vsftpdl/certs

cd /etc/vsftpdl/certs

钥匙

 

openssl genrsa 1024 >sendmail.key

 

FTP服务器_网络_18

 

请求

openssl req -new -key vsftpd.key -out vsftpd.csr

 

FTP服务器_应用层_19

 

获得证书

openssl ca -in vsftpd.csr -out vsftpd.cert

FTP服务器_应用层_20

 

配置一些打开功能和重定向一些文件

 

FTP服务器_应用层_21

 

重启服务生效