防火牆的基本概念及iptables四表五鏈詳解

2021-10-09 03:01:17 字數 3113 閱讀 5320

從邏輯上講,防火牆大體可以分為主機防火牆和網路防火牆:網路防火牆和主機防火牆互不影響,可以理解為網路防火牆負責外(集體),主機防火牆負責內(個人)

從物理上講,防火牆可以分為硬體防火牆和軟體防火牆:

入侵檢測功能

網路防火牆技術的主要功能之一就是入侵檢測功能,主要有反埠掃瞄、檢測拒絕服務工具、檢測cgi/iis伺服器入侵、檢測木馬或者網路蠕蟲攻擊、檢測緩衝區溢位攻擊等功能,可以極大程度上減少網路威脅因素的入侵,有效阻擋大多數網路安全攻擊。

網路位址轉換功能

利用防火牆技術可以有效實現內部網路或者外部網路的ip位址轉換,可以分為源位址轉換和目的位址轉換,即snat和nat。snat主要用於隱藏內部網路結構,避免受到來自外部網路的非法訪問和惡意攻擊,有效緩解位址空間的短缺問題,而dnat主要用於外網主機訪問內網主機,以此避免內部網路被攻擊。

網路操作的審計監控功能

通過此功能可以有效對系統管理的所有操作以及安全資訊進行記錄,提供有關網路使用情況的統計資料,方便計算機網路管理以進行資訊追蹤。

強化網路安全服務

防火牆技術管理可以實現集中化的安全管理,將安全系統裝配在防火牆上,在資訊訪問的途徑中就可以實現對網路資訊保安的監管。

linux中存在iptables和firewalld兩種防火牆

iptables:更接近資料的原始操作,精度更高

firewalld:更易操作

防火牆的三張表分別為:filter表,nat表,mangle表,

五條鏈分別是input,output,forward,postrouting,prerouting

input和output均包括經過核心和不經過核心的資訊

forward是經過核心的路由**資訊

postrouting是不經過核心路由之後的資訊

prerouting是不經過核心路由之前的資訊

如果要訪問某台主機上面的http服務,必須先經過那台主機的核心允許,才可以進行訪問

防火牆其實也是在核心上面開啟的乙個服務 防火牆裡面有**,寫一些規則,允許哪個主機訪問什麼服務,這個**由iptables進行控制

表名稱功能

核心模組

filter

負責過濾功能,防火牆

iptables_filter

nat(network address translation)

網路位址轉換

iptables_net

mangle

拆解報文,修改,重新封裝

iptables_mangle

raw決定資料報是否被狀態跟蹤機制處理

第一張表:filter表:放的是經過核心的ip,可使用的鏈:input output forward

第二張表:nat表:放的不是經過核心的服務,可使用的鏈:input output postrouting prerouting

第三張表:備用**mangle:可使用的鏈:input output forward postrouting prerouting

動作說明

accept

允許資料報通過

drop

直接丟棄資料報,不給任何回應,此時客戶端會不停地去向伺服器傳送資料報,傳送超時才會有反映應

reject

拒絕資料報通過,必要時會給資料傳送端乙個響應資訊,如果客戶端的請求被拒絕,就會收到拒絕的資訊

snat

源位址轉換,解決內網使用者用同乙個公網位址上網的問題

masquerade

是snat的一種特殊形式,適用於動態的,臨時會變的ip上

dnat

目的位址轉換

基本步驟

資料報到達網路介面,比如 eth0

進入 raw表的 prerouting鏈,這個鏈的作用是趕在連線跟蹤之前處理資料報

如果進行了連線跟蹤,在此進行處理

進入 mangle 表的 prerouting鏈,在此可以修改資料報,比如 tos 等引數

進入 nat 表的 prerouting鏈,可以再做 dnat ,但不要做過濾

決定路由,交給本機或者**至其他主機

如果資料報需要**

進入 mangle 表的 forward鏈,這是第一次路由之後,在決定第一次路由後,在最後的路由決定之前,仍然可以對資料報進行更改

進入 filter 表的 forward鏈,在這裡可以對所有**的資料報進行過濾,需要注意的是,經過這裡的資料報是**的,方向是雙向的

進入 mangle 表的 postrouting鏈,到這裡已經完成了所有的路由決定,但是資料報仍然在本地,我們依然可以進行某些修改

進入 nat 表的 postrouting鏈,這裡一般做的是 snat ,不在這裡進行過濾

進入出去的網路介面

如果資料報進入本機

7 )進入 mangle 表的 input 鏈,這是在路由之後,交由本地主機之前,我們也可以進行一些相應的修改

8 )進入 filter 表的 input 鏈,在這裡我們可以對流入的所有資料報進行過濾,無論它來自那個網路介面

9 )交給本地主機的應用程式進行處理10 )處理完後進行路由決定,看該往**發出

11 )進入 raw表的 output 鏈,這裡是在連線跟蹤處理本地的資料報之前

12 )連線跟蹤對本地的資料報進行處理

13 )進入 mangle 表的 output 鏈, 可修改資料報,但不進行過濾

14 )進入 nat 表的 output 鏈,可以對防火牆自己發出的資料做 nat

15 )再次進行路由決定

16 )進入 filter 表的 output 鏈,可以對本地出去的資料報進行過濾

17 )進入 mangle 表的 postrouting鏈,同上一種情況第 9步,但是這裡不僅對經過防火牆的

資料報做處理,還對防火牆自己產生的資料報進行處理

18 )進入 nat 表的 postrouting鏈,做 snat,但不進行過濾

19 )進入出去的網路介面

防火牆基本概念及分類

乙個網路連線到internet,其內網可以與外網進行通訊,外網也可以與內網進行互動。但是外網可謂魚龍混雜,充滿的許多的不安全因素,那麼為了保證內網系統的安全,就需要在內網與外網之間插入乙個中介,阻擋來自外網的威脅和攻擊。那麼這個中介就叫作防火牆。防火牆是指設定在不同網路或者網路安全域之間的一系列部件...

防火牆的基本概念

1 防火牆 firewall 也稱防護牆,是由check point創立者gil shwed於1993年發明並引入國際網際網路 us5606668 a 1993 12 15 它是一種位於內部網路與外部網路之間的網路安全系統。一項資訊保安的防護系統,依照特定的規則,允許或是限制傳輸的資料通過。2 所謂...

firewall 防火牆配置和iptables配置

防火牆內新增新的開放埠 firewall cmd zone public permanent add port 8080 tcp檢視埠是否被開放 firewall cmd quiery port 8080 tcp檢視所有開放的埠 firewall cmd permanent zone public ...