FTP协议的分析和扩展
| [R] LIST -al |
| [R] Connected. Negotiating SSL/TLS session.. |
| [R] 150 Opening ASCII data connection for ls / using SSL/TLS. |
| [R] SSL/TLS negotiation successful... |
| [R] TLSv1/SSLv3 encrypted session using cipher AES256-SHA (256 bits) |
| [R] List Complete: 181 bytes in 0.17 seconds (1.04 KBps) |
\======================================================================/
Explicit SSL模式下ftp client <-- server的通讯数据,可以看到AUTH SSL之后的指令全部都
已经加密,无法看到。对应2.3节中的传统通讯过程,这确保了传输过程中数据无法被窃听到。
在Implicit SSL模式中,从初始化连接开始的数据将全部加密,无法分析,因此此处不摘录。
/======================================================================\
21:34:22.095241 IP 192.168.0.1.2279 > 192.168.0.3.999: S 1727744887:1727744887(0) win 65535 <mss 1460,nop,nop,sackOK> (DF)
0x0000 4500 0030 e6b7 4000 8006 92bb c0a8 0001 E..0..@.........
0x0010 c0a8 0003 08e7 03e7 66fb 4b77 0000 0000 ........f.Kw....
0x0020 7002 ffff 428a 0000 0204 05b4 0101 0402 p...B...........
21:34:22.095576 IP 192.168.0.3.999 > 192.168.0.1.2279: S 3598555607:3598555607(0) ack 1727744888 win 65535 <mss 1460,nop,nop,sackOK> (DF)
0x0000 4500 0030 8d9e 4000 8006 ebd4 c0a8 0003 E..0..@.........
0x0010 c0a8 0001 03e7 08e7 d67d 99d7 66fb 4b78 .........}..f.Kx
0x0020 7012 ffff d223 0000 0204 05b4 0101 0402 p....#..........
21:34:22.095639 IP 192.168.0.1.2279 > 192.168.0.3.999: . ack 1 win 65535 (DF)
0x0000 4500 0028 e6b8 4000 8006 92c2 c0a8 0001 E..(..@.........
0x0010 c0a8 0003 08e7 03e7 66fb 4b78 d67d 99d8 ........f.Kx.}..
0x0020 5010 ffff fee7 0000 P.......
21:34:22.108439 IP 192.168.0.3.999 > 192.168.0.1.2279: P 1:115(114) ack 1 win 65535 (DF)
0x0000 4500 009a 8da4 4000 8006 eb64 c0a8 0003 E.....@....d....
0x0010 c0a8 0001 03e7 08e7 d67d 99d8 66fb 4b78 .........}..f.Kx
0x0020 5018 ffff 5cb5 0000 3232 302d 5468 6973 P...\...220-This
0x0030 2073 6572 7665 7220 6973 2066 6f72 2070 .server.is.for.p
0x0040 7269 7661 7465 2075 7365 206f 6e6c 790d rivate.use.only.
0x0050 0a32 .2
21:34:22.257722 IP 192.168.0.1.2279 > 192.168.0.3.999: . ack 115 win 65421 (DF)
0x0000 4500 0028 e6c1 4000 8006 92b9 c0a8 0001 E..(..@.........
0x0010 c0a8 0003 08e7 03e7 66fb 4b78 d67d 9a4a ........f.Kx.}.J
0x0020 5010 ff8d fee7 0000 P.......
21:34:22.257941 IP 192.168.0.3.999 > 192.168.0.1.2279: P 115:154(39) ack 1 win 65535 (DF)
0x0000 4500 004f 8da7 4000 8006 ebac c0a8 0003 E..O..@.........
0x0010 c0a8 0001 03e7 08e7 d67d 9a4a 66fb 4b78 .........}.Jf.Kx
0x0020 5018 ffff 96b3 0000 3232 3020 506c 6561 P.......220.Plea
0x0030 7365 2065 6e74 6572 2079 6f75 7220 6c6f se.enter.your.lo
0x0040 6769 6e20 6e61 6d65 206e 6f77 2e0d 0a gin.name.now...
21:34:22.264587 IP 192.168.0.1.2279 > 192.168.0.3.999: P 1:11(10) ack 154 win 65382 (DF)
0x0000 4500 0032 e6c2 4000 8006 92ae c0a8 0001 E..2..@.........
0x0010 c0a8 0003 08e7 03e7 66fb 4b78 d67d 9a71 ........f.Kx.}.q
0x0020 5018 ff66 e88e 0000 4155 5448 2053 534c P..f....AUTH.SSL
0x0030 0d0a ..
21:34:22.371140 IP 192.168.0.3.999 > 192.168.0.1.2279: P 154:205(51) ack 11 win 65525 (DF)
0x0000 4500 005b 8dac 4000 8006 eb9b c0a8 0003 E..[..@.........
0x0010 c0a8 0001 03e7 08e7 d67d 9a71 66fb 4b82 .........}.qf.K.
0x0020 5018 fff5 9a03 0000 3233 3420 4155 5448 P.......234.AUTH
0x0030 2043 6f6d 6d61 6e64 204f 4b2e 2049 6e69 .Command.OK..Ini
0x0040 7469 616c 697a 696e 6720 5353 4c20 636f tializing.SSL.co
0x0050 6e6e nn
21:34:22.374945 IP 192.168.0.1.2279 > 192.168.0.3.999: P 11:141(130) ack 205 win 65331 (DF)
0x0000 4500 00aa e6c6 4000 8006 9232 c0a8 0001 E.....@....2....
0x0010 c0a8 0003 08e7 03e7 66fb 4b82 d67d 9aa4 ........f.K..}..
0x0020 5018 ff33 f99a 0000 8080 0103 0100 5700 P..3..........W.
0x0030 0000 2000 0016 0000 1300 000a 0700 c000 ................
0x0040 0066 0000 0700 0005 0000 0405 0080 0300 .f..............
0x0050 8001 ..
21:34:22.375857 IP 192.168.0.3.999 > 192.168.0.1.2279: P 205:1071(866) ack 141 win 65395 (DF)
0x0000 4500 038a 8dad 4000 8006 e86b c0a8 0003 E.....@....k....
0x0010 c0a8 0001 03e7 08e7 d67d 9aa4 66fb 4c04 .........}..f.L.
0x0020 5018 ff73 e356 0000 1603 0100 4a02 0000 P..s.V......J...
0x0030 4603 0140 8283 7da1 8821 775e 7765 a9ee F..@..}..!w^we..
0x0040 18ca e0ab 1b17 461e bf71 515f 6837 5c1a ......F..qQ_h7\.
\======================================================================/
>>4.0<< 总结
FTP的替代应用
如今,如果考虑到其他一些安全的文件传输选择,可能看起来没有理由再使用FTP了,如SCP或
者SFTP,与FTP应用相似但运用SSH(注:Secure
Shell)来进行验证和加密,如果你使用一台基于UNIX的服务器,你可以在命令方式下调用SCP
或者SFTP,如果你想获得更多的关于SSH的信息,参考如下URLhttp://www.openssh.com
如果你只是用FTP来更新你的Web页面,有别的替代应用,称为WebDAV的新的协议,WebDAV
是HTTP的扩展,它允许多个用户共同编辑和维护远程WEB服务器上的文件,如果想了解WebDAV
的详细信息,参考http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc2518.html
FTP是在70年代设计出来的,那个时候互联网还是一个封闭的网络,网络安全不是一个大的问
题。当FTP在使用NAT网关、防火墙、CISCO访问列表的现代网络环境中运用的时候,不管你使
用Port模式还是Passive模式,都可能产生一些问题,FTP在公网上作为一些关键应用的文件传
输手段可能就是一个错误;当然近年很多人为了是FTP协议更加安全进行了不懈的努力,这些
努力却使对于FTP的排错更加复杂,而且都没有解决FTP最大的问题,即明文传输用户名和口令
。有许多应用可以替代FTP,如SCP,SFTP或者WebDAV。
以上为原文总结,本文下半部分补充了ftp自身的安全扩展,使用SSL/TLS进行ftp传输过程的
验证和加密,良好的实现了与传统ftp协议的兼容性和优良的数据保密性与完整性。在无法使用
替代服务的环境下,是一种非常好的ftp服务改进计划。
略有不足的是,由于历史兼容性因素,很多ftp client和server对ssl ftp扩展的实现都存在
着各种缺陷,例如加密算法不足,指令顺序有错误等等,这可能会引起一些安全保护级别的削弱。
1, 由于没有良好的PKI体系支撑,很多ftp server的证书合法性无法得到验证,可能存在无法
信任或被伪造的可能;
2, 由于Explicit SSL模式的历史兼容问题,AUTH指令和USER/PASS指令序列的优先级没有明确
约定,可能存在指令序列错误造成信息泄露的问题;
3, 由于SSL自身体系的一些问题,可能受到证书泄露,伪造,或SSL中间人攻击;
4, 在不完整的CA或PKI体系下,只能够采用自签名证书,这时SSL ftp得到的安全性提高仅仅
是通讯过程加密,并无法完成身份认证的功能。
当然,排除无法实现身份认证功能和略微的实现缺陷,ssl ftp仍然是一种优秀的ftp服务安全加强
措施。
>>5.0<< 参考
ftp协议簇
http://www.ietf.org/rfc/rfc959.txt
http://www.ietf.org/rfc/rfc1579.txt
ftp安全扩展
http://www.ietf.org/rfc/rfc2228.txt
http://www.ietf.org/rfc/rfc2246.txt
ftp安全扩展,SSL接口草案:
http://www.ietf.org/internet-drafts/draft-murray-auth-ftp-ssl-13.txt
ssl/tls协议规范:
相关文章
QQ邮箱文件怎么发送微信? 电脑qq邮箱中转站中文件分享到微信的方法
在使用邮箱软件的时候,有的用户想要通过QQ邮箱文件,QQ邮箱中存在这种功能,但是很多小伙伴不知道到底要如何操作,下面小编就给大家带来QQ邮箱文件发送微信教程,感兴趣的2024-09-29微信电脑版怎么独立窗口中打开订阅号? 订阅号独立窗口显示的教程
微信电脑版看订阅号的时候,想要独立窗口显示订阅号,该怎么操作呢?下面我们就来看看详细的教程2024-09-29Outlook在windows系统中有哪些快捷键? Outlook的键盘快捷方式大全
Outlook可以用它来收发电子邮件、管理联系人信息、记日记、安排日程、分配任务,新版Outlook for Windows带来了许多新功能,今天我们就来看看Outlook快捷键汇总2024-09-13微信怎么调默认浏览器? 微信设置默认浏览器打开网页链接的教程
微信怎么调默认浏览器?只需简单设置,在微信就可以使用默认浏览器打开网站,该怎么设置呢?详细请看下文介绍2024-08-14GameViewer怎么删除设备 GameViewer删除设备的步骤
GameViewer怎么删除设备?GameViewer 是一款专为游戏玩家设计的远程控制助手,下文中为大家带来了GameViewer删除设备步骤,需要的朋友快来看看吧2024-06-17- KOOK开黑啦游戏卡顿画面掉帧如何解决?kook语音是专为游戏用户研发的一款在线语音交流软件,它能够帮助用户在打游戏的过程中与队友保持一个在线沟通的状态,下文中为大家带2024-06-13
- RayLink如何进行文件传输?远程控制软件是一种常见的工具,可以方便地在不同设备之间传输文件,在本文中将介绍如何使用远程控制软件来实现文件传输,需要的朋友快来看看吧2024-06-12
- RayLink无人值守怎么实现?RayLink 是一款专为视觉行业打造的高清、流畅远程控制软件,它支持跨平台操作,无论是Windows、Mac、Linux还是移动设备,都能轻松实现远程控制和2024-06-12
RayLink如何添加或删除设备 Raylink详细使用教程
RayLink如何添加或删除设备?RayLink是一款功能强大的远程控制管理软件,支持跨平台连接,让用户能够轻松控制电脑、手机等设备,下文中为大家带来了RayLink添加或删除设备的2024-06-12- RayLink如何用设备码发起远程协助?RayLink是一款专为视觉行业设计的高清、流畅远程控制软件,支持跨平台操作,下文中为大家带来了设备码发起远程协助的方法,需要的朋友快2024-06-12
最新评论