《RFC3093_防火墙增进协议 (FEP).doc》由会员分享,可在线阅读,更多相关《RFC3093_防火墙增进协议 (FEP).doc(9页珍藏版)》请在金锄头文库上搜索。
1、RFC3093 Firewall Enhancement Protocol (FEP) 防火墙增强协议组织:中国互动出版网(http:/www.china- )译文发布时间:2001-5-24版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必须保留本文档的翻译及版权信息。Network Working Group M. GaynorRequest for Comments: 3093 S. BradnerCategory: Informational Harvard University 1 April 2001防火墙增强协议(RFC3093 Firewall En
2、hancement Protocol (FEP))本备忘录的状态 本备忘录提供了 Internet community 的信息,但不说明任何一种类型的 Internet 标准。发布本备忘录不受限制。版权声明 Copyright (C) The Internet Society (2001). All Rights Reserved.概要 Internet 端到端体系结构的透明性允许对其进行新技术和服务的创新 1,但是,近来防火墙技术的发展改变了这种模式,制约了创新。我们提议了允许创新且不违反防火墙安全模型的防火墙增强协议(FEP)。在没有防火墙管理员的协助下,FEP 允许任何应用程序通过防火墙
3、。我们的方法是,将任何应用程序的传输控制协议/用户数据报协议 (TCP/UDP) 包置于超文本传输协议 (HTTP) 之上,因为 HTTP 包具有可通过防火墙的代表性。 由于防火墙被设计用来阻止外部攻击和忽略内部威胁,故该方案并不违反实际防火墙的安全有效性。FEP 的使用需要从防火墙内部的主机上进行协同操作,所以它与当前防火墙的安全模型相兼容。FEP 在防火墙的安全性和防火墙的透明传输通道两个方面达到最好。1.0 术语 本文档中的关键字 MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MA
4、Y, 和 OPTIONAL 在 RFC 2119 中已解释。2.0 简介 Internet 现在已做得很好了,考虑过去的 10 年间,telcos 宣称 Internet 甚至不能在社团环境下工作。这有许多原因,其中最主要的一点就是由 Reed, Seltzer, 和 Clark 讨论的端到端的论点 2。最后的创新是提出了动手比构思更有价值的有力方法。但是,世界正象 Clark 所指出的那样已在改变 6。 社团世界接入 Internet,安全性尤为重要,甚至付出阻断端到端模式的代价。 一个这样的例子就是防火墙 - 一种阻止外来者未经授权访问社团内部的设备。我们的新协议,防火墙增强协议 (FEP
5、),就是为在保持防火墙建立的安全层次上恢复端到端模式而设计的。 要看到端到端模型多么强大,请考虑以下例子。如果 Scott 和 Mark 有个好主意和实现才能,他们可以制造一个物品,使用它,并可以送给朋友,若朋友们要保留它,把它做得更好也许是个好主意。现在加入防火墙:如果 Mark 正好在一家安装了防火墙的公司工作,他将不能与他的朋友 Scott 进行试验,创新将更困难,也许不可能实现。要使 Scott 和 Mark 能够做试验,IT 管理员应该做什么,以便于更好地服务于他们的用户呢?这就是 web 如何建立的:一个有才能的人,某些好主意和创新的能力。 防火墙很重要,并且我们尊重每个人无论怎样
6、保护他们自己的权利 (在其他人不麻烦的时候)。 防火墙在工作,并在 Internet 中有一席之地。无论如何,防火墙是为阻止外部的威胁而提供保护的,不是为内部的。我们提议的协议不违反防火墙的安全模型;它仍能阻止外部危险,特别是防火墙能提供保护的危险。因为对防火墙内部的人来说,我们的协议必须运行在可以访问 TCP 端口 80 的应用层。我们的概念是在绕过防火墙 IT 管理员的看管下而与安全级一致。我们的自主提议是没有额外的对外部安全妥协的创新,并且最好的,是不需要浪费包括任何管理员赞同的时间。 我们的主意来源于日益增多的使用 HTTP 的应用程序,因为它们可以通过防火墙的阻拦。这种特定应用程序的
7、零碎配置不足以与防火墙的创新相提并论,我们决定开发一个基于 HTTP 的 TCP/IP 的过程。使用这种创新,任何人都可以立即使用任何新的 TCP/IP 应用程序,而不必使用艰苦的 过程通过防火墙来访问特定的应用程序。该提议的一个计划外副产品是,对已存在的 TCP/IP 应用程序来说,也可更好地服务于用户。 用户通过 FEP 可以决定他们可以运行哪些应用程序。 我们的提议比较简单,部分基于 Eastlake 3 提议中的 IP 包的 MIME 编码。我们使用随处可见的 HTTP 协议格式。IP 数据包携带于 HTTP 消息的消息体内,TCP 包的头信息编码进消息的 HTTP 头内。这种头字段的
8、 ASCII 编码方式有很多优点,包括易读性,增加新应用程序的可调试性,包信息的记录容易性。如果该协议被广泛采纳,象 tcpdump 之类的工具将变得过时。3.0 FEP 协议 图 1 表示了协议的高层视图。主机 A 的应用程序 (1) (位于防火墙外) 发送一个 TCP/IP 数据包到主机 B (位于防火墙内)。通过通道接口,TCP/IP 数据包路由到我们的 FEP 软件 (2),并将数据包编码进一个 HTTP 消息,然后,该消息通过 HTTP/TCP/IP (3) 通道发送到主机 B 的正常 HTTP 端口 (4)。当它到达主机 B 后,该包通过通道被路由到 FEP (5),包被解码,并生
9、成 TCP/IP 数据包,插入到主机 B 的协议堆栈 (6)。该包就被路由到主机 B (7) 的应用程序,就好象不存在防火墙 (8) 一样。 主机 A 主机 B - - | App | (1) | App | (7) |-| |-| | TCP | | TCP | |-| |-| | IP | | IP | (6) |-| |-| | FEP dvr | (2) | FEP dvr | (5) |-| |-| | TCP | | TCP | |-| |-| | IP | 防火墙 (8) | IP | - - - | (3) | | (4) +-| |-+ | | | | - 图 13.1 HT
10、TP 方法 FEP 允许任一方看起来象客户端或服务器端,每个 TCP/IP 包都可作为 HTTP GET 请求或 GET 请求应答被发送。这种灵活性在下述方面与防火墙工作得很好:试图验证通过防火墙有效的 HTTP 命令,阻止对 FEP 包不必要的捕获。3.2 TCP 头封装: 将 TCP/IP 包编码进 HTTP 命令有两个步骤 (或可选三个)。第一步,IP 包按 3 中所指定的 MIME 格式编码进消息体内;第二步,TCP 4 包头进行解析并编码进新的 HTTP 头中。最后,作为可选项,IP 头也被编码进新的可选的 HTTP 头中。TCP 和可选的 IP 头编码确实具有易读性,因为整个 IP
11、 数据包被编码进 HTTP 命令体的部分。 该提议定义了下列描述 TCP 头信息的新 HTTP 头。 TCP_value_opt - 该 ASCII 字串表示 TCP 字段的编码类型,这里不指定强制编码类型。 合法值是: TCP_binary - 字段值二进制表示值的 ASCII 表示。 TCP_hexed - 字段值十六进制表示值的 ASCII 表示。 TCP_Sport - 16-bit TCP 源端口号,以 ASCII 字串编码,表示端口号的值。 TCP_Dport - 16-bit TCP 目的端口号,以 ASCII 字串编码,表示端口号的值。 TCP_SeqNum - 32-bit 序列号,以 ASCII 字串编码,表示序列号的十六进制值。该字段必须(MUST)按小写字符发送,因为它不紧急。 TCP_Ackl - 32-bit 确认号,以 ASCII 字串编码,表示确认号的值。 TCP_DODO