?? rfc3093.txt
?? RFC中文技術(shù)文檔
?? TXT
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
??
組織:中國(guó)互動(dòng)出版網(wǎng)(http://www.china-pub.com/)
RFC文檔中文翻譯計(jì)劃(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
譯者:prince1680(prince1680 prince1680@163.com)
譯文發(fā)布時(shí)間:2001-5-24
版權(quán):本中文翻譯文檔版權(quán)歸中國(guó)互動(dòng)出版網(wǎng)所有。可以用于非商業(yè)用途自由轉(zhuǎn)載,但必須
保留本文檔的翻譯及版權(quán)信息。
Network Working Group M. Gaynor
Request for Comments: 3093 S. Bradner
Category: Informational Harvard University
1 April 2001
防火墻增強(qiáng)協(xié)議
(RFC3093 Firewall Enhancement Protocol (FEP))
本備忘錄的狀態(tài)
本備忘錄提供了 Internet community 的信息,但不說(shuō)明任何一種類(lèi)型的 Internet 標(biāo)
準(zhǔn)。發(fā)布本備忘錄不受限制。
版權(quán)聲明
Copyright (C) The Internet Society (2001). All Rights Reserved.
概要
Internet 端到端體系結(jié)構(gòu)的透明性允許對(duì)其進(jìn)行新技術(shù)和服務(wù)的創(chuàng)新 [1],但是,近來(lái)
防火墻技術(shù)的發(fā)展改變了這種模式,制約了創(chuàng)新。我們提議了允許創(chuàng)新且不違反防火墻安全
模型的防火墻增強(qiáng)協(xié)議(FEP)。在沒(méi)有防火墻管理員的協(xié)助下,F(xiàn)EP 允許任何應(yīng)用程序通過(guò)
防火墻。我們的方法是,將任何應(yīng)用程序的傳輸控制協(xié)議/用戶(hù)數(shù)據(jù)報(bào)協(xié)議 (TCP/UDP) 包置
于超文本傳輸協(xié)議 (HTTP) 之上,因?yàn)?HTTP 包具有可通過(guò)防火墻的代表性。 由于防火墻被
設(shè)計(jì)用來(lái)阻止外部攻擊和忽略?xún)?nèi)部威脅,故該方案并不違反實(shí)際防火墻的安全有效性。FEP 的
使用需要從防火墻內(nèi)部的主機(jī)上進(jìn)行協(xié)同操作,所以它與當(dāng)前防火墻的安全模型相兼容。FEP
在防火墻的安全性和防火墻的透明傳輸通道兩個(gè)方面達(dá)到最好。
1.0 術(shù)語(yǔ)
本文檔中的關(guān)鍵字 "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", 和 "OPTIONAL" 在 RFC 2119 中已解
釋。
2.0 簡(jiǎn)介
Internet 現(xiàn)在已做得很好了,考慮過(guò)去的 10 年間,telco's 宣稱(chēng) Internet 甚至不能
在社團(tuán)環(huán)境下工作。這有許多原因,其中最主要的一點(diǎn)就是由 Reed, Seltzer, 和 Clark 討
論的端到端的論點(diǎn) [2]。最后的創(chuàng)新是提出了動(dòng)手比構(gòu)思更有價(jià)值的有力方法。但是,世界
正象 Clark 所指出的那樣已在改變 [6]。 社團(tuán)世界接入 Internet,安全性尤為重要,甚至
付出阻斷端到端模式的代價(jià)。
一個(gè)這樣的例子就是防火墻 - 一種阻止外來(lái)者未經(jīng)授權(quán)訪(fǎng)問(wèn)社團(tuán)內(nèi)部的設(shè)備。我們的新
協(xié)議,防火墻增強(qiáng)協(xié)議 (FEP),就是為在保持防火墻建立的安全層次上恢復(fù)端到端模式而設(shè)
計(jì)的。
要看到端到端模型多么強(qiáng)大,請(qǐng)考慮以下例子。如果 Scott 和 Mark 有個(gè)好主意和實(shí)現(xiàn)
才能,他們可以制造一個(gè)物品,使用它,并可以送給朋友,若朋友們要保留它,把它做得更
好也許是個(gè)好主意。現(xiàn)在加入防火墻:如果 Mark 正好在一家安裝了防火墻的公司工作,他
將不能與他的朋友 Scott 進(jìn)行試驗(yàn),創(chuàng)新將更困難,也許不可能實(shí)現(xiàn)。要使 Scott 和 Mark
能夠做試驗(yàn),IT 管理員應(yīng)該做什么,以便于更好地服務(wù)于他們的用戶(hù)呢?這就是 web 如何
建立的:一個(gè)有才能的人,某些好主意和創(chuàng)新的能力。
防火墻很重要,并且我們尊重每個(gè)人無(wú)論怎樣保護(hù)他們自己的權(quán)利 (在其他人不麻煩的時(shí)
候)。 防火墻在工作,并在 Internet 中有一席之地。無(wú)論如何,防火墻是為阻止外部的威
脅而提供保護(hù)的,不是為內(nèi)部的。我們提議的協(xié)議不違反防火墻的安全模型;它仍能阻止外
部危險(xiǎn),特別是防火墻能提供保護(hù)的危險(xiǎn)。因?yàn)閷?duì)防火墻內(nèi)部的人來(lái)說(shuō),我們的協(xié)議必須運(yùn)
行在可以訪(fǎng)問(wèn) TCP 端口 80 的應(yīng)用層。我們的概念是在繞過(guò)防火墻 IT 管理員的看管下而與
安全級(jí)一致。我們的自主提議是沒(méi)有額外的對(duì)外部安全妥協(xié)的創(chuàng)新,并且最好的,是不需要
浪費(fèi)包括任何管理員贊同的時(shí)間。
我們的主意來(lái)源于日益增多的使用 HTTP 的應(yīng)用程序,因?yàn)樗鼈兛梢酝ㄟ^(guò)防火墻的阻攔。
這種特定應(yīng)用程序的零碎配置不足以與防火墻的創(chuàng)新相提并論,我們決定開(kāi)發(fā)一個(gè)基于 HTTP
的 TCP/IP 的過(guò)程。使用這種創(chuàng)新,任何人都可以立即使用任何新的 TCP/IP 應(yīng)用程序,而
不必使用艱苦的 過(guò)程通過(guò)防火墻來(lái)訪(fǎng)問(wèn)特定的應(yīng)用程序。該提議的一個(gè)計(jì)劃外副產(chǎn)品是,對(duì)
已存在的 TCP/IP 應(yīng)用程序來(lái)說(shuō),也可更好地服務(wù)于用戶(hù)。 用戶(hù)通過(guò) FEP 可以決定他們可
以運(yùn)行哪些應(yīng)用程序。
我們的提議比較簡(jiǎn)單,部分基于 Eastlake [3] 提議中的 IP 包的 MIME 編碼。我們使用
隨處可見(jiàn)的 HTTP 協(xié)議格式。IP 數(shù)據(jù)包攜帶于 HTTP 消息的消息體內(nèi),TCP 包的頭信息編碼
進(jìn)消息的 HTTP 頭內(nèi)。這種頭字段的 ASCII 編碼方式有很多優(yōu)點(diǎn),包括易讀性,增加新應(yīng)用
程序的可調(diào)試性,包信息的記錄容易性。如果該協(xié)議被廣泛采納,象 tcpdump 之類(lèi)的工具將
變得過(guò)時(shí)。
3.0 FEP 協(xié)議
圖 1 表示了協(xié)議的高層視圖。主機(jī) A 的應(yīng)用程序 (1) (位于防火墻外) 發(fā)送一個(gè)
TCP/IP 數(shù)據(jù)包到主機(jī) B (位于防火墻內(nèi))。通過(guò)通道接口,TCP/IP 數(shù)據(jù)包路由到我們的 FEP
軟件 (2),并將數(shù)據(jù)包編碼進(jìn)一個(gè) HTTP 消息,然后,該消息通過(guò) HTTP/TCP/IP (3) 通道發(fā)
送到主機(jī) B 的正常 HTTP 端口 (4)。當(dāng)它到達(dá)主機(jī) B 后,該包通過(guò)通道被路由到 FEP (5),
包被解碼,并生成 TCP/IP 數(shù)據(jù)包,插入到主機(jī) B 的協(xié)議堆棧 (6)。該包就被路由到主機(jī) B
(7) 的應(yīng)用程序,就好象不存在防火墻 (8) 一樣。
主機(jī) A 主機(jī) B
---------- ----------
| App | (1) | App | (7)
|----------| |----------|
| TCP | | TCP |
|----------| |----------|
| IP | | IP | (6)
|----------| |----------|
| FEP dvr | (2) | FEP dvr | (5)
|----------| |----------|
| TCP | | TCP |
|----------| |----------|
| IP | 防火墻 (8) | IP |
---------- --- -----------
| (3) | | ^ (4)
+---------------->| |-----------------------+
| |
| |
---
圖 1
3.1 HTTP 方法
FEP 允許任一方看起來(lái)象客戶(hù)端或服務(wù)器端,每個(gè) TCP/IP 包都可作為 HTTP GET 請(qǐng)求或
GET 請(qǐng)求應(yīng)答被發(fā)送。這種靈活性在下述方面與防火墻工作得很好:試圖驗(yàn)證通過(guò)防火墻有
效的 HTTP 命令,阻止對(duì) FEP 包不必要的捕獲。
3.2 TCP 頭封裝:
將 TCP/IP 包編碼進(jìn) HTTP 命令有兩個(gè)步驟 (或可選三個(gè))。第一步,IP 包按 [3] 中所
指定的 MIME 格式編碼進(jìn)消息體內(nèi);第二步,TCP [4] 包頭進(jìn)行解析并編碼進(jìn)新的 HTTP 頭
中。最后,作為可選項(xiàng),IP 頭也被編碼進(jìn)新的可選的 HTTP 頭中。TCP 和可選的 IP 頭編碼
確實(shí)具有易讀性,因?yàn)檎麄€(gè) IP 數(shù)據(jù)包被編碼進(jìn) HTTP 命令體的部分。
該提議定義了下列描述 TCP 頭信息的新 HTTP 頭。
TCP_value_opt - 該 ASCII 字串表示 TCP 字段的編碼類(lèi)型,這里不指定強(qiáng)制編碼類(lèi)型。
合法值是:
TCP_binary - 字段值二進(jìn)制表示值的 ASCII 表示。
TCP_hexed - 字段值十六進(jìn)制表示值的 ASCII 表示。
TCP_Sport - 16-bit TCP 源端口號(hào),以 ASCII 字串編碼,表示端口號(hào)的值。
TCP_Dport - 16-bit TCP 目的端口號(hào),以 ASCII 字串編碼,表示端口號(hào)的值。
TCP_SeqNum - 32-bit 序列號(hào),以 ASCII 字串編碼,表示序列號(hào)的十六進(jìn)制值。該字段
必須(MUST)按小寫(xiě)字符發(fā)送,因?yàn)樗痪o急。
TCP_Ackl - 32-bit 確認(rèn)號(hào),以 ASCII 字串編碼,表示確認(rèn)號(hào)的值。
TCP_DODO - 4-bit 數(shù)據(jù)偏移值,以 ASCII 字串編碼,表示以比特為單位的 TCP 頭的實(shí)
際長(zhǎng)度的低 32 位值。(通常這是數(shù)據(jù)值乘以 32。)
TCP_6Os - 6-bit 保留位,編碼為 6 個(gè) ASCII 字符的字串。 "O" ("Oh") 表示 "Off"
位,"O" ("Oh") 表示 "On" 位。 (注意,這些字符發(fā)送時(shí)必須(MUST)為 "off",在接收
時(shí)必須(MUST)忽略。)
TCP_FlgBts - TCP 標(biāo)志位,編碼為 5 個(gè)逗號(hào)分隔的 ASCII 字串:[{URG|urg},{ACK|ack},
{PSH|psh},{RST|rst},{SYN|syn},{FIN|fin}]。大寫(xiě)字母表示該標(biāo)志位被置位,小寫(xiě)字母
表示該標(biāo)志位被復(fù)位。
TCP_Windex - 16-bit TCP 窗口大小,以 ASCII 字串編碼,表示窗口中的字節(jié)數(shù)的值。
TCP_Checkit - 16-bit TCP 檢查和字段,以 ASCII 字串編碼,表示檢查和字段糾正一位
的十進(jìn)制值。
TCP_UP - 16-bit TCP 緊急指針,以十六進(jìn)制編碼表示字段的值。該十六進(jìn)制字串必須
(MUST)大寫(xiě),因?yàn)樗硎揪o急。
TCP_Opp_Lst - 以逗號(hào)分隔的可能存在的 TCP 選項(xiàng)列表。每個(gè)選項(xiàng)以 ASCII 字串編碼,
表示選項(xiàng)名,后接括在方括號(hào)內(nèi)的選項(xiàng)指定信息。作為有代表性的選項(xiàng)和它們后續(xù)的編碼,
其他 IP 選項(xiàng)有如下格式:
End of Options: ["End of Options"]
Window scale option: ["Window scale", shift_count], 這里
shift_count 是窗口尺寸因子,以十進(jìn)制 ASCII 字串表示。
3.2 IPv4 頭封裝:
本提議定義了下列新 HTTP 頭,以表示 IPv4 頭信息:
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -