iptables是系統(tǒng)安全必不可少的,對(duì)防范外來(lái)***,起著巨大的作用.
為精河等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及精河網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、精河網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!iptables 只是防火墻的通告規(guī)則,是系統(tǒng) netfilter 在內(nèi)核中完成具體功能實(shí)現(xiàn)的.
防火墻分兩大類.網(wǎng)絡(luò)層防火墻,應(yīng)用層防火墻.
防火墻的原理是在報(bào)文與主機(jī)通訊的必經(jīng)之路設(shè)立通過(guò)規(guī)則,以實(shí)行安全放行.一般主機(jī)通訊的必經(jīng)之路有五個(gè),分別對(duì)應(yīng)五個(gè)勾子函數(shù).
hook function
PREROUTING:路由前
INPUT:到達(dá)本機(jī)內(nèi)部的報(bào)文必經(jīng)之路
FORWARD:由本機(jī)轉(zhuǎn)發(fā)的報(bào)文必經(jīng)之路
OUTPUT:由本機(jī)發(fā)出的報(bào)文的必經(jīng)之路
POSTROUTING:路由后
防火墻,分四大規(guī)則功能表raw, mangle, nat, filter
filter: 過(guò)濾,定義是否允許通過(guò)防火墻
nat: 地址轉(zhuǎn)換,啟用connection_track;
SNAT
DNAT
PNAT
mangle:
raw: 目標(biāo)是關(guān)閉nat表上啟用的連接追蹤功能;
表和鏈的對(duì)應(yīng)關(guān)系:
filter: INPUT, FORWARD, OUTPUT
nat: PREROUTING(SNAT),POSTROUTING(DNAT),OUTPUT
mangle: PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING
raw: PREROUTING, OUTPUT
iptables只是用戶空間的工具,寫(xiě)規(guī)則,并自動(dòng)發(fā)往netfilter,立即生效;所以在編寫(xiě)規(guī)則之前,一定要注意的是,寫(xiě)的規(guī)則,千萬(wàn)要確保放行自己的連接,以免自己的ssh遠(yuǎn)程連接都不予放行,將自己擋在外面.
netfilter: 接收并生效規(guī)則;
基本語(yǔ)法:
iptables [-t TABLE] COMMAND CHAIN CRETIRIA -j TARGET
iptables [-t TABLE] COMMAND CHAIN CRETIRIA -j TARGET
加在哪個(gè)表上 命令選項(xiàng) 鏈接 匹配標(biāo)準(zhǔn) 處理 處理辦法
[以上語(yǔ)法格式,只是比較通用,不同的命令,用法不盡相同]
-t TABLE:
nat, mangle, raw, filter
默認(rèn)為filter
管理鏈的命令:
-F:flush, 清空規(guī)則鏈;
-N:new, 自建一條鏈
-X: delete, 刪除一條自定義的空鏈
-Z:zero,計(jì)數(shù)器歸零
-P:policy,設(shè)置默認(rèn)策略,對(duì)filter表來(lái)講,默認(rèn)規(guī)則為ACCEPT或DROP;
-E:重命名自定義鏈
管理鏈中的規(guī)則
-A :添加
-I :插入
-D : 刪除
-R :修改 =>如果要修改一條規(guī)則的話,語(yǔ)法順序要和寫(xiě)的時(shí)候?qū)?yīng),所以一般我不使用,通常是新寫(xiě)一條規(guī)則在要修改的規(guī)則之后,把要改的規(guī)則刪除
查詢規(guī)則:
-L
-n: 數(shù)字格式顯示主機(jī)地址和端口;
-v: 詳細(xì)格式,-vv, -vvv
--line-numbers: 顯示規(guī)則編號(hào)
pkts bytes target prot opt in out source destination
包數(shù) 字節(jié)數(shù) 目標(biāo) 協(xié)議 流入的接口 流出的接口 源地址 目標(biāo)地址
-x: exactly,不要對(duì)計(jì)數(shù)器的計(jì)數(shù)結(jié)果做單位換算,而顯示其精確值
所有命令的使用,如果不帶 -t table[指定的表] 則默認(rèn)使用的是filter表
iptables [-t TABLE] -A 鏈名 匹配條件 -j 處理目標(biāo)
匹配條件:
通用匹配
-s 地址:指定報(bào)文源IP地址匹配的范圍;可以是IP,也可以是網(wǎng)絡(luò)地址;可使用!取反;
--src, --source
-d 地址:指定報(bào)文目標(biāo)IP地址匹配的范圍;
--dst, --destination
-p 協(xié)議:指定匹配報(bào)文的協(xié)議類型,一般有三種tcp, udp和icmp;
-i INTERFACE: 數(shù)據(jù)報(bào)文流入的接口;PREROUTING, INPUT, FORWARD
-o INTERFACE: 數(shù)據(jù)報(bào)文流出的接口;OUTPUT, FORWARD, POSTROUITING
擴(kuò)展匹配
隱式擴(kuò)展:當(dāng)使用-p {tcp|udp|icmp}中的一種時(shí),可以直接使用擴(kuò)展專用選項(xiàng);
-p tcp:
--sport PORT[-PORT]: 指定源端口
--dport PORT[-PORT]: 指定目標(biāo)端口
--tcp-flags
-p udp:
--sport
--dport
-p icmp [-m icmp] =>網(wǎng)絡(luò)報(bào)文探測(cè)協(xié)議
--icmp-type 0: echo-reply, ping響應(yīng) 8: echo-request, ping請(qǐng)求
iptables
處理目標(biāo):
內(nèi)置目標(biāo):
DROP 一般不給通行的報(bào)文悄悄丟棄就好,最好不要使用reject
REJECT
ACCEPT
例,寫(xiě)一條規(guī)則,允許接收本機(jī)ping其它主機(jī)的請(qǐng)求回應(yīng)
[root@apache_13 ~]# iptables -A INPUT -d 172.16.26.13 -p icmp --icmp-type 0 -j ACCEPT
放行本機(jī)對(duì)其它主機(jī)的ping請(qǐng)求
[root@apache_13 ~]# iptables -A OUTPUT -p icmp -j ACCEPT
顯式擴(kuò)展:必須明確說(shuō)明使用哪個(gè)模塊進(jìn)行擴(kuò)展,而后才能使用其擴(kuò)展專用選項(xiàng);
-m state --state ==>切記,每一個(gè)不同的擴(kuò)展都要使用一次 -m參數(shù)
模塊:iptables,netfilter各擁有一部分代碼
multiport: 多端口匹配
可用于匹配非連續(xù)或連續(xù)端口;最多指定15個(gè)端口;
專用選項(xiàng):
--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
放行所有訪問(wèn)22,80端口的報(bào)文
iprange: 匹配指定范圍內(nèi)的地址;
匹配一段連續(xù)的地址而非整個(gè)網(wǎng)絡(luò)時(shí)有用;
專用選項(xiàng):
[!] --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訪問(wèn)本機(jī)22,80端口的報(bào)文
string: 字符串匹配,能夠檢測(cè)報(bào)文應(yīng)用層中的字符串
字符匹配檢查高效算法
kmp, bm
專用選項(xiàng):
--algo {kmp|bm}
--string "STRING"
--hex-string "HEX_STRING": HEX_STRING為編碼成16進(jìn)制格式的字串;
# 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: 基于時(shí)間做訪問(wèn)控制
專用選項(xiàng):
--datestart YYYY[-MM][-DD[Thh[:mm[:ss]]]]
--datestop
例如,在8-19 至8-20不許訪問(wèn)
[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 不許訪問(wèn)
[root@apache_13 ~]# iptables -A OUTPUT -m time --timestart 12:00 --timestop 14:00 -j DROP
--weekdays day[,day]
Mon, Tue,
例如,周一,二不許訪問(wèn)
[root@apache_13 ~]# iptables -A OUTPUT -m time --weekdays Mon,Tue -j DROP
connlimit: 連接數(shù)限制,對(duì)每IP所能夠發(fā)起并發(fā)連接數(shù)做限制;
專用選項(xiàng):
[!] --connlimit-above [n]
例如,限制176主機(jī),大只能有3個(gè)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: 速率限制
專用選項(xiàng):
--limit n[/second|/minute|/hour|/day]
--limit-burst n
例子:每個(gè)ip每分鐘只能ping 我20下,而且每次只能并發(fā)5個(gè)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)檢查
專用選項(xiàng):
--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 # 對(duì)于所有established狀態(tài)的包全部放行,那么OUTPUT鏈上的其他的放行的規(guī)則都可以刪除了
連接追蹤中的狀態(tài):
NEW: 新建立一個(gè)會(huì)話
ESTABLISHED:已建立的連接
RELATED: 有關(guān)聯(lián)關(guān)系的連接
INVALID: 無(wú)法識(shí)別的連接
綜合練習(xí)1
限制本地主機(jī)的web服務(wù)器在周一不允許訪問(wèn);新請(qǐng)求的速率不能超過(guò)100個(gè)每秒;web服務(wù)器包含了admin字符串的頁(yè)面不允許訪問(wèn);web服務(wù)器僅允許響應(yīng)報(bào)文離開(kāi)本機(jī);
iptables -A OUTPUT -m time --weekdays Mon -m limit --limit 100/s -m string --string 'admin' --algo kmp -j DROP
限速 限制每秒100個(gè) 過(guò)濾字串 過(guò)濾 admin 使用 kmp算法
調(diào)整連接追蹤功能所能容納的連接的大數(shù)目:
/proc/sys/net/nf_conntrack_max
當(dāng)前追蹤的所有連接
/proc/net/nf_conntrack
不同協(xié)議或連接類型追蹤時(shí)的屬性:
/proc/sys/net/netfilter目錄:
放行被動(dòng)模式下的FTP服務(wù):
1、裝載模塊/lib/modules/KERNEL_VERSION/kernel/net/netfilter/
模塊:nf_conntrack_ftp
2、放行請(qǐng)求報(bào)文:
(1)放行NEW狀態(tài)對(duì)21端口請(qǐng)求的報(bào)文;
(2) 放行ESTABLISHED以及RELATED狀態(tài)的報(bào)文
3、放行響應(yīng)報(bào)文:
(1) 放行ESTABLISHED以及RELATED狀態(tài)的報(bào)文
綜合案例
配置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 .
哪天想讀進(jìn)來(lái)了,可以 iptables-restore < /tmp/iptables
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
本文題目:iptables規(guī)則的應(yīng)用-創(chuàng)新互聯(lián)
URL鏈接:http://www.sd-ha.com/article34/coiise.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、自適應(yīng)網(wǎng)站、網(wǎng)站排名、做網(wǎng)站、網(wǎng)站制作、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容