SERV-U是一款很普及的FTP工具,利用其搭建FTP服务器非常简单。但是默认配置下SERV-U用21端口提供FTP服务,并且数据没有进行任何的加密是明文传递。因此,一个恶意用户可以通过sniffer工具获取FTP用户的帐户和密码。下面,我们部署环境进行SERV-U的Sniffer测试。
一、SERV-U的Sniffer测试
1、测试环境:
A、B同一子网的两台计算机,B是员工计算机,一名员工通过其访问公司的FTP服务器。A是我们安装了sniffer的计算机,其目的是嗅探使用B计算机访问FTP服务器的员工的帐户和密码。
2、测试过程:
(1).在A计算机上安装sniffer嗅探工具,并启动该程序。在sniffer软件中通过上方的“matrix”(矩阵)按钮启动监测界面,打开监测界面后我们就可以开始监测网络中的数据包了。通过菜单栏的“capture(捕获)→start(开始)”启动。在检测数据包窗口中我们点左下角的objects(对象)标签,然后选择station(状态),这样将把当前网络中所有通信都显示在窗口中。(图1)
(2).这时候我们通知B计算机的员工使用电脑登录了FTP服务器,那么我们在sniffer中点菜单的“capture(捕获)→stop and display(停止并显示)”。这里假设我们FTP服务器的IP地址为192.168.1.20,那么我们从显示的地址列表中找到关于192.168.1.20这个IP的数据包,然后点下方的“DECODE(反解码)”按钮进行数据包再分析。(图2)
(3).在“DECODE”(反编码)界面中我们就可以对关于192.168.1.20的所有数据包进行分析了。我们一个一个的分析数据包,分析到大概第十九个数据包时出现用户名信息,我们可以从界面中看到用户名为lw。继续往下看,到了第二十一个数据包的时候就可以看到密码了,密码以明文的形式显示在sniffer中,密码为test168。(图3)
至此,我们通过sniffer工具获取了该员工登录FTP服务器的帐户和密码。依据笔者的经验,攻击者在获取了服务器的控制权之后,往往会安装相应的嗅探工具,进而获取更多的敏感信息,因此,嗅探不得不防。
二、SERV-U的Sniffer防范
其实,SERV-U本身就提供了防嗅探功能,只不过大多数用户没有开启罢了。该功能就是SSL加密,在SSL中,采用了公开密钥和私有密钥两种加密方法。所以使用SS后就可以保证网络中传输的数据不被非法用户窃取到了。
1、创建SSL证书
要想使用Serv-U的SSL功能,需要SSL证书的支持才行。虽然Serv-U在安装之时就已经自动生成了一个SSL证书,但这个默认生成的SSL证书在所有的Serv-U服务器中都是一样的,非常不安全,所以我们需要手工创建一个自己独特的SSL证书。
在“Serv-U管理员”窗口中,展开“本地服务器→设置”选项,然后切换到“SSL证书”标签页,创建一个新的SSL证书。首先在“普通名称”栏中输入FTP服务器的IP地址,接着其它栏目的内容,如电子邮件、组织和单位等,根据用户的情况进行填写。完成SSL证书标签页中所有内容的填写后,点击下方的“应用”按钮即可,这时Serv-U就会生成一个新的SSL证书。(图4)
2、启用SSL功能
虽然为Serv-U服务器创建了新的SSL证书,但默认情况下,Serv-U是没有启用SSL功能的,要想利用该SSL证书,首先要启用Serv-U的SSL功能才行。
要启用Serv-U服务器中域名为“ftp”的SSL功能。在“Serv-U管理员”窗口中,依次展开“本地服务器→域→ftp”选项。在右侧的“域”管理框中找到“安全性”下拉列表选项。这里Serv-U提供了3个选项,分别是“仅仅规则FTP,无SSL/TLS进程”、“允许SSL/TLS和规则进程”、“只允许SSL/TLS进程”,默认情况下,Serv-U使用的是“仅仅规则FTP,无SSL/TLS进程”,因此是没有启用SSL加密功能的。在“安全性”下拉选项框种选择“只允许SSL/TLS进程”选项,然后点击“应用”按钮,即可启用softer域的SSL功能。(图5)
需要说明的是,启用了SSL功能后,Serv-U服务器使用的默认端口号就不再是“21”了,而是“990”了,这点在登录FTP的时候一定要留意,否则就会无法成功连接FTP服务器。
3、使用SSL加密连接FTP
启用Serv-U服务器的SSL功能后,就可以利用此功能安全传输数据了,但FTP客户端程序必须支持SSL功能才行。如果我们直接使用IE浏览器进行登录则会出现图6显示的错误信息,一方面是以为没有修改默认的端口21为990,另外IE浏览器不支持SSL协议传输。(图6)
当然支持SSL的FTP客户端程序现在也比较多,笔者以“Flash FXP”程序为例,介绍如何成功连接到启用了SSL功能的Serv-U服务器。
运行“FlashFXP”程序后,点击“会话→快速连接”选项,弹出“快速连接”对话框,在“服务器或URL”栏中输入Serv-U服务器的IP地址,在“端口”栏中一定要输入“990”,这是因为Serv-U服务器启用SSL功能后,端口号就从“21”变为“990”。(图7)
然后输入可以正常登录FTP服务器的“用户名”和“密码”,切换到“SSL”标签页,选中“绝对SSL”选项,这一步骤是非常关键的,如果不选中“绝对SSL”,就无法成功连接到Serv-U服务器。最后点击“连接”按钮。 根据实际传输情况在绝对SSL下方的四个选项进行选择即可。(图8)
当用户第一次连接到Serv-U服务器时,Flash FXP会弹出一个“证书”对话框如图9,这时用户只要点击“接受并保存”按钮,将SSL证书下载到本地后,就能成功连接到Serv-U服务器,以后和Serv-U服务器间的数据传送就会受到SSL功能的保护,不再是以明文形式传送,这样就不用再担心FTP账号被盗,敏感信息被窃取的问题了。在Flash FXP的下方我们也会看到一个小锁的标志了,他代表当前传输是加密安全的传输。(图9)
总结:局域网的特性,使得其成了Sniffer的温床。其实除了FTP之外,像Telnet、远程桌面、http等其数据都是明文传递,防范嗅探除了提高安全意识之外,选择更安全的工具也是有必要的。
【编辑推荐】