Linux----防火牆簡析

首先,我們先簡單學習瞭解一下有關Linux防火牆的知識點:

           防火牆具有隔離功能,工作在網絡或主機邊緣,對進出網絡或主機的 數據包基於一定的規則檢查,並在匹配某規

則時由規則定義的行爲進行處理的一 組功能的組件,基本上的實現都是默認情況下關閉所有的通過型訪問,只開放允

許訪問的策略。

接下來我們將學習有關於使用管理防火牆的命令:

iptables :命令行工具,用來編寫規則,寫好的規則被送往netfilter,告訴內核如何去處理信息包。

     iptables由五個表(table:filter、nat、mangle、raw、security filter)和五個鏈(chain : INPUT、OUTPUT、FORWARD、

PREROUTING、POSTROUTING)以及一些規則組成 。

filter表:根據預定義的規則過濾符合條件的數據包 。

nat表:network address translation 地址轉換規則表 。

mangle表:修改數據標記位規則表 。

raw表:關閉NAT表上啓用的連接跟蹤機制,加快封包穿越防火牆速度。

security表:用於強制訪問控制(MAC)網絡規則,由Linux安全模塊(如SELinux)實現,優先級由高到低的順序爲:

security -->raw-->mangle-->nat-->filter 

規則rule:根據規則的匹配條件嘗試匹配報文,對匹配成功的報文根據規則定義的處理動 作作出處理。

規則格式:iptables [-t 表名]   選項  chain   [-m 擴展需加載模塊 [per-match-options]]   -j 動作 [per-target-options] 

選項:1、鏈管理: -N:new, 自定義一條新的規則鏈

                                      -X:delete,刪除自定義的空的規則鏈

                                      -P:Policy,設置默認策略;對filter表中的鏈而言,其默認策略有: ACCEPT:接受 DROP:丟棄

                                     -E:重命名自定義鏈;引用計數不爲0的自定義鏈不能夠被重命名,也不能被刪除。

、         2.查看: -L:list, 列出指定鏈上的所有規則,本選項須置後

                              -n:numberic,以數字格式顯示地址和端口號

                              -v:verbose,詳細信息 -vv 更詳細

                             --line-numbers:顯示規則的序號 常用組合: -vnL  --line-numbers

                             -S: selected,以iptables-save 命令格式顯示鏈上規則

(FK3KOK[A(NGVB4$$}[7(DA

             3、規則管理: -A:append,追加

                                           -I:insert, 插入,要指明插入至的規則編號,默認爲第一條

                                          -D:delete,刪除 (1) 指明規則序號 (2) 指明規則本身

                                          -R:replace,替換指定鏈上的指定規則編號

                                         -F:flush,清空指定的規則鏈

                                         -Z:zero,置零 iptables的每條規則都有兩個計數器 (1) 匹配到的報文的個數 (2) 匹配到的所有

報文的大小之和

匹配規則:1.基本規則:[!] -s, --source  address[/mask][,...]:源IP地址或範圍

                 (!  表示取反)[!] -d, --destination address[/mask][,...]:目標IP地址或範圍

                                               [!] -p, --protocol protocol:指定協議,可使用數字如0(all) protocol: tcp, udp, icmp, icmpv6, 等等。

                                               [!] -i, --in-interface name:報文流入的接口;只能應用於數據報文流入環節,只 應用於INPUT、

FORWARD、PREROUTING鏈

                                               [!] -o, --out-interface name:報文流出的接口;只能應用於數據報文流出的環 節,只應用於

FORWARD、OUTPUT、POSTROUTING鏈

                      2.拓展規則:(1)隱式擴展:在使用-p選項指明瞭特定的協議時,無需再用-m選項指明擴展模塊 的擴

展機制,不需要手動加載擴展模塊 

                                             tcp協議的擴展選項

                                                [!] --source-port, --sport port[:port]:匹配報文源端口,可爲端口範圍

                                                [!] --destination-port,--dport port[:port]:匹配報文目標端口,可爲範圍

                                               (2)顯示拓展:必須使用-m選項指明要調用的擴展模塊的擴展機制,要手動加載擴

展模塊 [-m matchname [per-match-options]]


處理動作:-j 動作 [per-target-options]

          簡單:ACCEPT,DROP

         擴展:REJECT:--reject-with:icmp-port-unreachable默認

                      RETURN:返回調用鏈

                     REDIRECT:端口重定向

                      DNAT:目標地址轉換

                     SNAT:源地址轉換

等等,在此只介紹一些常用的選項

處理動作的顯示拓展:multiport擴展 :以離散方式定義多端口匹配,最多指定15個端口。

                          [!] --source-ports,--sports port[,port|,port:port]... 指定多個源端口

                          [!] --destination-ports,--dports port[,port|,port:port]... 指定多個目標端口

                          [!] --ports port[,port|,port:port]...多個源或目標端口

%K(~{MPOYZ1_HDR1BC7BU1S

TEOWR7G6T1L~]2JTOIA[`OW


      iprange擴展 :指明連續的(但一般不是整個網絡)ip地址範圍

                          [!] --src-range from[-to] 源IP地址範圍

                          [!] --dst-range from[-to] 目標IP地址範圍

舉例:

KHDJL(P9N7N5NTK1(CI35RJ

]VC`@YNC}YE)}L2U]5$NM43

4、string擴展 對報文中的應用層數據做字符串模式匹配檢測

                    --from offset  開始偏移

                    --to offset     結束偏移

           [!] --string pattern 要檢測的字符串模式

          [!] --hex-string pattern要檢測字符串模式,16進制格式

I(OT~N(}Z29NAU5A_E[@IJ2


5、time擴展 根據將報文到達的時間與指定的時間範圍進行匹配

                   --datestart YYYY[-MM[-DD[Thh[:mm[:ss]]]]]  日期

                   --datestop YYYY[-MM[-DD[Thh[:mm[:ss]]]]]

                  --timestart hh:mm[:ss]        時間

                  --timestop hh:mm[:ss]

 1I}KFG_MI6XOC8}[4{M(HT6



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