溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

iptables大體了解

發(fā)布時(shí)間:2020-07-08 21:47:02 來(lái)源:網(wǎng)絡(luò) 閱讀:311 作者:baixiang0601 欄目:安全技術(shù)

tcp/ip協(xié)議網(wǎng)絡(luò)上一個(gè)節(jié)點(diǎn),大門(mén)洞開(kāi),套接字會(huì)話(huà),需要ip和端口,檢查套接字報(bào)文,套接字和tcp/ip協(xié)議差別。主機(jī)防火墻,工作在主機(jī)上。進(jìn)入網(wǎng)卡,到內(nèi)核中的tcp/ip協(xié)議棧,工作在tcp/ip協(xié)議棧上,在一些協(xié)議棧上某些位置放上卡哨,在設(shè)定檢查規(guī)則。

網(wǎng)絡(luò)防火墻,在網(wǎng)絡(luò)外部。

防火墻:工作與主機(jī)或網(wǎng)絡(luò)邊緣,對(duì)于進(jìn)出的報(bào)文根據(jù)定義的規(guī)則做檢查,進(jìn)而對(duì)被規(guī)則匹配到的報(bào)文最為相應(yīng)處理的套件;

網(wǎng)絡(luò)層防火墻,檢查報(bào)文的幀首部,IP首部,tcp首部,不能對(duì)數(shù)據(jù)內(nèi)容進(jìn)行檢查。

iptables/netfilter ,netfilter就是tcp/ip協(xié)議棧上的卡哨,用iptables加入規(guī)則

規(guī)則優(yōu)先級(jí)從高到低以及能工作的卡哨位置:

iptables大體了解

 iptables大體了解               

                 raw :目標(biāo)是關(guān)閉nat表上啟動(dòng)的連接追蹤功能,PREROUTING OUTPUT

         mangle;修改tcp/ip首部的一些特性,任意位置。

         nat:地址轉(zhuǎn)換,POSTROUTING  PREROUTING OUTPUT

         filter;過(guò)濾 INPUT FORWORD  OUTPUT

INPUT:在數(shù)據(jù)進(jìn)入應(yīng)用空間時(shí)設(shè)定的卡哨也叫做鏈。

FORWORD:主機(jī)路由過(guò)程的卡哨

OUTPUT:數(shù)據(jù)從應(yīng)用程序發(fā)出時(shí)經(jīng)過(guò)的卡哨

PREROUTING:數(shù)據(jù)進(jìn)入網(wǎng)卡進(jìn)行路由策略前的卡哨

POSTROUTING:數(shù)據(jù)最后選擇網(wǎng)卡要離開(kāi)前的卡哨

數(shù)據(jù)報(bào)文流程:跟本機(jī)內(nèi)部通信,PREROUTING INPUT OUTPUT POSTROUTING

由本機(jī)轉(zhuǎn)發(fā)的數(shù)據(jù):PREROUTING FORWORD POSTROUTING

注意數(shù)據(jù)報(bào)文的流向,決定源IP目標(biāo)IP。

iptables:用戶(hù)空間的工具,寫(xiě)規(guī)則,并自動(dòng)發(fā)往netfilter,立即生效。

基本語(yǔ)法

iptables 【-t  TABLE】 –A 鏈名 匹配條件 –j 處理目標(biāo)

默認(rèn)的表filter

COMMAND:答題上有下邊幾種

1.對(duì)鏈上規(guī)則的一些命令-A:在后面加一條規(guī)則

                               -I:插入一條新規(guī)則

                              -D:刪除規(guī)則

                              -R:替換規(guī)則

                              -L:查詢(xún)規(guī)則 –L -n:數(shù)字格式顯示地址和端口。-L -v:詳細(xì)格式 --line-numbers顯示規(guī)則行號(hào) –x 不要對(duì)計(jì)數(shù)器計(jì)數(shù)結(jié)果做單位換算,顯示精確值。

2.對(duì)鏈的一些命令:-F :清空規(guī)則鏈

                         -N:自建一個(gè)鏈,只能被調(diào)用

                         -X刪除一個(gè)自定義鏈 

                         -Z計(jì)數(shù)器歸零

                         -P:設(shè)定默認(rèn)策略,對(duì)filter表來(lái)講,默認(rèn)規(guī)則為ACCEPT 或者DROP

                         -E:重命名自定義鏈

iptables 【-t  TABLE】 –A 鏈名 匹配條件 –j 處理目標(biāo)

匹配條件:通用匹配

         -s 地址:指定報(bào)文源IP地址匹配范圍:可以是IP也可以是網(wǎng)絡(luò)地址,可以用!取反。

          -d地址:報(bào)文目標(biāo)ip地址

         -p協(xié)議,指定匹配報(bào)文的協(xié)議類(lèi)型,一般tcp udp icmp

          -i:數(shù)據(jù)報(bào)文流入網(wǎng)卡:只能作用在數(shù)據(jù)傳入的前半部分PREROUTING INPUT FORWORD

         -o:數(shù)據(jù)流出網(wǎng)卡:只能作用在數(shù)據(jù)傳入的后半部分 FORWORD OUTPUT POSTROUTING

擴(kuò)展匹配調(diào)用netfilter 用-m

       隱式擴(kuò)展:當(dāng)使用-p {tcp|udp|icmp}中的一種時(shí)默認(rèn)調(diào)用了對(duì)應(yīng)模塊,可以直接使用擴(kuò)展選項(xiàng)

        -p tcp對(duì)tcp/ip協(xié)議生效:--sport指定源端口 –dport 目標(biāo)端口

                                         --tcp-flags syn,ack,rst,fin   syn all(全選,或者值都為1) none(值都為0)

                                          --tcp-flags syn,ack,rst,fin   syn           這是定義tcp第一次握手

                                          --syn   ALL                                             也可以定義tcp第一次握手

        -p icmp主要限制ping的 :--icmp-type 8是能請(qǐng)求報(bào)文類(lèi)型,0是指響應(yīng)的報(bào)文類(lèi)型

      顯式擴(kuò)展:必須明確指出使用哪個(gè)模塊進(jìn)行擴(kuò)展,才能使用擴(kuò)展選項(xiàng)

                 -m 擴(kuò)展模塊名稱(chēng)(在iptables和netfilter上都要有這個(gè)模塊)

                1)multiport用于匹配非連續(xù)或者連續(xù)端口,對(duì)多指定15個(gè)端口

                      --sports 【port,port:port】指定源端口

                       --dports目標(biāo)端口

                       --ports源和目標(biāo)都包含

iptables -I INPUT -s 192.168.0.0/16 -d 192.168.147.128 -p tcp -m multiport --dports 22,80 -j ACCEPT
是主機(jī)防火墻,在目標(biāo)主機(jī)上添加,實(shí)現(xiàn)特定ip可以連接主機(jī)的http和ssh服務(wù)
沒(méi)指定表就默認(rèn)在filter表上實(shí)現(xiàn)過(guò)濾,在INPUT鏈上從192.168網(wǎng)段到192.168.147.128的tcp報(bào)文使用multiport模塊指定192.168.147.128主機(jī)上的端口可以接受報(bào)文

 

                2)iprange:匹配指定范圍內(nèi)的地址,匹配一段連續(xù)地址而非整個(gè)網(wǎng)絡(luò)。

                [!]--src-range IP[-P]

                [!]—dst-range IP[-P]

               3)string:字符串匹配,檢測(cè)應(yīng)用層報(bào)文中的字符串。字符串算法,kmp, bm

                  專(zhuān)用選項(xiàng)--algo{kmp|bm}

                             --string

                             --hex-string 16進(jìn)制的字符串

                 4)state:狀態(tài)檢查需要開(kāi)啟狀態(tài)連接功能,不適用于高并發(fā)服務(wù)器。

                            --state

                             連接追蹤中的狀態(tài)

                                  NEW:新建立一個(gè)會(huì)話(huà)

                                   ESTABLISHED:已建立的連接

                                   RELATED:有關(guān)聯(lián)的連接

                                   INVALID:無(wú)法識(shí)別的連接

                       調(diào)整連接追蹤功能所能容納的連接最大數(shù)值

                             /proc/sys/net/nf_conntrack_max

                       當(dāng)前追蹤的所有連接

                           /proc/net/nf_conntrack

                       追蹤不同協(xié)議或連接類(lèi)型追蹤時(shí)的屬性

                          /proc/sys/net/netfilter目錄

   放行被動(dòng)模式下的ftp服務(wù)

                         1.裝在模塊/lib/modules/KERNEL_VERSION/kernel/net/netfilter/

                        模塊:nf_conntrack_ftp

             modeprobe加載模塊

                         2.放行報(bào)文請(qǐng)求

                            a.放行NEW狀態(tài)對(duì)21端口的請(qǐng)求

                            b.放行所有ESTABLISHED和RALATED狀態(tài)報(bào)文

                        3.放行響應(yīng)報(bào)文

                            放行所有ESTABLISHED和RALATED狀態(tài)報(bào)文                         limit:速率限制

                      --limit n [/second/minute/hour/day]

                      --limit-burst n :能最多存幾個(gè)

                 time:基于時(shí)間做訪問(wèn)控制

                        --datestart

                        --datestop

                       --timestart

                       --timestop

                       --weeks

             connlimit;連接數(shù)限制,對(duì)每IP能發(fā)起并發(fā)連接數(shù)限制

                     --connlimit-above N

                   

處理目標(biāo):

     內(nèi)置目標(biāo):

        DROP:悄悄丟棄

        REJECT:強(qiáng)硬拒絕

        ACCEPT:接受

     寫(xiě)規(guī)則:先確定功能(表),確定報(bào)文流向,確定要實(shí)現(xiàn)的目標(biāo),確定匹配條件

流向:1.訪問(wèn)本機(jī)進(jìn)程,PREROUTING INPUT

         2.出去的報(bào)文,OUTPUT POSTROUTING

         3.本機(jī)轉(zhuǎn)發(fā),PRETOUTING FORWARD       POSTRONTING

         4.響應(yīng),PRETOUTING FORWARD POSTRONTING

iptables 語(yǔ)法檢查  netfilter立即生效

切記:寫(xiě)給則之前,先添加放行自己的會(huì)話(huà)

永久生效,規(guī)則文件,或者腳本 規(guī)則文件是/etc/sysconfig/iptables

保存規(guī)則iptables-save > /etc/sysconfig/iptables

            service iptables save

        生效iptables-restore < /etc/sysconfig/iptables

              service iptables restart

設(shè)置默認(rèn)策略

iptables –P 鏈 target

修改規(guī)則

iptables –R OUTPUT 1 指定那個(gè)表的那個(gè)鏈上的第幾條規(guī)則,后面跟上完整的更改規(guī)則

優(yōu)化規(guī)則:盡量減少規(guī)則條目,無(wú)關(guān)的規(guī)則把訪問(wèn)量大的放在上邊,屬于同一功能的匹配規(guī)格嚴(yán)格的放在上邊。

      為了更好的管理規(guī)則,自定義鏈;

                   iptables –t filter –N http_in

     刪除空的自定義鏈

                   iptables –X http_in

    重命名自定義鏈

                  iptables –E oldname  newname

地址轉(zhuǎn)換SNAT 原地址轉(zhuǎn)換

                  --to-source

             MASQUERADE:自動(dòng)獲取轉(zhuǎn)換的地址

            DNAT 目標(biāo)地址轉(zhuǎn)換

                   --to-destination

            PNAT端口轉(zhuǎn)換

            FULL NAT 全部轉(zhuǎn)換            

 

iptables –t nat –A POSTROUTING  -s 192.168.1.0/24 –j SNAT –to-source 172.16.100.7
原地址轉(zhuǎn)換成172.16.100.17主機(jī)地址
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI