• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    第七章 網絡防火墻(一)

    發布: 2007-7-02 21:50 | 作者: admin | 來源: | 查看: 10次 | 進入軟件測試論壇討論

    領測軟件測試網

    概述

    有人能夠告訴我為什么需要一個商業性的防火墻產品,而不僅僅是使用IPchains 來限制某些數據包和信息資料?那么,在使用時IPchains時我會失去什么呢?是安全性,還是日志登錄功能?

    現在,請恕我直言,在這個問題上毫無疑問的是IPchains已經相當好了,而且從功能和支持范圍(support)上來講,絕大部分時間里甚至比那些商業性防火墻更好用。而且相對于使用商業解決方案,使用IPchains會讓你更加清楚防火墻對網絡產生的影響,F在,許多公司會告訴他們的股東,諸如CEO/CTO等等,他們有著名的安全軟件公司做支持。防火墻實際上什么都不做,只是讓網絡中所有信息都順利通過而已。而且如果使用商業性產品,公司將會感到比使用那些稍有不慎就出麻煩的軟件更加容易方便。

    最后一點,如果網絡被攻破,許多公司都想能夠恢復到原狀,并從防火墻廠商那里獲得一定的賠償,他們也不管是否確實能從廠商那里得到什么。對于開源解決方案(Open Source Solution),他們所做的比較典型的方法就是只是解雇實施這個方案的人。至少對一些基于Linux的商業性防火墻是這樣的。因此就有這種可能,IPchains對于你是足夠安全的,而對那些需要與大量股本和債券打交道的人就不是。(在準備為一個價格昂貴的防火墻花費大筆開銷之前,做一個性價比分析,并問一些關心的問題是我們推薦的做法,否則,你可能反而會被一些不如IPchains的產品搞得焦頭爛額),F在,只有很少的NT防火墻性能跟IPchains差不多,而且總的來說,對NT防火墻一致的意見是在系統bug上,而NT的系統bug是“NT遠非一個真正安全的系統”。

    網絡防火墻安全策略

    一個組織的全局性安全策略必須根據安全分析和業務需求分析來決定。因為防火墻只與網絡安全有關,所以只有在正確定義了全局安全策略的情況下,防火墻才具有一定的價值。網絡防火墻安全策略是指要明確定義那些允許使用或禁止使用的網絡服務,以及這些服務的使用規定和規定中的一些特殊情況。而且,網絡防火墻安全策略中的每一條規定都應該在實際應用時得到實現?偟膩碚f,一個防火墻應該使用以下方法之一。

    每一個沒有明確允許的都被拒絕
    這種方法堵塞了兩個網絡之間的所有流量,除了那些被明確允許的服務和應用程序(application)。因此,每一個想保留的服務和應用程序都應該挨個實現,而任何一個可能成為防火墻漏洞的服務和應用程序都不能允許使用。剛才所說的是一個最安全的方法,那就是除非是系統管理員明確允許使用的服務和應用程序,否則都必須拒絕。另一方面,從用戶的角度來看,這樣可能會限制更多,不是非常方便。在本書中,我們在防火墻配置中會使用這種方法。

    每一個沒有明確拒絕的都允許
    這種方法允許兩個網絡之間所有流量,除非那些被明確禁止的服務和應用程序。因此,每一個不信任或有潛在危害的服務和應用程序都應該逐個拒絕。但是,雖然這對用戶是一個靈活和方便的方法,它卻可能引起一些嚴重的安全問題。

    包過濾
    包過濾是一種內置于Linux 核心的防火墻類型。過濾型防火墻工作在網絡層。數據只有在防火墻規定允許的情況下才能發出去,而到達的包要則根據它們的類型,源地址,目的地址和每個包中包含的端口信息進行過濾。

    在絕大部分時間里,包過濾的工作是由一個能根據過濾規定轉發數據包的路由器完成的。當一個數據包到達一個能進行包過濾的路由器時,這個路由器從該數據包的包頭中解讀某些信息,然后根據過濾規定決定數據包是通過還是被丟棄。

    下面是能從包頭中解讀的信息:

    源IP地址
    目的IP地址
    TCP/UDP源端口
    TCP/UDP目的端口
    ICMP消息類型
    協議信息(TCP,UDP,ICMP或IP隧道)

    因為只需要分析很少的數據,而且登錄到防火墻只占用很少CPU時間,網絡延遲也非常小,所以如果想使用防火墻保護網絡系統,可以通過很多種方法來建設網絡。

    拓撲結構

    在網絡中,所有的服務器都至少必須關閉所有沒有用的端口,即使它不是一個防火墻服務器。這樣做是為了更安全。想象一下,有人獲得了對防火墻服務器的訪問權,而這只是因為你鄰近的服務器沒有配置成關閉所有端口,才造成這種情況。對于本地連接,這也是一樣的,沒有安全認證的員工能從內部的其他服務器獲得對另一個服務器的訪問權。

    在我們下面的配置中,我們將會給出三個例子,它們有助于你根據要保護的服務器類型和它們在網絡結構中的地位決定防火墻規定。第一個防火墻規定適用于Web服務器,第二個適用于郵件服務器,最后一個適用于作為內部代理服務器使用的網關服務器。詳見圖。


    Caching Only DNS
    208.164.186.3
    Deep.openarch.com
    Master DNS Server
    208.164.186.1
    mail.openarch.com
    Slave DNS Server
    208.164.186.2

    1. Unlimited traffic on the loopback interface allowed
    2. ICMP traffic allowed
    3. DNS Caching and Client Server on port 53 allowed
    4. SSH Server on port 22 allowed
    5. HTTP Server on port 80 allowed
    6. HTTPS Server on port 443 allowed
    7. SMTP Client on port 25 allowed
    8. FTP Server on ports 20, 21 allowed
    9. Outgoing traceroute request allowed

    1. Unlimited traffic on the loopback interface allowed
    2. ICMP traffic allowed
    3. DNS Server and Client on port 53 allowed
    4. SSH Server and Client on port 22 allowed
    5. HTTP Server and Client on port 80 allowed
    6. HTTPS Server and Client on port 443 allowed
    7. WWW-CACHE Client on port 8080 allowed
    8. External POP Client on port 110 allowed
    9. External NNTP NEWS Client on port 119 allowed
    10. SMTP Server and Client on port 25 allowed
    11. IMAP Server on port 143 allowed
    12. IRC Client on port 6667 allowed
    13. ICQ Client on port 4000 allowed
    14. FTP Client on port 20, 21 allowed
    15. RealAudio / QuickTime Client allowed
    16. Outgoing traceroute request allowed

    1. Unlimited traffic on the loopback interface allowed
    2. ICMP traffic allowed
    3. DNS Server and Client on port 53 allowed
    4. SSH Server on port 22 allowed
    5. SMTP Server and Client on port 25 allowed
    6. IMAP Server on port 143 allowed
    7. Outgoing traceroute request allowed

    上表顯示了根據防火墻腳本文件在不同服務器上缺省打開的端口。根據服務器必須要對外提供的服務,你必須配置相應的防火墻腳本文件,以允許在指定端口上的通訊。表中,是我們的Web服務器,mail.openarch.com是唯一對外的郵件服務器,deep.openarch.com是網關服務器。它們會用在本章所有的例子中。

    編譯一個支持IPCHAINS防火墻的內核

    首先,必須確信LINUX內核已經編譯成“Network Firewall support”和“Firewalling”(支持網絡防火墻—譯者注)。記住,所有服務器都至少必須關閉所有不使用的端口,即使它不是防火墻服務器。在內核2.2.14中,必須對下面兩個問題回答“Y”。

    Networking 選項:

    Network firewalls (CONFIG_FIREFALL) [N] Y
    IP: Firewalling (CONFIG_FIREWALL) [N] Y
    IP: TCP syncookie support(CONFIG_SYN_COOKIES) [N] Y

    注釋:如果你在閱讀《Linux 內核》一章時就重新編譯了內核,那么上面這些選項應該已經設置好了。

    只對網關服務器有用的IP Masquerading 和 IP ICMP Masquerading:

    IP: Masquerading (CONFIG_IP_MASQUERADE) [N] Y
    IP: ICMP Masquerading (CONFIG_IP_MASQUERADE_ICMP) [N] Y

    注釋:只有網關服務器才需要支持“IP: Masquerading”和“IP: ICMP Masquerading”內核選項,它需要把內部網對外界偽裝起來。

    在這里,偽裝的意思是,如果在本地網中的一臺計算機想要發送一些東西到網絡外部,而這個本地網絡由一個Linux盒 (Linux box:可以是任何簡易的Linux 設備—譯者注) 充當網絡防火墻,那么這個Linux盒就可以偽裝成那臺要發送內容的計算機。例如,Linux盒轉發了到網絡外部的所有流量,但是對外部來說,這些都象是來自防火墻本身。

    它可以通過兩種方式工作:如果外部主機應答,Linux防火墻就將把這些流量轉發到相應的本地計算機,在這種情況下,在本地網絡中的計算機對于外部是完全不可見的,即使它們可以訪問外界并收到應答。這樣,即使本地網絡中的計算機沒有合法的IP地址也能夠訪問Internet。

    IP偽裝的代碼只能工作在下面這種條件下,即在系統啟動并安裝(mount)了/proc 文件系統之后,“IP轉發”能夠通過下面這行代碼執行:

    echo “1” &gt; /proc/sys/net/ipv4/ip_forward

    你可以在“/etc/rc.d/rc.local”文件中加上這一行,這樣在下次計算機重新啟動時就會自動支持IP轉發。

    編輯“rc.local”文件 (通過 vi /etc/rc.d/rc.local )并加上下面這行:

    echo “1” &gt; /proc/sys/net/ipv4/ip_forward

    注釋:上面有關IP轉發的命令行只有在對內核選項“IP: Masquerading (CONFIG_IP_MASQUERDE)”回答“Y”,并且配置了網關服務器來偽裝內部網絡的情況下才是必須的。

    如果選擇了支持IP Masquerading,模塊ip_masq_ftp.o(用于ftp文件傳輸),ip_masq_irc.o(用于irc chats),ip_masq_quake.o (用途你可以猜得到),ip_masq_vdolive.o(用于VDOLive 的視頻連接),ip_masq_cuseeme.o(用于CU-SeeMe 廣播)和ip_masq_raudio.o(用于RealAudio 下載)將會自動編譯,它們是這些協議工作時所需要的。

    同時,你需要在回答“Enable loadale module support (CONFIG_MODULES)”時選擇“Y”以編譯一個模塊化的內核而不是整體型的內核,這樣就可以在網關服務器上使用偽裝功能和象ip_masq_ftp.o之類的模塊。

    上面所講的對“IP: masquerading”而言的基本偽裝代碼只能處理TCP或UDP包(以及當前連接的ICMP錯誤)。IP: ICMP Masquerading 增加了對偽裝ICMP包的附加支持, 比如Windows 95 跟蹤程序使用的ping 或 probe。

    注意:記住,其它類型的服務器象Web 服務器和郵件服務器并不需要支持這些選項,因為它們要不是擁有一個真實的IP地址,就是不用擔任內部網絡的網關。

    注意事項

    如果你的系統與Internet相連,那你確實可以假設你處在潛在的危險中。因為你的網關是對Internet的暴露點,所以我們建議以下幾點:

    網關服務器除非確實有必要,一定不要在上面新增任何應用程序。
    網關服務器上應該嚴格限制能夠通過的協議種類和數量(許多協議都是潛在的安全漏洞,比如FTP和telnet )。
    任何裝有機密和敏感信息的系統都不應該能從Internet 上直接訪問。

    解釋一下防火墻腳本文件的一些規則

    下面列出了對將用于防火墻例子的一些規則的解釋。這些只是一個參考,防火墻腳本文件都有很清晰的注釋說明,也非常好修改。

    腳本文件中使用的常量

    在腳本文件中,常量定義了大部分將會使用的數值。其中最基本的常量是:

    EXTERNAL_INTERFACE

    這是與Internet 相連的對外網卡名字。在以后的例子中定義成“eth0”。

    LOCAL_INTERFACE_1

    這是與內部局域網相連的對內網卡名字。在以后的例子中定義成“eth1”。

    LOOPBACK_INTERFACE

    這是回饋網卡名字。在以后的例子中定義成“lo”。

    IPADDR

    這是對外網卡的IP地址。這或者是一個與InterNIC(網卡—譯者注)綁定的靜態地址,或者是由ISP動態分配的地址(通常是通過DHCP)。

    LOCALNET_1

    這是局域網的網絡地址。這應該是局域網中所有機器使用的IP地址范圍。它應該是靜態指定的,可以用一個DHCP服務器來分配。在后面的例子中,IP地址范圍是192.168.1.0/24,是C類地址的一部分。

    ANYWHERE

    這是ipchains 用來匹配所有地址(非廣播地址)的地址的一個標志。所有程序都為這個地址提供一個“any/0”的標志,這個地址是0.0.0.0/0。

    NAMESERVER_1

    這是主DNS服務器或ISP的IP地址。

    NAMESERVER_1

    這是第二DNS服務器或ISP的IP地址。

    LOOPBACK

    回饋地址的范圍是127.0.0.0/8。網卡自己的地址是127.0.0.1(在/etc/hosts文件中指定)。

    PRIVPORTS

    指定優先端口,通常從0到1023。

    UNPRIVPORTS

    指定非優先端口,通常從1024到65535。它們是動態分配給連接客戶端的。

    Default Policy

    一個防火墻通常有一個缺省的安全策略,以及一系列對應于特殊消息類型的反應動作。這意味著如果有一個數據包不適用于任何已定義的策略,這個缺省策略就會發揮作用。

    注釋:一個IP轉發性質(IPFW)的防火墻有兩個基本策略,一個是缺省拒絕所有信息,只允許明確規定允許的信息;另一個是缺省接受一切信息,只拒絕明確規定不允許的信息。其中,缺省拒絕一切的策略是我們推薦的,因為通過它更容易建立一個安全得多的防火墻。

    允許本地流量

    因為缺省策略是拒絕一切信息,所以其中一些需要放開。本地網絡服務不通過對外的網卡進行,它們只通過一個特殊的、私有的網卡,叫做回饋網卡。只有回饋網卡允許工作了,本地網絡才能正常工作。

    #Unlimited traffic on the loopback interface.
    ichains –A input –i $LOOPBACK_INTERFACE –j ACCEPT
    ichains –A output –i $LOOPBACK_INTERFACE –j ACCEPT

    源地址過濾

    在IP數據包頭中,在IP協議中唯一有標識含義的是包的源地址。這種情況就為利用源地址進行欺騙開了后門,因為只要把源地址替換成一個不存在的地址,或是另外一個地址就可以了。這就允許有惡意的人侵入你的系統或偽裝成你去攻擊別人。

    # Refuse spoofed packets pretending to be from the external address.
    ipchains –A input –i $EXTERNAL_INTERFACE –s $IPADDR –l –j DENY

    在任何情況下,起碼有7種源地址需要在對外網卡上設置成拒絕。

    下面這些地址是從外面進來的數據包所需要的:

    自己對外的IP地址
    A類私有地址
    B類私有地址
    C類私有地址
    D類多址地址
    E類保留地址
    回饋(loopback)網卡地址

    除了你自己的IP地址以外,應該阻塞所有包含這些源地址的外出數據包,這樣才能保護自己避免因為配置上的錯誤而受到攻擊。

    其余的規定

    在防火墻腳本文件中使用的其它規定是:

    從外部訪問一個服務(Access a Service from the Outside World)
    向外部提供一個服務
    偽裝內部網絡中的計算機

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>