防火牆基礎和iptables基本配置

1.從瞭解iptables開始

iptables 與最新版本Liunx內核集成的ip信息包過濾系統。

該系統是一種強大的工具可用於添加、編輯和除去規則,這些規則是做信息包過濾決定的,防火牆所遵循和組成的規則。這些規則存儲在專用的信息包過濾表中,而這些表集成在Linux內核中。在信息包過濾過程中,規則被分組在我們所謂的鏈(chain)中。

雖然 netfilter/iptables IP 信息包過濾系統稱爲一個實體,實際由netfilter和iptables組成。

netfilter組件也稱爲內核空間(kernelspace),是內核的的一部分,由一些信息包過濾表組成,包含信息包過濾處理的規則集

iptables組件是一種工具,也稱作用戶空間(userpace),它使插入、修改和除去信息包過濾表中的規則變得容易。


2.安全控制手段

常用的安全控制手段有包過濾、狀態檢測、代理服務。

其中包過濾通過在網絡間的相互連接的設備上加載允許、禁止來自特定的源地址、目的地址、TCP端口號等規則,對通過設備的包進行檢查並限制進出內網。對於擁塞攻擊,內存覆蓋和病毒入侵缺無能爲力


3.基礎操作

(1)啓動:service iptables start

重啓:service iptables restart

關閉:service iptables stop

(2)表和鏈的概念

iptables具有filter nat mangle raw四個表;每個表上都列有不同的鏈

INPUT:處理來自外部的數據

OUTPUT:處理向外發送的數據

FORWAR:將數據轉發到本機的其他網卡設備上

PREROUTING:處理到達本機並在路由轉發前的數據包。轉換數據包中IP地址,常用NAT轉換

POSTROUTING:處理即將離開本機的數據包。轉換數據包中的源IP地址


(3)表的三條規則

規則包括一個條件和一個目標;如滿足條件,就執行目標中的規則或特定值;不滿足條件,就判斷下一條規則

-j+目標值

目標值:ACCEPT允許接收數據包;DROP:丟棄包;QUEUE:將數據移交到用戶空間;RETURN停止執行當前的規則並返回鏈頭重新判斷

(4)配置常用口令

iptables -L:看當前所有策略

iptables -F/--flush :清空當前的策略

iptables -t filter/mangle/nat --list 看指定表內的規則

iptables  -t NAT -F 手動清除NAT表

永久保存這些規則的更改

iptables -save > /etc/iptables 備份

新建一個規則的腳本 並保存到/etc/network/if-pre-up.d/目錄下,每次開機都會加載這個腳本

(5)追加規則

-A+鏈名+基本參數(通過firewall - rule 查看)

基本參數:

-p+協議名(tcp,udp,icmp)

-s+指定數據包的源地址 也可用-src

-d+指定數據包目的地址  -dst

-j+目標值(ACCEPT,DROP,QUEUE,REURN)/其他鏈

-i+輸入接口(eth0)/ !-i 取反

-o+輸出接口(eth0)

-sport +源端口號/服務名稱,缺省下將匹配所有端口

-dport+目的端口號/服務名稱

-tcp-flags (SYN,ACK,FIN,RST,URG,PSH)

-icmp-type 0 表示 Echo Reply

-icmp-type 8 表示 Echo


4.給出兩腳本作爲例子



企業防火牆概念圖

防火牆將子網劃分爲多個部分,簡短運行時間





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章