本節書摘來自異步社群《linux防火牆(第4版)》一書中的第2章,第2.6節,作者:【美】steve suehring(史蒂夫 蘇哈林)著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視
最容易因疏忽導緻未經請求的入侵即是允許外部通路那些被設計為隻用于lan的本地服務。一些服務,如果僅僅在本地提供,絕不應該跨越您的本地區域網路和網際網路的界限。如果這樣的服務在您的區域網路外可用,那麼有些服務會騷擾您的鄰居,有些會提供您應該保密的資訊,有些則代表着明顯的安全漏洞。
一些最早期的網絡服務,尤其是被設計用于本地的分享并且簡化在受信任的環境裡跨多個實驗室的計算機間通路的r-*-based。後來的一些服務用于接入網際網路,但它們被設計于一個網際網路基本是由學者和研究者構成的延伸社群的時代。那時,網際網路是相對開放、安全的地方。由于網際網路成長為一個包括了普通大衆通路的全球性的網絡,它已發展成為一個完全不受信任的環境。
許多linux網絡服務被設計用于提供系統中的一些本地資訊:關于使用者的賬戶、哪個程式在運作哪個資源正被使用、系統狀态、網絡狀态、通過網絡連接配接的其他計算機的相似的資訊。并不是所有的這些資訊化服務本身代表了安全漏洞。并不是說某人可以用它們直接對您的系統獲得非授權的通路。它們隻是提供了您系統的資訊以及使用者賬戶,這些資訊對某些在尋找已知漏洞的人來說十分有用。它們可能還提供了例如使用者名、位址、電話号碼等等,您絕對不希望輕易地被任何問詢的人了解資訊。
一些更危險的網絡服務被設計用于提供區域網路内對共享檔案系統和裝置的通路,例如網絡列印機或傳真機。
一些服務難于正确的配置,一些則難于安全的配置。整本書都緻力于配置一些更複雜的linux服務。特定的服務的配置則超出了本書的範圍。
有些服務僅僅在家庭或小型辦公室環境是沒有意義的。一些則傾向于管理大型網絡,提供網際網路路由服務,提供大型資料庫資訊服務,支援雙向的加密和認證,等等。
2.6.1 保護不安全的本地服務
最簡單的保護您自己的方式就是不提供服務。但如果您需要這些本地服務中的一個呢?并不是所有的服務都能夠在資料包過濾層被充分地保護。檔案共享軟體、即時通訊服務和基于udp的rpc服務都是衆所周知難以在資料包過濾層保障安全的。
一種保衛您的計算機的方式是不要在防火牆計算機上托管您不希望公衆使用的網絡服務。如果服務不可用,那麼遠端的用戶端也就無法連接配接到它。讓防火牆隻做防火牆。
一個包過濾防火牆并不能提供絕對的安全。一些程式需要比資料包過濾層能提供的更高層的安全措施。一些程式則有太多問題,以至于不應冒險運作在防火牆計算機,甚至不安全的住宅主機上。
小型站點(例如在家庭站點)通常沒有多餘的計算機通過“在其他計算機上運作私有服務”來執行通路安全政策。這裡必須做出些折中,尤其是所需的服務僅由linux提供。然而,在區域網路中的小型站點不應該在防火牆機器上運作檔案共享或其他私有的lan服務,例如samba。這台計算機不應該有任何不必要的使用者賬戶。不需要的系統軟體應該從該系統中移除。此計算機除了安全的網關外不應該擁有任何其他功能。
2.6.2 選擇運作的服務
當上面說到的都已做完時,您唯一可以決定的便是哪些服務是您需要或想要的。保障系統安全的第一步便是決定您打算在防火牆計算機上以及在防火牆後的私有網絡中運作哪些服務和守護程序。每個服務都有它自己安全的考量。在選擇運作于linux下或其他作業系統下的服務時,一般的規則是“僅運作那些您了解和需要的網絡服務”。了解一個網絡服務,在運作它之前知道它做了什麼、供誰使用十分重要——尤其是它運作在直接連接配接到網際網路的計算機上。