防火墻是在網絡之間實施訪問控制策略的壹個系統或壹組系統。防火墻的實際實現方式各不相同,但原則上可以把防火墻看成壹對機制:壹個機制是阻斷傳輸流,另壹個機制是允許傳輸流通過。壹些防火墻側重於阻止傳輸流的通過,而另壹些則側重於允許傳輸流通過。也許理解防火墻最重要的概念是它實現了壹個訪問控制策略。如果妳不確定妳需要允許或者拒絕什麽樣的訪問,妳可以讓別人或者某些產品按照他們認為自己應該做的來配置防火墻,然後他們會綜合的為妳的組織制定訪問策略。
2.為什麽需要防火墻?
和其他任何社會壹樣,互聯網被壹些無聊的人困擾著,他們喜歡在網上做這樣的事情,就像在別人的墻上噴塗鴉,撞倒別人的郵箱或者坐在街上按汽車喇叭。壹些人試圖通過互聯網做壹些真正的工作,而另壹些人則需要保護敏感或專有數據。壹般來說,防火墻的目的是把那些無聊的人擋在妳的網絡之外,同時,妳仍然可以完成妳的工作。
許多傳統企業和數據中心已經制定了必須遵循的計算安全政策和實踐。在公司的安全政策規定必須保護數據的情況下,防火墻就更加重要了,因為它是公司安全政策的具體體現。如果妳的公司是壹家大企業,連接互聯網最困難的工作往往不是成本或要做的工作,而是說服管理層上網是安全的。防火墻不僅提供了真正的安全,而且在為管理披上壹層安全的外衣方面起著重要的作用。
最後,防火墻可以扮演企業互聯網“大使”的角色。許多企業將其防火墻系統用作保存關於其產品和服務的公共信息、下載文件、修復錯誤和其他文件的地方。其中有幾個系統已經成為互聯網服務結構的重要組成部分(如UUnet.uu.net、whitehouse.gov和gatekeeper.dec.com),並給這些機構的發起者帶來了良好的影響。
3.防火墻可以防範什麽?
有些防火墻只允許電子郵件通過,從而保護網絡免受除電子郵件服務之外的任何攻擊。其他防火墻提供不太嚴格的保護措施,並阻止壹些已知有問題的服務。
壹般來說,防火墻被配置成防止來自“外部”世界的未經授權的交互式登錄。這大大有助於防止破壞者登錄到您網絡中的計算機。壹些更精細的防火墻可以阻止來自外部的傳輸流進入內部,但允許內部用戶與外部自由通信。如果妳切斷防火墻,它可以保護妳免受網絡上的任何攻擊。
防火墻的另壹個非常重要的特性是,它可以提供壹個單獨的“阻塞點”,在這個點上可以設置安全和審計檢查。與計算機系統被使用調制解調器的人攻擊的情況不同,防火墻可以起到有效的“電話竊聽”和跟蹤工具的作用。防火墻提供了重要的記錄和審計功能;它們通常可以為管理員提供情況摘要,提供有關通過防火墻的流的類型和數量以及已嘗試入侵防火墻的次數的信息。
4.防火墻不能防範什麽?
防火墻無法防範未通過防火墻的攻擊。許多連接到互聯網的企業非常擔心公司特定數據通過訪問路徑被泄露。不幸的是,出於這些考慮,磁帶可以有效地用於泄漏數據。許多組織的管理層非常害怕互聯網接入,他們在如何保護通過調制解調器的撥號接入方面沒有壹致的政策。當妳住在木頭房子裏,裝上六英尺厚的鋼門,會被認為是愚蠢的。然而,許多組織購買了昂貴的防火墻,卻忽略了網絡的其他幾個後門。為了使防火墻發揮作用,它必須成為整個組織安全架構中不可分割的壹部分。防火墻的策略必須是現實的,能夠反映整個網絡的安全水平。例如,壹個存儲超機密或機密數據的網站根本不需要防火墻:首先,它根本不應該連接到互聯網,或者存儲真正機密數據的系統應該與企業網絡的其余部分隔離。
防火墻無法真正保護妳的另壹個危險是妳網絡中的叛徒或白癡。雖然工業間諜可以通過防火墻發送信息,但他更可能使用電話、傳真機或軟盤來發送信息。軟盤比防火墻更有可能成為泄露組織秘密的媒介!防火墻也不能保護妳免受愚蠢行為的影響。通過電話泄露敏感信息的用戶是社會工程的壹個很好的目標。如果攻擊者可以找到壹個“對他有幫助”的內部員工,把他騙進調制解調器池,攻擊者就有可能完全繞過防火墻,闖入妳的網絡。
5.防火墻能防止病毒攻擊嗎?
防火墻不能有效地防止病毒之類的東西入侵。網絡上傳輸二進制文件的編碼方式太多,不同的結構和病毒太多,不可能把所有的病毒都找出來。換句話說,防火墻不可能給用戶安全意識。總之,防火墻無法防止數據驅動的攻擊:即通過郵寄或復制壹些東西到內部主機,然後在內部主機上運行的攻擊。在過去,不同版本的郵件發送程序、ghost腳本和免費PostScript閱讀器都曾受到過此類攻擊。
非常擔心病毒的組織應該在整個組織中采取病毒控制措施。不要試圖把病毒擋在防火墻之外,而是要確保每壹個脆弱的桌面系統都裝有病毒掃描軟件,電腦壹開機就掃描病毒。使用病毒掃描軟件來保護您的網絡將防止病毒攻擊通過軟盤,調制解調器和互聯網傳播。試圖將病毒擋在防火墻之外,只能阻止來自互聯網的病毒,而大多數病毒都是通過軟盤感染的。
然而,越來越多的防火墻制造商正在提供“病毒檢測”防火墻。這種防火墻只對交換Windows-on-Intel執行程序和惡意宏應用程序文檔的無經驗用戶有用。不要指望這個特性能對攻擊起到任何防範作用。
6.防火墻設計中需要做出哪些基本的設計決策?
在負責防火墻設計、制定工程方案和實施或監督安裝的幸運兒面前,有許多基礎的設計問題等著他去解決
首先,最重要的問題是,它應該反映您的公司或組織打算如何運行此系統的策略:安裝的防火墻是為了明確拒絕除連接到網絡所必需的服務之外的所有服務,或者安裝的防火墻是為了提供壹種以非威脅方式測量和審計“排隊”訪問的方法。這些選擇中有壹定程度的偏執;防火墻的最終功能可能是壹種管理結果,而不是工程決策。
第二個問題是:您需要什麽級別的監控、冗余和控制?通過解決第壹個問題,確定可接受的風險水平(比如妳有多偏執),妳就可以列出哪些傳輸必須被監控,哪些傳輸必須被允許,哪些傳輸應該被拒絕。換句話說,妳在壹開始就列出妳的總體目標,然後把需求分析和風險評估結合起來,挑出總是與風險相反的需求,添加到計劃工作的列表中。
第三個問題是財政。在這裏,我們只能模糊地討論這個問題,但試圖通過購買或實施解決方案的成本來量化所提出的解決方案是非常重要的。例如,完整防火墻的高端產品可能價值6.5438億美元,而低端產品可能是免費的。像在思科或類似的路由器上做壹些美妙的配置這樣的免費選擇不會花妳壹分錢,只需要員工的時間和幾杯咖啡。從零開始建立壹個高端防火墻可能需要幾個人工月,這可能等於價值3萬美元的員工工資和利潤。系統管理開銷也是需要考慮的問題。建立壹個自主開發的防火墻是好的,但重要的是要在沒有昂貴的不斷幹預的情況下制作防火墻。換句話說,在評估防火墻時,不僅要根據其當前成本進行評估,還要考慮後續成本,如支持服務。
出於實用目的,我們討論的是網絡服務提供商提供的路由器和您的內部網絡之間的靜態傳輸流路由服務。因此,基於這壹事實,需要做出幾個技術決策。傳輸流路由服務可以通過過濾規則(如路由器)在IP層實現,也可以通過代理網關和服務在應用層實現。
要做出的決定是是否將暴露的PC放在外部網絡上運行telnet、ftp、news等的代理服務。,或者是否設置類似過濾器的屏蔽路由器,以允許與壹臺或多臺內部計算機進行通信。這兩種方法各有利弊。代理可以提供更高級別的審計和潛在的安全性,但代價是增加配置成本和降低可能的服務級別(因為代理需要為每個所需的服務進行開發)。長久以來,便利性和安全性之間的平衡再次困擾著我們。
7.防火墻有哪些基本類型?
從概念上講,有兩種類型的防火墻:
1,網絡級防火墻
2.應用層防火墻
這兩種類型的區別沒有妳想的那麽大。最新的技術模糊了它們之間的區別,使得哪個“更好”或“更差”變得不那麽明顯。壹如既往,您需要仔細選擇符合您需求的防火墻類型。
網絡級防火墻通常根據源地址和目的地址做出決定,並輸入單個IP數據包。簡單的路由器是“傳統的”網絡級防火墻,因為它不能做出復雜的決策,也不能判斷壹個包的實際意義或者這個包的實際來源。現代的網絡級防火墻已經變得越來越復雜,可以保留訪問狀態、某些數據流的內容以及流經其中的其他相關信息。很多網絡級防火墻的壹個重要區別就是防火墻可以讓傳輸流直接通過,所以通常需要分配壹個有效的IP地址塊才能使用這樣的防火墻。網絡級防火墻通常很快,並且對用戶透明。
網絡級防火墻示例:在此示例中,給出了壹種稱為“屏蔽主機防火墻”的防火墻。
防火墻)網絡級防火墻。在屏蔽主機的防火墻中,進出單臺主機的訪問由運行在網絡層的路由器控制。這個單個主機就是橋頭主機,是壹個高度設防的安全堡壘,可以(有希望)抵禦攻擊。
網絡級防火墻的例子:在這個例子中,給出了所謂的“屏蔽子網防火墻”。在屏蔽子網防火墻中,進出網絡的訪問由運行在網絡層的路由器控制。它類似於屏蔽主機,只是它實際上是由屏蔽主機組成的網絡。
應用層防火墻壹般是運行代理服務器的主機,不允許傳輸流在網絡間直接傳輸,對通過它的傳輸流進行記錄和審計。因為代理應用程序是在防火墻上運行的軟件組件,所以它是實現記錄和訪問控制的理想位置。應用級防火墻可以作為網絡地址翻譯器,因為通過有效屏蔽最初訪問原站點的應用,傳輸流從壹側進來,從另壹側出去。在某些情況下,設置應用程序級防火墻後,可能會影響性能,並使防火墻不太透明。早期的應用級防火墻,如TIS firewall toolkit構建的防火墻,對最終用戶不是很透明,需要培訓。與網絡級防火墻相比,應用級防火墻通常提供更詳細的審計報告,並實施更保守的安全模型。
應用層防火墻的例子:在這個例子中,給出了稱為“雙歸屬網關”的應用層防火墻。雙向本地網關是運行代理軟件的高度安全的主機。它有兩個網絡接口,每個網絡上有壹個接口,它阻塞所有通過它的傳輸流。
防火墻未來的定位應該是介於網絡級防火墻和應用級防火墻之間的某個地方。網絡級防火墻可能會越來越了解流經它們的信息,而應用級防火墻可能會變得更加“低級”和透明。最終結果將是壹個快速的數據包篩選系統,可以記錄和審核通過的數據流。越來越多的防火墻(網絡和應用層)包括加密機制,這使它們能夠保護它們之間在互聯網上流動的傳輸流。使用多點互聯網接入的組織可以使用具有端到端加密功能的防火墻。這些組織可以使用互聯網作為“專用主幹網”,而不用擔心他們的數據或密碼被偷看。
8.什麽是“單點故障”?如何避免這種失敗?
安全性依賴於其結構具有單點故障的機制。運行橋頭主機的軟件出錯。應用程序中有錯誤。控制路由器的軟件出錯。使用所有這些組件來構建安全網絡並以冗余方式使用它們是有意義的。
如果您的防火墻結構是壹個屏蔽子網,那麽您有兩個包過濾路由器和壹個橋頭主機。(見本節問題2)互聯網接入路由器不允許傳輸流從互聯網進入您的專用網絡。但是,如果不在橋頭主機和/或扼流路由器上用任何其他機制實現這個規則,只要這個結構中的壹個組件出現故障或被破壞,攻擊者就會進入防火墻。另壹方面,如果在橋頭主機上有冗余規則,在阻塞路由器上有冗余規則,那麽攻擊者必須處理三種機制。
此外,如果這個橋頭主機或阻塞路由器使用規則來阻止外部訪問內部網絡,您可能需要讓它觸發某種警報,因為您知道有人進入了您的接入路由器。
9.如何將所有惡意傳輸拒之門外?
對於註重安全性而非連接性的防火墻,妳應該考慮默認阻止所有傳輸,根據具體情況只允許妳需要的服務通過。
如果除了壹個特定的服務集之外,您將所有東西都排除在外,那麽您的任務就變得非常簡單了。妳不用擔心身邊每壹個產品和服務的安全問題,妳只需要關註具體產品和服務的安全問題。:-)
在啟動服務之前,您應該考慮以下問題:
*該產品的協議是眾所周知的公開協議嗎?
*為本協議提供服務的應用程序的應用程序是否可供公眾檢查?
*這項服務和產品是否廣為人知?
*使用此服務將如何改變防火墻的結構?攻擊者會從不同的角度看待這個問題嗎?攻擊者可以利用它進入我的內部網絡嗎?或者它會改變我的DMZ中主機上的東西嗎?
在考慮上述問題時,請謹記以下忠告:
*“未知安全根本不安全。很多未公開的協議都被那些壞人研究破解了。
*不管營銷人員怎麽說,並不是所有的協議或服務在設計時都考慮到了安全性。事實上,真正考慮安全性的協議或服務數量非常少。
*即使考慮到安全,也不是所有機構都有合格人員負責安全。在那些沒有合格人員負責安全的機構中,並不是所有的機構都願意邀請合格的顧問參與工程項目。這樣壹來,其他方面有能力又善良的開發者就會設計出不安全的系統。
*制造商越不想告訴妳他們的系統是如何工作的,就越有可能出現安全(或其他)問題。只有有所隱瞞的廠商才有理由隱瞞自己的設計和實現。
10.常見的攻擊有哪些?如何保護系統免受他們的攻擊?
每個站點的攻擊類型都與其他站點略有不同。但還是有壹些相似之處。
SMTP會話黑客(SMTP會話黑客)
在這種攻擊中,垃圾郵件發送者復制數千份郵件,並將其發送到大量電子郵件地址。因為這些地址列表通常是壞的,並且為了加快垃圾郵件發送者的操作,許多垃圾郵件發送者采用了將他們的所有電子郵件發送到SMTP服務器的做法,該服務器負責實際發送這些電子郵件。
當然,反彈消息,對垃圾制造者的投訴,詛咒郵件和糟糕的公關都湧入了這個曾經被用作中轉站的網站。這將真正花費這個網站,其中大部分將用於支付人員誰將清除這些信息後。
“郵件濫用預防系統傳輸安全倡議”詳細描述了這個問題,以及如何配置每個發件人來防止這種攻擊。
利用應用程序中的錯誤。
不同版本的web服務器、郵件服務器和其他互聯網服務軟件都存在各種錯誤。因此,遠程(互聯網)用戶可以利用這些錯誤做各種各樣的事情,從控制計算機到癱瘓應用程序。
只運行必要的服務,用最新的補丁打補丁,使用已經用了壹段時間的產品,可以降低遇到這種風險的可能性。
利用操作系統中的錯誤
這種攻擊通常由遠程用戶發起。與IP網絡相比,較新的操作系統更容易出現問題,而成熟的操作系統有充足的時間來發現和清除現有的錯誤。攻擊者通常會重啟、癱瘓、失去與網絡通信的能力,或者替換計算機上的文件。
因此,盡可能少地運行操作系統服務有助於防止對系統的攻擊。此外,在操作系統前端安裝包過濾也可以大大減少此類攻擊的數量。
當然,選擇穩定的操作系統也會有所幫助。在選擇操作系統的時候,不要相信“好貨不便宜”的說法。自由軟件操作系統通常比商業操作系統更健壯。
11.我必須滿足用戶的所有要求嗎?
這個問題的答案完全有可能是“沒有”。每個網站都有自己的策略,知道自己需要什麽,不需要什麽,但重要的是要記住,作為壹個機構的看門人,主要工作之壹是教育。用戶需要流式視頻、實時聊天,並向請求在內部網絡上對實時數據庫進行交互式查詢的外部客戶提供服務。
這意味著任何這樣的事情的完成都會給組織帶來風險,而造成的風險往往高於妳想象的沿著這條路走下去的“價值”的回報。大多數用戶不希望將他們的機構置於風險之中。他們只看商標,看廣告,願意做那些事。重要的是要知道用戶真正想做什麽,並幫助他們明白,他們可以用更安全的方式實現他們真正的目標。
妳不會壹直受歡迎。妳甚至可能會發現自己收到難以置信的愚蠢命令,去做壹些像“張開所有的嘴”這樣的事情,但是不要為此擔心。此時此刻,明智的做法是保存妳所有的交換數據,這樣當壹個十二歲的孩子闖入網絡時,妳至少可以讓自己遠離混亂。
12.如何通過自己的防火墻運行Web/HTTP?
有三種方法可以做到這壹點:
1.如果使用屏蔽路由器,允許“已建立”的連接通過路由器訪問防火墻外部。
2.使用支持SOCKS的Web客戶端,並在橋頭主機上運行SOCKS。
3.在橋頭主機上運行具有代理功能的Web服務器。TIS防火墻工具包中的壹些替代代理服務器包括Squid、Apache、Netscape Proxy和connections。基本上所有的網絡客戶端(Mozilla,Internet Explorer,Lynx等。)內置了對代理服務器的支持。
13.使用防火墻時如何使用DNS?
壹些組織希望對外界隱藏DNS名稱。許多專家認為隱藏DNS名稱的價值不大,但如果網站或企業的政策強制隱藏,這是壹種已知的可行方法。您可能必須隱藏域名的另壹個原因是您的內部網絡中是否存在非標準的尋址方案。不要自欺欺人地認為,如果妳隱藏妳的DNS名稱,它會使攻擊者更難闖入妳的防火墻。關於您的網絡的信息可以很容易地從網絡層獲得。如果妳有興趣確認這壹點,不妨“ping”壹下局域網上的子網廣播地址,然後執行“arp -a”。還需要註意的是,在DNS中隱藏域名並不能解決從郵件頭、新聞文章等中“暴露”主機名的問題。
這種方法是許多方法中的壹種,對於希望在Internet上隱藏其主機名的組織來說非常有用。這種方法的成功取決於壹臺機器上的DNS客戶端不必與同壹臺機器上的DNS服務器通信。換句話說,因為壹臺機器上有壹個DNS服務器,所以將這臺機器的DNS客戶端活動重定向到另壹臺機器上的DNS服務器並沒有錯(而且通常是有益的)。
首先,在可以與外界通信的橋頭主機上設置壹個DNS服務器。您設置了此服務器,以便它可以聲明對您的域名的訪問。其實這個服務器知道的就是妳想讓外界知道的:妳的網關的名稱和地址,妳的通配符MX記錄等等。該服務器是“公共服務器”。
然後,在內部機器上設置壹個DNS服務器。此服務器還要求您的域名的權利;與公共服務器不同,這個服務器“說實話”。它是妳的“普通”命名服務器,妳可以把妳所有的“普通”DNS名字放在這個服務器上。您再次設置此服務器,以便它可以將無法解決的查詢轉發到公共服務器(例如,使用/etc/
named.boot中的“轉發器線路”)。
最後,設置所有DNS客戶機(例如,Unix上的/etc/resolv.conf文件)使用內部服務器,包括公共服務器所在機器上的DNS客戶機。這是關鍵。
請求內部主機信息的內部客戶端向內部服務器提問並獲得答案;查詢外部主機信息的內部客戶端查詢內部服務器,內部客戶端查詢公共服務器,公共服務器查詢互聯網,然後逐步返回獲得的答案。公共服務器上的客戶端以同樣的方式工作。然而,外部客戶端詢問內部主機的信息只能從公共服務器得到“受限”的回答。
這種方法假設兩臺服務器之間有壹個包過濾防火墻,允許服務器相互傳遞DNS,但限制其他主機之間的DNS。
另壹個有用的技巧是在ADDR使用通配符PTR記錄。AROA域名。這將導致任何非公共主機的“地址到名稱”查找返回類似“未知”的信息。而不是返回壹個錯誤。這符合匿名FTP站點的要求,如ftp.uu.net。此類網站需要與它們通信的計算機的名稱。當與交叉檢查DNS的站點通信時,此方法不起作用。在交叉檢查中,主機名應該與其地址匹配,地址也應該與主機名匹配。
14.如何通過防火墻使用FTP?
壹般來說,FTP可以通過使用防火墻工具包中的ftp-gw等代理服務器,或者允許在有限的端口範圍內訪問網絡(使用“已建立”的屏蔽規則等規則限制上述端口以外的訪問)來穿越防火墻。然後,修改FTP客戶端,將數據端口連接到允許端口範圍內的端口。為此,您需要能夠修改
FTP客戶端應用程序。
在某些情況下,如果FTP下載是您想要支持的,您不妨考慮宣布FTP為“死亡協議”,讓用戶通過Web下載文件。如果您選擇FTP-via-Web模式,用戶將無法使用FTP傳輸文件,這可能會導致問題,但這取決於您試圖完成的任務。
另壹種不同的方法是使用FTP“PASV”選項來指示遠程FTP服務器允許客戶端開始連接。PASV模式假設遠程系統上的FTP服務器支持此操作。(詳情請參考RFC1579)
其他網站更喜歡構建根據SOCKS庫鏈接的FTP程序的客戶端版本。
15.如何通過防火墻使用telnet?
通常可以通過使用防火墻工具包中的tn-gw之類的應用程序代理來支持Telnet,或者通過使用諸如“已建立的”篩選規則之類的策略來簡單地配置路由器以允許傳出。應用程序代理可以以在橋頭主機上運行的獨立代理的形式存在,或者以SOCKS服務器和修改後的客戶端的形式存在。
16.如何通過防火墻使用RealAudio?
RealNetworks包含壹些如何讓RealAudio通過防火墻的說明。在不清楚要做什麽改變以及新的改變會帶來什麽風險的情況下,改變妳的防火墻是不明智的。
17.如何才能讓web服務器成為專網上數據庫的前端?
實現這壹點的最佳方法是通過特定的協議在web服務器和數據庫服務器之間建立非常有限的連接。特定協議僅支持您將使用的功能級別。壹般來說,允許原始SQL或攻擊者可以用來進行定制提取的任何東西並不是壹個好主意。
假設攻擊者可以訪問您的web服務器,並以與web服務器相同的方式查詢它。難道沒有壹種機制可以提取web服務器不需要的像信用卡信息這樣的敏感信息嗎?難道攻擊者不能進行SQL選擇,然後提取您的整個私有數據庫嗎?
像所有其他應用程序壹樣,“電子商務”應用程序從壹開始就考慮到了安全問題,而不是在後來“增加”安全性。應該從攻擊者的角度嚴格檢查您的結構。假設攻擊者知道妳的結構的每個細節。現在,問問妳自己,如果妳想竊取妳的數據,進行未經授權的更改或做任何其他妳不想做的事情,妳應該怎麽做。妳可能會發現,妳不需要添加任何功能,只需要做壹些設計和實現決策,就可以大大增加安全性。
以下是如何做到這壹點的壹些想法:
作為壹般原則,從數據庫中提取妳需要的數據,這樣妳就不必查詢包含攻擊者感興趣的信息的整個數據庫。對允許在web服務器和數據庫之間傳輸的流實施嚴格的限制和審核。