歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

Proxy&Firewall手冊

  用Linux 有一陣子了, 玩Linux 久了的人都知道在GNU 的世界裡, 不必花費一毛錢, 就有程式可以抓、有文件可以看。抓多看多了, 就不得不感佩這群Linux 奇跡幕後的無名英雄, 不像一些軟體帝國主義者, 一心只想用軟體撈錢, 而無私的貢獻自己的心血給大家分享。剛好最近在研究Firewall, 就「順手」把它翻成中文, 讓大家分享我研讀的心得, 試著追隨那些軟體烏托邦理想家的腳步。慶幸原文作者的筆法還算淺顯易懂, 但有些地方寫得相當簡要, 所以譯文中不免有部份屬個人的揣測推敲, 如果你發現任何地方有疑問, 歡迎來信指教。    ( [email protected] ) 本文將簡單的教你如何在Linux 上安裝Firewall, 同時也會提到Proxy Server的安裝及使用, 藉著Proxy Server使在Firewall後方的人對於Internet也能擁有比較大的Access權限。 1. 介紹 這一陣子, Firewall成了Internet保全上的熱門話題, 但也造成了許多人對它的誤解。這篇HOWTO 將會探討什麼是Firewall?如何安裝?何謂Proxy Server?如何設定Proxy Server?以及這些技術除了安全以外的新應用。 1.1. 讀者回響 歡迎給我任何意見, 我尤其想知道Macintosh 使用者的意見, 我在這方面的資訊不多, 「如果發現這篇文章中有任何錯誤, 請務必通知我」。人非聖賢, 孰能無過嘛! 如果你有發現任何錯誤, 請通知我, 我會很樂意去更正它的。我會試著去回覆所有的來信, 不過我挺忙的, 不要對我太苛求。我的EMAIL地址是[email protected].    [譯注: 我也絕對歡迎任何意見, 請寄到[email protected]] 1.2. 嚴正聲明 這份文件將介紹Firewall及Proxy Server的原理, 我無意裝作是個網路安全專    家, 我只是個讀得多而且愛電腦勝過愛人類的家伙。在此聲明, 我不對任何依本文所做行為所造成的損害負任何責任( I AM NOT RESPONSIBLE FOR ANY DAMAGES INCURRED DUE TO ACTIONS TAKEN BASED ON THIS DOCUMENT. ) 我只是想藉這篇文章去幫助你熟悉這個主題, 而非要窮畢生之力來研究它。 1.3. 版權宣告 除非另有聲明, Linux HOWTO文件的版權歸原作者所有。Linux HOWTO文件可以    重制及散布其全部或部份在任何媒體上, 只要完整保留此一版權宣告。允許也歡迎商業性的散布行為, 但應先知會作者。 所有對Linux HOWTO 文件的翻譯、修正、整理必須包含此版權宣告。亦即, 你    不能修改本文件卻在轉手散布時加諸額外的條件限制。如有異議請連絡Linux HOWTO coordinator, 地址在下面。我們希望此一資訊能從愈多管道散愈好, 不過我們仍希望能保留HOWTO文件的版權, 如有任何散布計劃, 請通知我們。 如有任何問題, 請連絡David Rudder, 譯文作者是Jeffrey Lee [譯注: 我覺得這一段比技術性的本文還難翻, 而且有其法律上的重要性, 所以原文附上, 若中文語意和原文有所出入, 以原文為准。 Unless otherwise stated, Linux HOWTO documents are copyrighted by    their respective authors. Linux HOWTO documents may be reprodUCed and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions. All translations, derivative works, or aggregate works incorporating any Linux HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions; please contact the Linux HOWTO coordinator at the address given below.


In short, we wish to promote dissemination of this information through as many channels as possible. However, we do wish to retain copyright on the HOWTO documents, and would like to be notified of any plans to redistribute the HOWTOs. If you have any questions, please contact David Rudder . ] 1.4. 寫這篇文章的動機 過去一年來在comp.os.linux 論壇上有一大堆人在求救, 尋求Firewall方面的協助, 似乎也沒有什麼人要回答。我猜是沒人知道要怎麼回答吧! 所以我花了一點時間玩了玩Firewall, 寫這篇文章來回應那些需求。 1.5. 尚待努力方向 o 學習Macintosh的做法    o 學習不同的Windows TCP/IP套裝軟體    o 找個好用的UDP Proxy Server和Linux搭配 1.6. 深入研究時的參考資料 o TIS Firewall Toolkit文件    o NET-2 HOWTO    o PPP HOWTO    o Ethernet HOWTO    o MultIPle Ethernet Mini HOWTO    o Networking with Linux    o TCP/IP Network Administrators Guide by OReilly and Associates Firewall Toolkit by TIS 有一套很棒的文件, 其中有談到Firewall及相關的資料, 至於Firewall Toolkit的進一步說明, 請看Firewall軟體那一節。 2. 了解Firewalls Firewall原來是汽車上的一個術語, 它用來隔離引擎和乘客, 在引擎爆炸時可以發揮保護乘客的功能。電腦上的Firewall是一個邏輯裝置, 用來保護私人的區域    不受公用部份的侵害, 做法是: 1. 找一部有Routing能力的電腦(例如Linux)    2. 加入兩個界面(例如: 序列埠、Ethernet、Token Ring等等)    3. 關掉IP forwarding的功能    4. 把其中一個界面接上Internet    5. 把受保護的網路接在另一個界面上 現在你使電腦接到兩個不同的網路上。這部Firewall電腦, 現在就稱為Firewall 了, 可以接到Internet上, 也可以接到保護網路(Protected Network) 上。但保護網路無法連上 Internet, Internet也連不上保護網路。 如果要從保護網路內連上Internet, 必須要先telnet到Firewall, 從那裡使用Internet。同樣的, Internet上的人要進入保護網路, 也必須先透過Firewall。 這種作法對於Internet上的攻擊有很優秀的免疫作用。如果有人企圖對受保護的網路進行攻擊, 則必須先穿過Firewall, 攻擊必須分成兩步驟, 難度也增加了。如果有人想藉著使用一般的手法, 如郵件炸彈(MAIL BOMB)或"Internet Worm", 來攻擊受保護的網路, 他們可能是無法如願的。 2.1. Firewall的缺點 Firewall最大的問題在於由內部Access Internet的困難。基本上, Firewall利用Dial-Up Shell 的帳號來減少對於Internet的使用, 必須先login Firewall 才能做其他對Internet的Access動作。因此一些需要直接連接Internet的程式(如Netscape) 便無法在Firewall後方順利動作, 解決的辦法——Proxy Server。 2.2. Proxy Server Proxy Server可用來協助由Firewall後方直接Access到Internet。它們的工作是在Server上開啟一個Socket, 作為和Internet溝通的管道。舉例來說, 我的電腦drig是在保護網路內, 當我要使用Netscape去浏覽Web 時, 我得在Firewall上建個Proxy Server, 這個Proxy Server設定好可以接受我的電腦的請求, 把要連上Port 80請求轉接到它的Port 1080上。 任何用過TIA 或TERM的人應該對這個觀念不會太陌生, 在這兩個程式裡, 你可以對一個Port做轉向的動作。我的一個朋友用TIA 設定允許大家用192.251.139.21 port 4024去連上他的web server。這裡提到的Proxy Server原理也差不多, 只是恰好相反, 讓你使用port 1080(或某特定值)去連接其他人的port 80。Proxy Server最了不起的地方在於它的安全性, 如果你設定正確的話, 它不會允許任何人逾越它。 3. 動手吧! 3.1. 硬體需求 本例中, 電腦采用486-DX66, 8M RAM, 500M Linux 分割, 以一台1.44 bps

   MODEM連到ISP上。這就是原本Linux box的基本配備, 要架成Firewall, 我們還得加上一塊NE2000 Ethernet網路卡。接著連上三部PC(Win 3.1+Trumpet Winsock)和兩台Suns(SunOS 4.1)。我選擇這樣的架構是著眼於它很普通常見, 而且我對這兩種平台都蠻熟悉的。本來有考慮要加上Mac, 可是我不太常用也不熟, 就算了。 3.2. 設定軟體 現在, Linux box 透過14.4 PPP line連上Internet, 再用Ethernet連上其他的電腦。首先, 先recomplie linux kernel, make config時得做適當的調整。 我參考了Kernel HOWTO, Ethernet HOWTO, NET-2 HOWTO然後進行"make config": 1. 使用Networking Support    2. 使用TCP/IP Networking    3. 取消IP Forwarding (CONFIG_IP_FORWARD).    4. 使用IP Firewalling    5. 可以使用IP accounting, 這樣比較審慎一點。    6. 使用Networking Device Support    7. 使用PPP 及Ethernet support, 視你的界面而定 接著, 我們recompile, reinstall kernel 後重開機。應該可以在開機過程中    看到我們所加入的界面的資料, 如果沒有, 參考其他的HOWTO, 看看是那裡做錯了。 3.3. 設定網路位



   MODEM連到ISP上。這就是原本Linux box的基本配備, 要架成Firewall, 我們還得加上一塊NE2000 Ethernet網路卡。接著連上三部PC(Win 3.1+Trumpet Winsock)和兩台Suns(SunOS 4.1)。我選擇這樣的架構是著眼於它很普通常見, 而且我對這兩種平台都蠻熟悉的。本來有考慮要加上Mac, 可是我不太常用也不熟, 就算了。 3.2. 設定軟體 現在, Linux box 透過14.4 PPP line連上Internet, 再用Ethernet連上其他的電腦。首先, 先recomplie linux kernel, make config時得做適當的調整。 我參考了Kernel HOWTO, Ethernet HOWTO, NET-2 HOWTO然後進行"make config": 1. 使用Networking Support    2. 使用TCP/IP Networking    3. 取消IP Forwarding (CONFIG_IP_FORWARD).    4. 使用IP Firewalling    5. 可以使用IP accounting, 這樣比較審慎一點。    6. 使用Networking Device Support    7. 使用PPP 及Ethernet support, 視你的界面而定 接著, 我們recompile, reinstall kernel 後重開機。應該可以在開機過程中    看到我們所加入的界面的資料, 如果沒有, 參考其他的HOWTO, 看看是那裡做錯了。 3.3. 設定網路位



Copyright © Linux教程網 All Rights Reserved