分页: 1 / 1

《The BOOK Of PF》中文版 —— 9. 恼人的旧FTP协议

发表于 : 2010-07-13 9:17
whoami
我们前面在定义client_out这个宏时给介绍一系列实际应用中的TCP端口列表, 其中就有FTP, 标准的文件传输协议。FTP是早期Internet的遗物, 从当前的规范和安全试验角度看,FTP已经落伍了,它的开发实际上早于TCP/IP协议,详说明3,而且可以从50个RFCs上追溯协议的发展。在经历了30多年以后, 对所有想将FTP和防火墙结合在一起的人来说FTP已经就像已然老去的问题少年。FTP是一个古老和古怪的协议, 有很多的缺点。抵制使用它的理由是:
  • 密码以明文传输。
  • ftp协议至少要求在不同的端口上建立两个TCP连接(控制各数据)。
  • 当建立一个会话后, 数据通过随机选择的一个端口传输。
即使不考虑可能导致安全问题的服务器和客户端软件的潜在因素,FTP的这些固有缺陷也会使安全面临挑战。任何一个有网络经验的老手都会告诉你,当你企盼不要发生问题时,它往往会突然出现。
在任何情况下, 其它更现代和更安全的文件传输软件,像sftp或者scp都具有认证和通过加密连接传送数据的特性。主管IT的专业人士往往有自己喜欢的文件传输方式而不是FTP。
无论你的专业和喜好如何, 优势你总要去做一些自己不喜欢的事情。要让FTP通讯通过防火墙,我们可以通过将数据重定向到一个专门为此目的编写的小程序上。对读者来说的好处是处理FTP是我们首次有机会了解重定向。
处理FTP最容易的方式是将FTP通讯重定向到一个外部的应用程序,这个程序担当FTP服务的一个代理。这个代理与你的过滤器通过一个定义明确的接口相互作用。
根据你的配置, 你的PF在什么操作系统上运行,以及如何让委派它们, 要完成这个特定的工作有三或者四个不同的方法。
我们大致按其发布的年代来介绍这些选项, 以往对PF的FTP代理主要在下面的章节“FTP 通过NAT: ftp-proxy.”里面进行描述。 我们将参考一下另两个比较新的方法,也就是由Camiel Dobbelaar开发的在“FTP, PF, 和可路由地址: ftpsesame, pftpx, and ftp-proxy” , 最后我们讨论现在的FTP代理、OpenBSD 3.9“新风格的FTP: ftp-proxy”。
说明3
最早的描述文件传输的RFC协议是 RFC 114, 是在1971年4月10日制定的。在第五版FTP协议发布时转而使用了TCP/IP, 在 RFCs 765 和 775 中有定义, 日期分别为1980年6月和12月。