為Linux系統加裝 ”防盜門”

發表于:2007-05-26來源:作者:點擊數: 標簽:
許多網站管理員只有在出現 安全 問題后,才了解系統安全防護的重要性。他們往往以安全維護工作太過繁復且投入過高為借口,認為把過多的精力投入到看門工作中,充當系統環境的看門狗頗有些得不償失。然而,借助LAMP工具,為系統環境加裝安全的防盜門并不是一

許多網站管理員只有在出現安全問題后,才了解系統安全防護的重要性。他們往往以安全維護工作太過繁復且投入過高為借口,認為把過多的精力投入到“看門”工作中,充當系統環境的“看門狗”頗有些得不償失。然而,借助LAMP工具,為系統環境加裝安全的“防盜門”并不是一件難事。本文將以Big Fish防火墻工具為例,向大家介紹如何對系統環境進行保護,該工具主要用于配置基于netfilter技術的防火墻。

    目前,市場上有許多商業防火墻產品,銷售商們可以根據用戶的不同需要和網站大小開發出不同的針對性產品。例如,Checkpoint公司主要為生產環境開發防火墻和多種其它安全維護產品,Cisco公司為各種規模的網站提供PIX系列防火墻,既適用于商業網絡也適用于家庭局域網。盡管Checkpoint 公司和Cisco公司的防火墻產品都具備十分強大的功能,而且具有較高的健壯性和可靠性,但是對這些防火墻進行配置和管理不僅需要昂貴的費用,而且要求管理人員具備專業的技術知識。
幸運的是,Linux系統中的了CP/IP堆棧具有較高的健壯性,具備較全面的信息包過濾、網絡地址翻譯和其它先進的防火墻功能。另外,netfiiter軟件包可為高可用性系統提供簡單的加載平衡。實際上,僅在Linux平臺上就可以配置一個可滿足商業需要的南陸能防火墻,可以在低成本的硬件設備上運行管理員所了解的免費操作系統,再由這些設備進一步搭建網絡。


    坦白地說,Linux防火墻解決方案的最大缺點之一是它的可用性較差。netfilter有時被人們稱作一個“野陸十足的野獸”,十分不易控制??紤]到 Linux防火墻的這一缺點,人們開發了許多LAMP工具,使工作更加簡單,Big Fish防火墻便是其中之一。

    從
http://bigfish.sourceforge.net網站上可以下載到Big Fish防火墻。Big Fish防火墻允許用戶很方便地建立并管理自己的iptables防火墻程序。Big Fish包含有預先配置好的規則集(Rulesets),用戶可以根據需要進行修改,也可以建立用戶自己的規則集。這些常用規則集包括IP Spoofing、Syn Flood Blocking、Service Blocking及資源(SNAT)和目的地網絡地址翻譯(DNAT)規則集等。

   對Big Fish軟件包的開發工作是不間斷的,目前的最新版本為1.33版,它可以與PHP 5和Linux 2.4內核兼容。Big Fish的開發者們正在開發新的版本,以便實現與PHP 4的兼容。

Big Fish的配置使用
   Big Fish在使用前需要具備一些先決條件。這里的實驗環境是一臺運行Linux 2.4.20-8內核系統的Apache 1.3.28服務器,具備PHP5.3.0RCl和OpenSSL 0.9.7a支持的mod_SSL 2.8.1501.3.28。由于Big Fish可以從互聯網上下載并操縱服務器,因此需要在Apache服務器上安裝SSL組件。


    系統還需要安裝Sudo、Smarty Template Engine(可以從http://smarty.php.net/下載)、HTML_Common、HTML Menu、HTML_Table、HTML_QuickForm、File、File_Passwd、File_SearchReplace和 Net_Portscan模塊。
為了安裝PHP擴展及應用庫(PEAR),還需要在命令行中寫入PEAR的安裝包名稱。接下來需要為Apache 用戶設置”Sudo”命令,缺省狀態下的名稱為”nobody”。首先,建立一個本地目錄來存儲防火墻程序,例如 /usr/local/bigfish/script,注意不要建立在網絡根目錄下。然后編輯”file/etc/sudoers”,并加入下列語句:
#Assuming you’re running apache as the user nobody

接下來,下載Big Fish軟件包,并在Apache DocumnentRoot下建立一個名為Big Fish軟件包放置在改目錄下。 假定服務器用戶名是“nobody”, 在cache/和templates_c/子目錄下改變所以權和許可,具體命令如下:
$chown -R nobody : nobody cache
$chown -R 775 cache
$chown -R nobody : nobody templates_c
$chown -R 775 templates_c

然后使用文本編輯器打開bigfish/conf目錄下的config.inc.php文件,對下列參數進行編輯設定,以便適用于具體系統:

$conf[‘path’] = ‘/usr/local/bigfish/script’;

$conf[‘username’] = ‘h31pm3’;
$conf[‘password’] = ‘h@ckm3’;

$conf[‘iptables’] = ‘/sbin/iptables’;
$conf[‘sudo’] = ‘/usr/bin/sudo’;
$conf[‘if_ext’] = ‘eth0’;
$conf[‘if_int’] = ‘eth0:1’; //A virtual interface on a single NIC

$conf[‘if_ext_ip’] = ‘192.168.1.1’;
$conf[‘if_int_ip’] = ‘192.168.2.1’
$conf[‘netmask’] = ‘255.255.254.0/8’

                                                                                                                                                                                          如果沒有安裝Smarty PHP模板引擎,可以從http://smarty.php.net/download.php下載到最新版本,本文使用的是2.6.6版本的 Smarty。Smarty的安裝過程十分簡單,打開軟件包后,將所有文件和目錄復制到PHP所包含路徑的libs目錄下,這里的復制路徑為 /usr/local/lib/php/Smarty/。
最后,Big Fish應用程序使用到Apache的htpasswd身份驗證技術。因此需要在bigfish目錄下建立一個 .htaccess文件。沒有這一步,Big Fish將無法正常工作。
現在,已經完成Big Fish設置文件的編輯和保存,安裝了Smarty及所需的所有PEAR模塊,可以嘗試連接Big Fish的網絡端口。需要注意的是,必須通過SSL使用一個URL(如
http://主機名/big fish)與該端口連接。如果已正確建立.htaccess文件,瀏覽器會提示輸入htpasswd用戶名和密碼。身份驗證準確無誤后,還需要在PHP生成的注冊表中使用conf.inc.php文件指定的用戶名和密碼再次進行身份驗證。

解析Big Fish
Big Fish應用軟件可分為安全防護、信息包過濾、資源(SNAT)和目的地網絡地址翻譯,以及優先級服務4個部分。


1. 安全功能
單擊“security”選單可打開安全功能選項窗口。 這一功能可幫助用戶阻止威脅系統安全的信息包進入,例如Ping of Death和Syn-Flood等。它還可以阻止各種聊天和即時消息的進入,如AOL、MSN、和IRC等。如果用戶想與一些文件共享網絡隔斷,該選單還可以根據用戶的選擇阻隔Limewire、Kazza和Morpheus等網絡。


用戶可以方便地對安全選項進行擴展。 使用文本編輯器打開regras.php文件,并尋找$locks數組。 在這里,可以為防火墻添加或定制新的規則。例如,如果想要阻止一個運行與9102端口的、名為”Illegal WarezNet”的服務,可以在$locks數組中添加下列命令行:

array(‘#IllegalWarezNet:’
$conf[‘iptables’].” –A int_ext –p tcp –dport 9102 –j REJECT”)

當再次打開Security選單時,將在列表中看到新加入的功能。

2.信息包過濾功能
                                                                                                                                                                                                                                                                                                          Big Fish的信息包過濾功能可以使用尸通過建立網絡端口的規則集完全控制信息包的傳輸路徑。當前的選項允許用戶為起源于內部網絡的信息包建立規則,從而使之輸出到外部網絡,同時是外部網絡中的信息包輸入內網時先通過防火墻。

3.資源(SNAT)和目的地網絡地址翻譯(DNAT)
   SNAT/DNAT信息包重寫的功能更加有趣。SNAT可使用戶在IP域名中重寫源地址。換句話說,使用SNAT規則可對內部網中的本地地址進行重寫,使之成為互聯網連接中的源IP地址。這一功能十分有用,用戶可以借助此功能通過本地防火墻實現網絡連接共享。


    例如,使用Big Fish接口,用戶可以方便地在防火墻中對來自互聯網的信息包的HTTP地址進行重寫,使之成為用戶互聯網連接IP。假設重寫后的地址為69.68.147.63, 單擊


    SNAT/DNAT選單鏈接,在源端口和目標端口處輸入同一數值”80”,為主機輸入互聯網連接地址,“Direction”項選擇“SNAT”,“協議”項選擇”TCP”協議。
DNAT可使用戶在IP域名中對目標地址進行重寫。通過一個DNAT規則,用戶可以對用戶主機上的信息包地址進行重寫,使之成為新的目標IP地址。
例如,使用Big Fish接口,用戶可以將目標HTTP信息包的地址重寫,使之成為內部網IP地址。假設重寫后的地址為192.168.2.1, 單擊SNAT/DNAT,在源端口和目標端口處輸人同一數值”80”,為主機輸入地址”192.168.2.1”,”Direction” 項選擇”SNAT”,”協議” 項選擇”TCP” 協議。


    綜合使用DNAT和SNAT規則對信息包進行過濾,用戶可以賦予內部網絡服務器一個本地IP地址,并對主機進出的信息包進行重寫,這樣可以實現對本地服務器的有效防護。Big
Fish可使用戶容易地為Apache服務器添加防火墻,因此用戶無須將服務器置于外部Intemet中,并賦予一個公共IP地址。

4.優先級服務
    Big Fish還為用戶提供了一個簡單的界面,使之可以對通過防火墻的各種服務進行優先級設定。例如,通過iptables的信息包分布功能,用戶可以為SSH 信息包賦予一個比其它服務信息包更高的優先級。單擊 ”Priority” 選單項,系統便顯示出主機中支持的各項服務,選擇”Port 22 (SSH)”并單擊應用,便可為用戶的規則集添加優先級。


    Big Fish還具備防火墻狀態顯示功能。此項功能不僅能為用戶顯示應用于防火墻的精確規則語法,還能顯示當前應用于用戶主機的所有鏈接。這是一項十分實用的功能,尤其是當用戶不得不自行編寫規則時。用戶完成新規則編寫后,可以打開狀態顯示頁,單擊“Restart”按鈕便可執行新的規則。


B5g Fish的發展前景
    Big Fish 是一個非常優秀的產品,它不僅為用戶提供了一個簡單易用的操作界面,而且提供了充足的防火墻管理工具,即使是對最先進的防火墻也可發揮功效。
Big Fish的開發重點有數個方向,其中包括功能的拓展以便支持多個接口,實現真正netfilter/iptables管理。 下一代Big Fish工具將擁有一個捆綁式Smarty模板引擎,并增加netfilter內核模塊的載入/卸載功能,以及更廣泛的網絡接口支持。
存儲并建立一個嚴格的變動控制方案,用戶可以從一個數據庫中查找針對防火墻進行的所有修改。


    綜上所述,借助正確的工具,用戶可以方便、快速地對防火墻進行配置。 無論是商用還是個人使用,最根本的目的是加強對數據庫的控制。 通過對netfilter、Big Fish和LAMP工具的綜合使用,用戶可以簡化對系統環境進行保護的過程。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97