天天看點

主機安全(2)iptables的filter應用

            iptables的工作流程圖

主機安全(2)iptables的filter應用

     資料從網卡穿過IP層必經過鍊PREROUTING,再經過路由選擇接收還是轉發,分别走INPUT FORWARD不同的鍊.

     從INPUT鍊經過的資料包進入本地系統進行處理,從本地系統出來經OUTPUT的資料和轉發FORWARD出來的資料經由POSTROUTING鍊發出穿越IP資料層.

iptables主要功能就是在資料穿越IP層時在各鍊上對資料包進行規則限制.根據規則的不同的功能形成三種不同功能的表natmangle filter,三個表常作用的鍊圖已标明,通過這三個表可以很友善的對資料包進行管理過濾.

Filter 包過濾功能

filter表是專門過濾包的,内建三個鍊,可以對包進行DROP、LOG、ACCEPT和REJECT等操作。FORWARD鍊過濾所有不是本地産生的并且目的地不是本地(所謂本地就是防火牆了)的包,而INPUT恰恰針對那些目的地是本地的包。OUTPUT 是用來過濾所有本地生成的包的。

#iptables -t filter -A INPUT -s 10.0.0.5 -jDROP  凡是來自10.0.0.5包丢棄

#iptables -t filter -nL INPUT-V

檢視INPUT鍊的filter詳細(-V)規則 并顯示IP不做解析(-n)

#iptables -t filter -FINPUT 清空INPUT中filter規則

#iptables -I INPUT 1 -s 10.0.0.4 -jDROP 丢棄來自10.0.0.4的包并成為規則的第一項 預設filter

#iptables -A FORWARD -miprange --src-range 192.168.1.5-192.168.1.124 -j ACCEPT

#iptables -A FORWARD -m iprange--dst-range 10.0.0.0-10.255.255.255 -jACCEPT

以上二例是允許目标ip/源ip位址範圍的包通過

#iptables -t filter -D INPUT2 删除第二條規則

#iptables -t filter -P FORWARDDROP 修改FORWARD鍊的預設政策

注: -I指所有規則前插入(優先起作用) -A表插入到表末(iptables -nL可看出)

#iptables -A FORWARD -p TCP --dport 22 -jREJECT --reject-with tcp-reset

#iptables -A FORWARD -i eth0 -o eth1 -p udp-j DROP 凡是從外網(eth0)去DMZ(eth1)的udp包丢棄

注:當條件中有-p 協定号時 後可有更詳細的比對

A: -p icmp icmp擴充即被裝入 可指定icmp類型(類型詳見#iptables -p icmp -h)

例:iptables-t filter -A INPUT -p icmp --icmp-type echo-request -j DROP不允許ping主機

B:-p udp udp擴充裝入 --sport/dport [!] port[:port]單個端口或一端口範圍

例:#iptables -A FORWARD -p tcp -d 198.168.80.11 --dport www -i eth0 -j ACCEPT 開放www

C: -p tcp同上格式 重點比對 --tcp-flags [!] maskcomp mask關第狀态位comp為1的狀态位

   例:#iptables -t filter -A FORWORD -i eth0 -o eth1 -p tcp

-i, --in-interface