Firefox Windows apache 程序员 google 编程 微软 Ubuntu java Android shell linux 云计算 php wordpress centos Python nginx 开源 mysql

防火墙管理工具

  眾所周知,相較於企業內網,外部的公網環境更加惡劣,罪惡叢生。在公網與企業內網之間充當保護屏障的防火墻(見圖8-1)雖然有軟件或硬件之分,但主要功能都是依據策略對穿越防火墻自身的流量進行過濾。防火墻策略可以基於流量的源目地址、端口號、協議、應用等信息來定制,然後防火墻使用預先定制的策略規則監控出入的流量,若流量與某一條策略規則相匹配,則執行相應的處理,反之則丟棄。這樣一來,就可以保證僅有合法的流量在企業內網和外部公網之間流動了。  

 在RHEL 7系統中,firewalld防火墻取代了iptables防火墻。對於接觸Linux系統比較早或學習過RHEL 6系統的讀者來說,當他們發現曾經掌握的知識在RHEL 7中不再適用,需要全新學習firewalld時,難免會有抵觸心理。其實,iptables與firewalld都不是真正的防火墻,它們都只是用來定義防火墻策略的防火墻管理工具而已,或者說,它們只是一種服務。iptables服務會把配置好的防火墻策略交由內核層面的netfilter網絡過濾器來處理,而firewalld服務則是把配置好的防火墻策略交由內核層面的nftables包過濾框架來處理。換句話說,當前在Linux系統中其實存在多個防火墻管理工具,旨在方便運維人員管理Linux系統中的防火墻策略,我們只需要配置妥當其中的一個就足夠了。雖然這些工具各有優劣,但它們在防火墻策略的配置思路上是保持一致的。大家甚至可以不用完全掌握本章介紹的內容,只要在這多個防火墻管理工具中任選一款並將其學透,就足以滿足日常的工作需求了。

 在早期的Linux系統中,默認使用的是iptables防火墻管理服務來配置防火墻。盡管新型的firewalld防火墻管理服務已經被投入使用多年,但是大量的企業在生產環境中依然出於各種原因而繼續使用iptables。考慮到iptables在當前生產環境中還具有頑強的生命力,以及為了使大家在求職面試過程中被問到iptables的相關知識時能胸有成竹,劉遄老師覺得還是有必要在本書中好好地講解一下這項技術。更何況前文也提到,各個防火墻管理工具的配置思路是一致的,在掌握了iptables後再學習其他防火墻管理工具時,也有借鑒意義。

防火墻會從上至下的順序來讀取配置的策略規則,在找到匹配項後就立即結束匹配工作並去執行匹配項中定義的行為(即放行或阻止)。如果在讀取完所有的策略規則之後沒有匹配項,就去執行默認的策略。一般而言,防火墻策略規則的設置有兩種:一種是“通”(即放行),一種是“堵”(即阻止)。當防火墻的默認策略為拒絕時(堵),就要設置允許規則(通),否則誰都進不來;如果防火墻的默認策略為允許時,就要設置拒絕規則,否則誰都能進來,防火墻也就失去了防範的作用。

延伸阅读

评论