警示:实验报告如有雷同,雷同各方当次实验成绩均以0分计;在规定时间内未上交实验报告的,不得以其他方式补交,当次成绩按0分计;实验报告文件以PDF格式提交。
院系 |
数据科学与计算机学院 |
班级 |
15级4班 |
学号 |
15331145 |
姓名 |
李果 |
完成日期: 2017年 12 月 25 日 |
FTP协议分析实验
【实验目的】
分析 FTP 协议的安全性。
【实验步骤】
1. 配置 Serv-U 服务器;建立用户名和密码(例如用户名是USER,密码PASS);
(有很多可参考的网络资源。比如 http://www.jb51.net/article/28530.htm)
2. 使用协议分析软件 wireshark (http://www.wireshark.org/download.html),设置好过滤规则为 ftp(安装过程不必截图)。
3. 客户端使用 ftp命令访问服务器端,输入用户名和密码。
4. 开始抓包,从捕获的数据包中分析用户名/口令 (请在截图上标出)。
5. 讨论FTP协议的安全问题。
6. 设置 Serv-U 的安全连接功能,客户端使用 (1) http (2) https (3) FileZilla 或 cutFTP,重复步骤2-4,看是否能保证用户名/口令的安全?
【实验工具】
使用Wireshark可以很方便地对截获的数据包进行分析,包括该数据包的源地址、目的地址、所属协议等。Wireshark的图形化嗅探器界面中,整个窗口被分成三个部分:最上面为数据包列表,用来显示截获的每个数据包的总结性信息;中间为协议树,用来显示选定的数据包所属的协议信息;最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。
【实验过程】(要有实验截图)
步骤1:配置 Serv-U 服务器;建立用户名和密码(例如用户名是USER,密码PASS);
步骤2:使用协议分析软件 wireshark (http://www.wireshark.org/download.html),设置好过滤规则为 ftp
步骤3:客户端使用 ftp 命令访问服务器端,输入用户名和密码。
步骤4: 开始抓包,从捕获的数据包中分析用户名/口令 (请在截图上标出)。
得到:用户名为USER, 密码为PASS
步骤5: 讨论FTP协议的安全问题。
安全隐患很多,包括:
使用明文口令:
TCP/IP协议族的设计在地相互信任和安全的基础上的,FTP的设计当然也没有采用加密传送,这样的话,FTP客户与服务器之前所有的数据传送都是通过明文的方式,当然也包括了口令,像步骤4中获取的用户名及密码。 这样就会使的黑客们很容易的掌控住服务器。
FTP旗标:
攻击者很容易知道服务器所使用的版本号。上述为Serv-U 15.1
通过FTP服务器进行端口扫描:
对于黑客有两点便利:1、提供匿名性;2、避免阻塞。
数据劫持:
FTP协议本身本并没有要求传输命令的客户IP和进行数据传输的客户IP一致,这样黑客就有可能劫持到客户和服务器之间传送的数据。根据数据传输的模式可把数据劫持分 为主动数据劫持和被动数据劫持。
1、 被动数据劫持
在FTP客户端发出PASV或PORT命令之后并且在发出数据请求之前,存在一个易受攻击的窗口。如果黑客能猜到这个端口,就能够连接并载取或替换正在发送的数据。
要实现被动数据劫持就必须知道服务器上打开的临时端口号,然后很多服务器并不是随机选取端口,而是采用递增的方式,这样黑客要猜到这个端口号就不是很难了。
2、主动数据劫持
主动数据劫持比被动数据劫持要困难很多,因为在主动传输的模式下是由客户打开临时端口来进行数据传输,而黑客是很难找到客户的IP和临时端口的。
步骤6. 设置 Serv-U 的安全连接功能,客户端使用 (1) http (2) https (3) FileZilla 或 cutFTP,重复步骤2-4,看是否能保证用户名/口令的安全?
1) http
使用wireshark抓不到数据包.
(2) https
无法连接到服务器。
(3) FileZilla
通过FileZilla能捕捉到数据包,但都是经过SSH加密的数据看不到明文。
【实验体会】
此次实验让我掌握了Serv-U的配置方法,同时学会了如何使用Serv-U建立自己的FTP服务器,让我们以后的文件传输有了一个更加高效快速的手段。不过关于此次实验配置问题也是很棘手的,刚开始下载的试用版本配置服务器之后不能登录,后来下载了15.1版本后才正常使用了,我配置的服务器主要在内网使用,外网的话需要把我的两层路由器进行端口映射,而我是用的极路由又不支持两层路由器配置(也可能是我没找到…)。总之配置花了很多功夫。下面的实验倒不怎么费事。
通过这次对ftp配置的实验,我意识到FTP协议很不安全,如果不做安全措施简单的wireshark抓包分析就能够获取用户名和密码,甚至得到root权限。不过作为平常简单使用的工具还是不错的,最重要的是我意识到在互联网上一定要注意自己的隐私,做好相应的安全措施,避免让自己的隐私或者重要信息泄露。