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

科技小能手發表於2017-11-07

            iptables的工作流程圖

183042240.jpg

     資料從網路卡穿過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  

-o, –out-interface  

–tcp-flagsSYN,ACK,FIN,RST SYN -j DROP 此行可改為 –syn -j  DROP 即第二次握手匹配

本文轉自陳仲陽0 51CTO部落格,原文連結:http://blog.51cto.com/wolfword/1212165


相關文章