linux中的ftps

本文涉及的产品
云防火墙,500元 1000GB
简介:

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 网络安全
|
11天前
|
Linux
Linux 常用文件查看命令
`cat` 命令用于连接文件并打印到标准输出,适用于快速查看和合并文本文件内容。常用示例包括:`cat file1.txt` 查看单个文件,`cat file1.txt file2.txt` 合并多个文件,`cat > filename` 创建新文件,`cat >> filename` 追加内容。`more` 和 `less` 命令用于分页查看文件,`tail` 命令则用于查看文件末尾内容,支持实时追踪日志更新,如 `tail -f file.log`。
36 5
Linux 常用文件查看命令
|
4月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
473 8
|
4月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
1384 6
|
1月前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
84 24
Linux系统之whereis命令的基本使用
|
17天前
|
Linux
Linux od命令
本文详细介绍了Linux中的 `od`命令,包括其基本语法、常用选项和示例。通过这些内容,你可以灵活地使用 `od`命令查看文件内容,提高分析和调试效率。确保理解每一个选项和示例的实现细节,应用到实际工作中时能有效地处理各种文件查看需求。
48 19
|
1月前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
137 25
|
27天前
|
缓存 Linux
Linux查看内存命令
1. free free命令是最常用的查看内存使用情况的命令。它显示系统的总内存、已使用内存、空闲内存和交换内存的总量。 free -h • -h 选项:以易读的格式(如GB、MB)显示内存大小。 输出示例: total used free shared buff/cache available Mem: 15Gi 4.7Gi 4.1Gi 288Mi 6.6Gi 9.9Gi Swap: 2.0Gi 0B 2.0Gi • to
39 2