亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iptables上課內容

發布時間:2020-08-11 14:34:03 來源:網絡 閱讀:338 作者:fuclio 欄目:網絡安全

                                                       iptables


全稱Packets Filter Firewall;  iptables/netfilter:包過濾型防火墻;帶狀態檢測的包過濾型防火墻;連接追蹤(connection tracking);

    Firewall:隔離工具;工作于主機或網絡的邊緣,對經由的報文根據預先定義的規則(識別條件)進行檢測,對于能夠被規則匹配到的報文實行某預定義的處理機制的一套組件;
        硬件防火墻:在硬件級別能部分防火墻,另一部分功能基于軟件實現;
        軟件防火墻:應用軟件處理邏輯運行通用硬件實現的防火墻;
        
        主機防火墻:服務范圍為當前主機;
        網絡防火墻:服務范圍為局域網;
                    
    獲取幫助:
            CentOS 7:man iptables-extensions
            CentOS 6:man iptables           

    iptables/netfilter:軟件實現的主機或網絡防火墻;
netfilter:位于內核中tcp/ip協議棧上的一個framework;5個鉤子函數;
        iptables:位于用戶空間的命令行程序,用于生成規則送往內核中的netfilter之上;
            hook function鉤子函數:
                prerouting
                input
                forward
                output
                postrouting
            chain鏈:
                PREROUTING
                INPUT
                FORWARD
                OUTPUT
                POSTROUTING
            四表
                filter:過濾,防火墻;
                nat:network address translation;用于修改報文的源地址或目標地址,甚至是端口;
                mangle:拆解報文,做出修改,并重新封裝起來;
                raw:關閉nat表上啟用的連接追蹤機制;
            優先級次序(由高而低):
                raw --> mangle --> nat --> filter
        
        4個表中,每個表多對應的鏈分別為(功能<-->鉤子):
            raw:PREROUTING,OUTPUT
            mangle:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
            nat:PREROUTING,INPUT,OUTPUT,POSTRUTING
            filter:INPUT,FORWARD,OUTPUT
            
        報文流向:
            到本機某進程的報文:PREROUTING --> INPUT
            由本轉發的報文:PREROUTING --> FORWARD --> POSTROUTING
            由本某進程發出的:OUTPUT --> POSTROUTING
            
        規則的組成的部分:
            匹配條件:
                網絡層首部屬性值;
                傳輸層首部屬性值;
                附加的條件;
            處理動作:
                
        TCP/IP協議棧:
            數據鏈接層:物理到物理設備之間的通信;(MAC,Media Access Control)
            網絡層:源主機到目標主機之間的通信;
            傳輸層:進程到進程之間的通信;
        
        CentOS 5/6:iptables命令編寫規則;
        CentOS 7:firewalld;
            systemctl disable firewalld.service
        
    iptables命令:
        規則:根據指定的匹配條件來嘗試匹配每個流經此處的報文,一旦匹配成功,就由規則后面指明的處理動作進行處理;
            匹配條件:
                基本匹配條件:簡單檢查IP、TCP、UDP等報文的某屬性進行匹配的   
                擴展匹配條件:需要借助于擴展模塊進行的匹配條件指定即為擴展匹配;
            處理動作:
                基本動作:ACCEPT,DROP, ...
                擴展動作:需要借助擴展模塊進行的動作;         
        添加規則之時需要考量的問題:
            (1) 報文的流經路徑,判斷添加規則至哪個鏈上;
            (2) 確定要實現的功能,判斷添加規則至哪個表上;
            (3) 要指定的匹配條件,以用于匹配目標報文;
                    
    規則的編寫格式:iptables [-t table] COMMAND chain [-m matchname [per-match-options]] [-j targetname [per-target-options]]           
        -t table:
            默認為filter;其它可用的有raw, mangle, nat;       
        COMMAND:
            鏈:
            -P:policy,策略,定義默認策略; 一般有兩種選擇,ACCEPT和DROP;
            -N:new,新建一條自定義的規則鏈;被內建鏈上的規則調用才能生效;[-j  chain_name];
            -X:drop,刪除自定義的引用計數為0的空鏈;
            -F:flush,清空指定的鏈;
            -E:重命名自定義的引用計數和為0的鏈;
        規則:
            -A:append,追加,在指定鏈的尾部追加一條規則;
            -I:insert,插入,在指定的位置(省略位置時表示鏈首)插入一條規則
            -D:delelte,刪除,刪除指定的規則;
            -R:replace,替換,將指定的規則替換為新規則;不能僅修改規則中的部分,而是整條規則完全替換;
        查看:
            -L:list,列出表中的鏈上的規則;
                -n:numeric,以數值格式顯示;
                -v:verbose,顯示詳細格式信息;
                    -vv, -vvv
                -x:exactly,計數器的精確結果;
                --line-numbers:顯示鏈中的規則編號;
                    
        計數器:
            規則,以及默認策略有專用的計數器;
            記錄被當前規則所匹配到的:
                (1) 報文個數;
                (2) 字節總數;
                    
            重置規則計數器:
                -Z:zero,置0;
                    
        chain:
            (1) 內建鏈;
            (2) 自定義鏈;
                
        匹配條件:   
            多重條件:邏輯關系為“與”;
            基本匹配條件:
                [!] -s, --source address[/mask][,...]:檢查報文中的源IP地址是否符合此處指定的地址或范圍;
                [!] -d, --destination address[/mask][,...]:檢查報文中的目標IP地址是否符合此處指定的地址或范圍;
                [!] -p, --protocol protocol:
                protocol:{tcp|udp|icmp}
                [!] -i, --in-interface name:數據報文的流入接口;INPUT, FORWARD  and  PREROUTING
                [!] -o, --out-interface name:數據報文的流出接口; FORWARD, OUTPUT and POSTROUTING
        擴展匹配條件
            隱式擴展:不用-m選項指出matchname即可使用此match的專用選項進行匹配;
            -p tcp:隱含了-m tcp;
                [!] --source-port,--sport port[:port]:匹配報文中傳輸層的源端口;
                [!] --destination-port,--dport port[:port]:匹配報文中傳輸層的目標端口;
                [!] --tcp-flags mask comp
                    SYN,ACK,FIN,RST,URG,PSH;    
                                
                    mask:要檢查的標志位列表,以逗號分隔;
                    comp:必須為1的標志位,余下的出現在mask列表中的標志位則必須為0;
                                
            --tcp-flags  SYN,ACK,FIN,RST  SYN
                [!] --syn:
                    相當于--tcp-flags  SYN,ACK,FIN,RST  SYN
            -p udp:隱含了-m udp:
                [!] --source-port,--sport port[:port]:匹配報文中傳輸層的源端口;
                [!] --destination-port,--dport port[:port]:匹配報文中傳輸層的目標端口;
            -p icmp:隱含了-m icmp:
                 [!] --icmp-type {type[/code]|typename}
                    8:echo-request
                    0:echo-reply

        顯式擴展:必須使用-m選項指出matchname,有的match可能存在專用的選項;
                        
                
    1、multiport擴展
        以離散或連續的方式定義多端口匹配條件;
                            
             [!] --source-ports,--sports port[,port|,port:port]...:指定多個源端口;
             [!] --destination-ports,--dports port[,port|,port:port]...:指定多個目標端口
             [!] --ports port[,port|,port:port]...:指定多個端口;
                              
    2、iprange擴展
            以連續的ip地址范圍指明連續的多地址匹配條件;         
            [!] --src-range from[-to]:源IP地址;
            [!] --dst-range from[-to]:目標IP地址;
                            
    3、string擴展
            對報文中的應用層數據做字符串匹配檢測;
                        
            [!] --string pattern:要檢測字符串模式;
            [!] --hex-string pattern:要檢測的字符串模式,16進制編碼;
                --algo {bm|kmp}
                            
4、time擴展
        根據報文到達的時間與指定的時間范圍進行匹配度檢測;
                            
            --datestart YYYY[-MM[-DD[Thh[:mm[:ss]]]]]:起始日期時間;
            --datestop YYYY[-MM[-DD[Thh[:mm[:ss]]]]]:結束日期時間;            
            --timestart hh:mm[:ss]
            --timestop  hh:mm[:ss]              
             [!] --monthdays day[,day...]
             [!] --weekdays day[,day...]
                            
            ~]# iptables -I INPUT -d 172.16.100.67 -p tcp --dport 23 -m time --timestart 09:00:00 --timestop 18:00:00 --weekdays Tue,Thu,Sat -j ACCEPT
                            
5、connlimit擴展
        根據每客戶端IP做并發連接數匹配;
--connlimit-upto n:連接數數量小于等于n,此時應該允許;
        --connlimit-above n:連接數數量大于n,此時應該拒絕;
                            
        ~]# iptables -A INPUT -d 172.16.100.67 -p tcp --dport 23 -m connlimit --connlimit-upto 2 -j ACCEPT
                            
    6、limit擴展
        基于收發報文的速率進行匹配;
--limit rate[/second|/minute|/hour|/day]:平均速率
            --limit-burst number:峰值速率
                            
    7、state擴展
        狀態檢測;連接追蹤機制(conntrack);
            INVALID:無法識別的狀態;
            ESTABLISHED:已建立的連接;
            NEW:新連接;
            RELATED:相關聯的連接;
            UNTRACKED:未追蹤的連接;
                             
            nf_conntrack內核模塊;
                追蹤到的連接:/proc/net/nf_conntrack文件中;
                能追蹤的最大連接數量定義在:/proc/sys/net/nf_conntrack_max
                    此值可自行定義,建議必要時調整到足夠大;
                                    
                不同的協議的連接追蹤的時長:
                    /proc/sys/net/netfilter/
                                    
                     [!] --state STATE
                            
    如何開放被模式的ftp服務:
         (1) 裝載追蹤ftp協議的模塊;
            # modprobe nf_conntrack_ftp
                                    
         (2) 放行命令連接
            ~] # iptables -A INPUT -d 172.16.100.67 -p tcp -m state --state ESTABLISHED -j ACCEPT
            ~] # iptables -A INPUT -d 172.16.100.67 -p tcp --dport 21 -m state --state NEW -j ACCEPT
                                
         (3) 放行數據連接
            ~] iptables -A INPUT -d 172.16.100.67 -p tcp -m state --state RELATED -j ACCEPT
                                                                    
    處理動作(目標)
        -j targetname [per-target-options]
targetname:
            ACCEPT:接受;
            DROP:丟棄;
            REJECT:拒絕;
                    
    保存和重載規則:
        iptables-save > /PATH/TO/SOME_RULE_FILE
        iptables-restore < /PATH/FROM/SOME_RULE_FILE
        
        CentOS 6:
            保存規則:
                service iptables save
                    自動保存規則至/etc/sysconfig/iptables文件中;
            重載規則:
                server iptables restore
                    從/etc/sysconfig/iptables文件中重載規則;            
    規則優化:
        (1) 可安全放行所有入站及出站,且狀態為ESTABLISHED的連接;
        (2) 服務于同一類功能的規則,匹配條件嚴格的放前面,寬松放后面;
        (3) 服務于不同類功能的規則,匹配報文可能性較大擴前面,較小放后面;
        (4) 設置默認策略;
            (a) 最后一條規則設定;
            (b) 默認策略設定;
            

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

林周县| 海阳市| 陇西县| 寿阳县| 修武县| 京山县| 安泽县| 商都县| 临城县| 山丹县| 宜宾市| 郑州市| 锡林郭勒盟| 郓城县| 沧州市| 云南省| 玉田县| 德江县| 台东市| 寿光市| 石楼县| 兴宁市| 榕江县| 鲁甸县| 彝良县| 揭阳市| 郸城县| 徐闻县| 望江县| 上杭县| 三河市| 西昌市| 潮安县| 霍州市| 青海省| 万安县| 德惠市| 长顺县| 乡宁县| 延津县| 芒康县|