Linux下系統防火牆的發展歷程和怎樣學好防火牆(iptalbes和firewalld)


有關firewalld和iptables詳細使用的文章

iptables詳解

firewalld詳解

=====================================華麗的分割線=====================================

 

1. 認識防火牆

從邏輯上講防火牆可以分為主機防火牆和網絡防護牆。

  主機防火牆:針對個別主機對出站入站的數據包進行過濾。(操作對象為個體)

  網絡防火牆:處於網絡邊緣,針對網絡入口進行防護。(操作對象為整體)

從物理上講防火牆可以分為硬件防火牆和軟件防火牆。

  硬件防火牆:通過硬件層面實現防火牆的功能,性能高,成本高。

  軟件防火牆:通過應用軟件實現防火牆的功能,性能低,成本低。

 

2. 系統防火牆發展過程

防火牆的發展史就是從牆到鏈再到表,也是從簡單到復雜的過程。

防火牆工具變化如下:

ipfirewall--->ipchains--->iptables-->nftables(正在推廣)

  Linux 2.0版內核中:包過濾機制為ipfw,管理工具是ipfwadm。

  Linux 2.2版內核中:包過濾機制為ipchain,管理工具是ipchains。

  Linux 2.4,2.6,3.0+版內核中:包過濾機制為netfilter,管理工具是iptables。

  Linux 3.1(3.13+)版內核中:包過濾機制為netfilter,中間采取daemon動態管理防火牆,管理工具是firewalld。

    # 目前低版本的firewalld通過調用iptables(command),它可以支持老的iptables規則(在firewalld里面叫做直接規則),

    # 同時firewalld兼顧了iptables,ebtables,ip6tables的功能。

 

3. iptables和nftables

nftables

    nftables誕生於2008年,2013年底合並到Linux內核,從 Linux 3.13起開始作為iptables的替代品提供給用戶。

    它是新的數據包分類框架,新的linux防火牆管理程序,旨在替代現存的 {ip,ip6,arp,eb}_tables,它的用戶空間管理工具是nft。

由於iptables的一些缺陷,目前正在慢慢過渡用nftables替換iptables,同時由於這個新的框架的兼容性,

所以nftables也支持在這個框架上運行直接iptables這個用戶空間的管理工具。

  nftables實現了一組被稱為表達式的指令,可通過在寄存器中儲存和加載來交換數據。

也就是說,nftables的核心可視為一個虛擬機,nftables的前端工具nft可以利用內核提供的表達式去模擬舊的iptables匹配,

維持兼容性的同時獲得更大的靈活性。

  而未來最新的firewalld(0.8.0)默認使用將使用nftables。詳情可以看www.firewalld.org

iptables、nftables和firewalld之間的區別與聯系

   firewalld同時支持iptables和nftables,未來最新版本(0.8.0)默認將使用nftables。

簡單的說firewalld是基於nftfilter防火牆的用戶界面工具。而iptables和nftables是命令行工具。

firewalld引入區域的概念,可以動態配置,讓防火牆配置及使用變得簡便。

  准確的說:iptables(command)的最底層是netfilter,它的用戶空間管理工具是iptables

nftables(command)是iptables(command) 的一個替代品並兼容iptables(command),最底層依然是netfilter,它的用戶空間管理工具是nft

同時未來firewalld最新版(0.8.0)也將默認支持nftables(command)。https://firewalld.org/

  iptables會把配置好的防火牆策略交給內核層的netfilter網絡過濾器來處理

  firewalld會把配置好的防火牆策略交給內核層的nftables包過濾框架來處理

下圖為iptables、firewalld、nftables之間的關系圖:

 

 

4. centos6.X到centos7.X

centos6.X:防火牆由netfilter和iptables構成。其中iptables用於制定規則,又被稱為防火牆的用戶態;

  而netfilter實現防火牆的具體功能,又被稱為內核態。簡單地講,iptables制定規則,而netfilter執行規則。

centos7.X:防火牆在6.X防火牆的基礎之上提出了新的防火牆管理工具,提出了區域的概念,通過區域定義網絡鏈接以及安全等級。

 

5.怎樣學好防火牆的配置?

  1)OSI7層模型以及不同層對應哪些協議必須很熟悉  # 基礎必備

  2)TCP/IP三次握手,四次斷開的過程,TCP HEADER,狀態轉換  # 基礎必備

  3)常用的服務端口要非常清楚了解。  # 基礎必備

  4)常用服務協議的原理,特別是http協議,icmp協議。  # 基礎必備

  5)能夠熟練的利用tcpdump和wireshark進行抓包並分析,這樣會更好  # 拓展

  6)對計算機網絡有研究,至少基本路由交換要很熟悉  # 拓展

 

6、企業中安全配置原則

  盡可能不給服務器配置外網IP,可以通過代理轉發或者通過防火牆映射。

  並發不是特別大情況有外網IP,可以開啟防火牆服務。

  大並發的情況,不能開iptables,影響性能,利用硬件防火牆提升架構安全。

 

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM