真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

iptables規(guī)則的應(yīng)用

    iptables是系統(tǒng)安全必不可少的,對防范外來***,起著巨大的作用.

成都創(chuàng)新互聯(lián)是專業(yè)的鐘樓網(wǎng)站建設(shè)公司,鐘樓接單;提供網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行鐘樓網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

    iptables 只是防火墻的通告規(guī)則,是系統(tǒng) netfilter 在內(nèi)核中完成具體功能實現(xiàn)的.

防火墻分兩大類.網(wǎng)絡(luò)層防火墻,應(yīng)用層防火墻.

防火墻的原理是在報文與主機通訊的必經(jīng)之路設(shè)立通過規(guī)則,以實行安全放行.一般主機通訊的必經(jīng)之路有五個,分別對應(yīng)五個勾子函數(shù).

hook function

PREROUTING:路由前

INPUT:到達本機內(nèi)部的報文必經(jīng)之路

FORWARD:由本機轉(zhuǎn)發(fā)的報文必經(jīng)之路

OUTPUT:由本機發(fā)出的報文的必經(jīng)之路

POSTROUTING:路由后

防火墻,分四大規(guī)則功能表raw, mangle, nat, filter 

filter: 過濾,定義是否允許通過防火墻

nat: 地址轉(zhuǎn)換,啟用connection_track;

SNAT

DNAT

PNAT

mangle: 

raw: 目標是關(guān)閉nat表上啟用的連接追蹤功能;

iptables 規(guī)則的應(yīng)用

表和鏈的對應(yīng)關(guān)系:

filter: INPUT, FORWARD, OUTPUT

nat: PREROUTING(SNAT),POSTROUTING(DNAT),OUTPUT

mangle: PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING

raw: PREROUTING, OUTPUT

iptables只是用戶空間的工具,寫規(guī)則,并自動發(fā)往netfilter,立即生效;所以在編寫規(guī)則之前,一定要注意的是,寫的規(guī)則,千萬要確保放行自己的連接,以免自己的ssh遠程連接都不予放行,將自己擋在外面.

netfilter: 接收并生效規(guī)則;

 基本語法:    

 iptables  [-t TABLE]  COMMAND CHAIN CRETIRIA -j TARGET 

 iptables  [-t TABLE]     COMMAND      CHAIN     CRETIRIA       -j         TARGET

加在哪個表上        命令選項           鏈接      匹配標準       處理       處理辦法

[以上語法格式,只是比較通用,不同的命令,用法不盡相同]

-t TABLE: 

nat, mangle, raw, filter

默認為filter

管理鏈的命令: 

-F:flush, 清空規(guī)則鏈;

-N:new, 自建一條鏈

-X: delete, 刪除一條自定義的空鏈

-Z:zero,計數(shù)器歸零

-P:policy,設(shè)置默認策略,對filter表來講,默認規(guī)則為ACCEPT或DROP;

-E:重命名自定義鏈

管理鏈中的規(guī)則

-A :添加

-I :插入

-D : 刪除

-R :修改  =>如果要修改一條規(guī)則的話,語法順序要和寫的時候?qū)?yīng),所以一般我不使用,通常是新寫一條規(guī)則在要修改的規(guī)則之后,把要改的規(guī)則刪除

查詢規(guī)則:

-L

-n: 數(shù)字格式顯示主機地址和端口;

-v: 詳細格式,-vv, -vvv

--line-numbers: 顯示規(guī)則編號

pkts bytes  target     prot opt in        out         source               destination

包數(shù) 字節(jié)數(shù) 目標       協(xié)議  流入的接口  流出的接口   源地址               目標地址

-x: exactly,不要對計數(shù)器的計數(shù)結(jié)果做單位換算,而顯示其精確值

所有命令的使用,如果不帶 -t table[指定的表] 則默認使用的是filter表

iptables [-t TABLE] -A 鏈名 匹配條件 -j 處理目標

匹配條件:

    通用匹配

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

--src, --source

-d 地址:指定報文目標IP地址匹配的范圍;

--dst, --destination

-p 協(xié)議:指定匹配報文的協(xié)議類型,一般有三種tcp, udp和icmp;

-i INTERFACE: 數(shù)據(jù)報文流入的接口;PREROUTING, INPUT, FORWARD

-o INTERFACE: 數(shù)據(jù)報文流出的接口;OUTPUT, FORWARD, POSTROUITING

    擴展匹配

隱式擴展:當使用-p {tcp|udp|icmp}中的一種時,可以直接使用擴展專用選項;

 -p tcp:

--sport PORT[-PORT]: 指定源端口

--dport PORT[-PORT]: 指定目標端口

--tcp-flags 

 -p udp:

--sport 

--dport

-p icmp [-m icmp]    =>網(wǎng)絡(luò)報文探測協(xié)議

--icmp-type   0: echo-reply, ping響應(yīng)  8: echo-request, ping請求 

iptables

處理目標:

內(nèi)置目標:

   DROP    一般不給通行的報文悄悄丟棄就好,最好不要使用reject

   REJECT

   ACCEPT

例,寫一條規(guī)則,允許接收本機ping其它主機的請求回應(yīng)

[root@apache_13 ~]# iptables -A INPUT -d 172.16.26.13 -p icmp --icmp-type 0 -j ACCEPT

放行本機對其它主機的ping請求

[root@apache_13 ~]# iptables -A OUTPUT -p icmp -j ACCEPT

  顯式擴展:必須明確說明使用哪個模塊進行擴展,而后才能使用其擴展專用選項;

-m state --state  ==>切記,每一個不同的擴展都要使用一次 -m參數(shù)  

    模塊:iptables,netfilter各擁有一部分代碼 

    multiport: 多端口匹配

    可用于匹配非連續(xù)或連續(xù)端口;最多指定15個端口;

專用選項:

--source-ports, --sports port[,port,port:port]

--destination-ports, --dports

--ports

[root@apache_13 ~]# iptables -I INPUT -p tcp -m multiport --dports 22,80 -j ACCEPT 

放行所有訪問22,80端口的報文

iprange: 匹配指定范圍內(nèi)的地址;

匹配一段連續(xù)的地址而非整個網(wǎng)絡(luò)時有用; 

專用選項:

[!] --src-ragne IP[-IP]

[!] --dst-range

[root@apache_13 ~]# iptables -I INPUT -p tcp -m multiport --dports 22,80 -m iprange --src-range 172.16.26.1-172.16.26.10 -j ACCEPT 

放行172.16.26.1-10訪問本機22,80端口的報文 

string: 字符串匹配,能夠檢測報文應(yīng)用層中的字符串

字符匹配檢查高效算法

kmp, bm

 

專用選項:

--algo {kmp|bm}

--string "STRING"

--hex-string "HEX_STRING": HEX_STRING為編碼成16進制格式的字串;

# iptables -I OUTPUT -m string --algo kmp --string "sex" -j DROP

如,不允許字串里包含有 admin

[root@apache_13 ~]# iptables -A OUTPUT  -m string --string  'admin' --algo kmp -j DROP 

time: 基于時間做訪問控制 

專用選項:

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

--datestop 

例如,在8-19 至8-20不許訪問

[root@apache_13 ~]#iptables -A INPUT -m time --datestart 2014-08-19 --datestop 2014-08-20 -j DROP

--timestart hh:mm[:ss]

--timestop hh:mm[:ss]

例如,在12:00 至 14:00 不許訪問

[root@apache_13 ~]# iptables -A OUTPUT -m time --timestart 12:00 --timestop 14:00 -j DROP

--weekdays day[,day]

Mon, Tue,

例如,周一,二不許訪問

[root@apache_13 ~]# iptables -A OUTPUT -m time --weekdays Mon,Tue -j DROP

connlimit: 連接數(shù)限制,對每IP所能夠發(fā)起并發(fā)連接數(shù)做限制;

專用選項:

[!] --connlimit-above [n] 

例如,限制176主機,最大只能有3個ssh連接

[root@apache_13 ~]# iptables -I INPUT 1 -s 172.16.26.176 -p tcp --dport 22 -m connlimit --connlimit-above 3 -j DROP

limit: 速率限制

專用選項:

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

--limit-burst n

例子:每個ip每分鐘只能ping 我20下,而且每次只能并發(fā)5個ping包

[root@apache_13 ~]# iptables -A INPUT -d 172.16.100.7 -p icmp --icmp-type 8 -m limit --limit 20/minute --limit-burst 5 -j ACCEPT

state: 狀態(tài)檢查

專用選項:

--state 

[root@apache_13 ~]# iptables -I INPUT 3 -s 172.16.10.0/24 -d 172.16.26.13  -p tcp -m multiport --destination-ports 22,80 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -I OUTPUT 1 -m state --state ESTABLISHED  # 對于所有established狀態(tài)的包全部放行,那么OUTPUT鏈上的其他的放行的規(guī)則都可以刪除了

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

NEW: 新建立一個會話

ESTABLISHED:已建立的連接

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

INVALID: 無法識別的連接

綜合練習(xí)1

限制本地主機的web服務(wù)器在周一不允許訪問;新請求的速率不能超過100個每秒;web服務(wù)器包含了admin字符串的頁面不允許訪問;web服務(wù)器僅允許響應(yīng)報文離開本機; 

iptables -A OUTPUT -m time --weekdays Mon -m limit --limit 100/s  -m string --string  'admin' --algo kmp -j DROP

 限速        限制每秒100個   過濾字串 過濾 admin     使用 kmp算法  

 

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

/proc/sys/net/nf_conntrack_max

當前追蹤的所有連接

/proc/net/nf_conntrack

不同協(xié)議或連接類型追蹤時的屬性:

/proc/sys/net/netfilter目錄:

放行被動模式下的FTP服務(wù):

1、裝載模塊/lib/modules/KERNEL_VERSION/kernel/net/netfilter/

模塊:nf_conntrack_ftp

2、放行請求報文:

(1)放行NEW狀態(tài)對21端口請求的報文;

(2) 放行ESTABLISHED以及RELATED狀態(tài)的報文

3、放行響應(yīng)報文:

(1) 放行ESTABLISHED以及RELATED狀態(tài)的報文

綜合案例

iptables 規(guī)則的應(yīng)用

配置apache_13有ssh,httpd服務(wù)的路由規(guī)則

-A INPUT -p tcp -m tcp --dport 80 -m time --weekdays Tue  --datestop 2038-01-19T11:14:07 -m string --string "admin" --algo kmp --to 65535 -j DROP 

-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP 

-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP 

-A INPUT -d 172.16.26.13/32 -p udp -m udp --sport 53 -j ACCEPT 

-A INPUT -d 172.16.26.13/32 -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT 

-A INPUT -p tcp -m tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT 

-A INPUT -s 172.16.26.14/32 -j ACCEPT 

-A INPUT -s 172.16.26.16/32 -j ACCEPT 

-A OUTPUT -s 172.16.26.13/32 -p udp -m udp --dport 53 -j ACCEPT 

-A OUTPUT -p tcp -m state --state ESTABLISHED -j ACCEPT 

-A OUTPUT -p icmp -j ACCEPT 

-A OUTPUT -p tcp -m multiport --sports 22,80 -j ACCEPT 

-A OUTPUT -d 172.16.26.14/32 -p tcp -m tcp --dport 9000 -j ACCEPT 

iptables的規(guī)則保存與讀取

service iptables save ==>規(guī)則保存到了/etc/sysconfig/iptables

還可以保存到自定義的位置

iptables-save > /tmp/iptables.cnf .

哪天想讀進來了,可以 iptables-restore <  /tmp/iptables


名稱欄目:iptables規(guī)則的應(yīng)用
鏈接URL:http://weahome.cn/article/jdgehh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部