开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

linux中的ftps

简介:
+关注继续查看

FTP简介

FTP是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一。尽管WorldWideWeb(WWW)已经替代了FTP的大多数功能,FTP仍然是通过Internet把文件从客户机复制到服务器上的一种途径。FTP客户机可以给服务器发出命令来下载文件,上传文件,创建或改变服务器上的目录。原来的FTP软件多是命令行操作,有了像CUTEFTP这样的图形界面软件,使用FTP传输变得方便易学。主要使用它进行“上载”。即向服务器传输文件。由于FTP协议的传输速度比较快,我们在制作诸如“软件下载”这类网站时喜欢用FTP来实现,同时我们这种服务面向大众,不需要身份认证,即“匿名FTP服务器

FTP应用层的协议,它基于传输层,为用户服务,它们负责进行文件的传输。FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIMEUnicode一样。但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间会非常长,并且不时的必需执行一些冗长的登陆进程。

FTP服务一般运行在20和21两个端口。端口20用于在客户端服务器之间传输数据流,而端口21用于传输控制流,并且是命令通向ftp服务器的进口。当数据通过数据流传输时,控制流处于空闲状态。而当控制流空闲很长时间后,客户端的防火墙会将其会话置为超时,这样当大量数据通过防火墙时,会产生一些问题。此时,虽然文件可以成功的传输,但因为控制会话会被防火墙断开,传输会产生一些错误

优点:

1.促进文件的共享(计算机程序或数据)

2.鼓励间接或者隐式的使用远程计算机

3.向用户屏蔽不同主机中各种文件存储系统的细节

4.可靠和高效的传输数据

缺点:

1.密码和文件内容都使用明文传输,可能产生不希望发生的窃听。

2.因为必须开放一个随机的端口以建立连接,当防火墙存在时,客户端很难过滤处于主动模式下的FTP流量。这个问题通过使用被动模式的FTP得到了很大解决。

3.服务器可能会被告知连接一个第三方计算机的保留端口。

FTP虽然可以被终端用户直接使用,但是它是设计成被FTP客户端程序所控制。

运行FTP服务的许多站点都开放匿名服务,在这种设置下,用户不需要帐号就可以登录服务器,默认情况下,匿名用户的用户名是:“anonymous”。这个帐号不需要密码,虽然通常要求输入用户的邮件地址作为认证密码,但这只是一些细节或者此邮件地址根本不被确定,而是依赖于FTP服务器的配置情况。

FTP有两种使用模式:主动和被动。主动模式要求客户端服务器端同时打开并且监听一个端口以建立连接。在这种情况下,客户端由于安装了防火墙会产生一些问题。所以,创立了被动模式。被动模式只要求服务器端产生一个监听相应端口的进程,这样就可以绕过客户端安装了防火墙的问题。(选择主动或者被动决定权是由客户端决定的)

一个主动模式的FTP连接建立要遵循以下步骤:

1.客户端打开一个随机的端口(端口号大于1024,在这里,我们称它为x),同时一个FTP进程连接至服务器的21号命令端口。此时,源端口为随机端口x,在客户端,远程端口为21,在服务器。

2.客户端开始监听端口(x+1),同时向服务器发送一个端口命令(通过服务器的21号命令端口),此命令告诉服务器客户端正在监听的端口号并且已准备好从此端口接收数据。这个端口就是我们所知的数据端口。

3.服务器打开20源端口并且建立和客户端数据端口的连接。此时,源端口20,远程数据端口为(x+1)。

4.客户端通过本地的数据端口建立一个和服务器20号端口的连接,然后向服务器发送一个应答,告诉服务器它已经建立好了一个连接。

被动模式FTP

为了解决服务器发起到客户的连接的问题,人们开发了一种不同的FTP连接方式。这就是所谓的被动方式,或者叫做PASV,当客户端通知服务器它处于被动模式时才启用。

在被动方式FTP中,命令连接和数据连接都由客户端发起,这样就可以解决从服务器客户端的数据端口的入方向连接被防火墙过滤掉的问题。

当开启一个FTP连接时,客户端打开两个任意的非特权本地端口(N>1024N+1)。第一个端口连接服务器21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交PASV命令。这样做的结果是服务器会开启一个任意的非特权端口(P>1024),并发送PORTP命令给客户端。然后客户端发起从本地端口N+1服务器的端口P的连接用来传送数据。

对于服务器端的防火墙来说,必须允许下面的通讯才能支持被动方式的FTP

1.从任何大于1024的端口到服务器21端口(客户端的初始化连接)

2.服务器21端口到任何大于1024的端口(服务器响应到客户端的控制端口的连接)

3.从任何大于1024端口到服务器的大于1024端口(客户端初始化数据连接到服务器指定的任意端口)

4.服务器的大于1024端口到远程的大于1024的端口(服务器发送ACK响应和数据到客户端的数据端口)

安全ftps

抓包工具:rpm-ivhlibsmi-0.4.5-2.el5.i386.rpm库文件

抓包主程序wireshark-1.0.8-1.el5_3.1.i386.rpm

利用抓包工具,很容易会把用户的账号密码给抓出来

173837279.png

CA的产生

1.cd/etc/pki

2.vimtls/openssl.cnf

3.45dir=/etc/pki/CA

4.88,90s/match/optional更改选项,这些地区身份都可以颁发

5.2

174031727.png

6.cdCA

7.[root@localhostCA]#mkdircrlcertsnewcerts

8.[root@localhostCA]#touchindex.txtserial

9.[root@localhostCA]#echo"01">serial序列号

10.[root@localhostCA]#opensslgenrsa1024>private/cakey.pem

11.[root@localhostCA]#chmod600private/*

12.[root@localhostCA]#opensslreq-new-keyprivate/cakey.pem-x509-outcacert.pem自己给自己颁发证书

13.为服务器颁发证书

14.[root@localhostCA]#mkdir-pv/etc/vsftpd/certs

15.[root@localhostCA]#cd/etc/vsftpd/certs/

16.[root@localhostcerts]#opensslgenrsa1024>vsftpd.key

17.[root@localhostcerts]#opensslreq-new-keyvsftpd.key-outvsftpd.req

18.[root@localhostcerts]#opensslca-invsftpd.req-outvsftpd.cert

19.[root@localhostcerts]#vim/etc/vsftpd/vsftpd.conf证书的捆绑

20.3

174526750.png

21.serviceftpdrestart

22.利用flashfxp(参考百度搜索)

23.7

174717212.png

24.8

174755290.png

25.9

174817830.png

26.10

174858375.png

ftp配置文档选

12.anonymous_enable=YES支持匿名访问

15local_enable=YES本地账号

27#anon_upload_enable=YES匿名账号支持上传

27anon_upload_enable=YES支持上传文件

31#anon_mkdir_write_enable=YES匿名账号实现创建目录

Anon_umask设置UMASK的值

anon_other_write_enable用户支持写权限(命名删除)

36dirmessage_enable=YES说明文件,提示

40xferlog_enable=YES启用日志文件

53#xferlog_file=/var/log/xferlog日志文件存放地址

xferlog_std_format=YES日志的格式

#idle_session_timeout=60010分钟自动断开

data_connection_timeout=120连接超时间

#ascii_upload_enable=YES是否使用ascii来传递

ftpd_banner=WelcometoblahFTPservice连接FTP提示信息

90#deny_email_enable=YES邮箱的地址作为匿名登陆的密码

#banned_email_file=/etc/vsftpd/banned_emails存放邮箱地址的文件

chroot_list_enable=YES对本地账号登陆进行限制,限制于某个文件下,无法去访问其他的目录文件

chroot_list_file=/etc/vsftpd/chroot_list限制某个用户的列表

chroot_local_user=YES如果把文件存放到文件列表里面的用户则可以切换根目录,否则

pam_service_name=vsftpdpam支持验证模块

userlist_enable=YES存放在这个列表里面的账号信息则可以登陆验证账号,是否打开密码不发布网络

userlist_deny=NO放在在这个列表的账号,直接拒绝登陆

tcp_wrappers=YES来源控制

vim/etc/hosts.allow或者/etc/hosts.deny










本文转自 only223wym 51CTO博客,原文链接:http://blog.51cto.com/ymchaofeng/1297916,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
LINUX SHELL命令ls只列出目录名
LINUX SHELL命令ls只列出目录名
0 0
LINUX安装QT的命令
LINUX安装QT的命令
0 0
Linux系统之find命令的基本使用
Linux系统之find命令的基本使用
0 0
阿里云国际版Linux实例中执行wget命令时提示“command not found”
本文www.123clouds.com介绍阿里云国际版Linux实例中执行wget命令时提示“command not found”时该如何解决。
0 0
常用LINUX配置及SHELL命令集锦-网络配置和系统管理操作
常用LINUX配置及SHELL命令集锦-网络配置和系统管理操作
0 0
学点Linux命令没坏处(常用的内置命令)
linux操作系统提供了一些内置的命令,掌握这些有利于我们日常对linux的使用,以及shell脚本的开发维护。下面简单了解几个常用的
0 0
学点Linux命令没坏处(系统管理)
为了能够快速的了解linux系统的状态,更好的管理我们的系统,我们需要掌握和系统相关的一些命令。下面从三个方面了解下Linux的系统管理:系统状态查看 系统状态统计 系统服务管理
0 0
学点Linux命令没坏处(进程管理)
操作系统中每个软件的运行都是相当于开启了一个或多个进程,在window中的任务管理器可以清晰的看到我们正在运行的那些进程并且可以通过鼠标操作结束或调整进程,而在linux我们需要使用命令来进行这一系列操作。本文主要介绍下Linux常用的进程管理命令,主要从启动进程=》查看进程=》修改进程=》结束进程这几个方面来处理。
0 0
学点Linux命令没坏处(文件压缩、解压)
我们使用window对文件的压缩与解压是日常工作的经常用到的,在Linux服务器上压缩和解压的操作也非常重要,例如日志文件过大可以通过压缩保存,对于一些不常用但有比较重要的文件都可以通过压缩来保存。
0 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Decian GNU/Linux安全合规之路
立即下载
从 Linux 系统内核层面来解决实际问题的实战经验
立即下载
冬季实战营第二期:Linux操作系统实战入门
立即下载