概述
上篇文章介紹了關(guān)于iptables防火墻的日志記錄,本期文章結(jié)合防DDos攻擊場(chǎng)景分享iptables防火墻的高級(jí)應(yīng)用——limit參數(shù)。
小試牛刀
利用ping測(cè)試工具測(cè)試iptables防火墻limit參數(shù)。
測(cè)試步驟:
1、更改iptables防火墻INPUT、FORWORD和OUTPUT對(duì)應(yīng)Chain(鏈)的默認(rèn)策略為DROP(參考上期文章);
2、創(chuàng)建含有l(wèi)imit參數(shù)的策略并記錄日志;
iptables -N ICMP_ACCEPT_LIMIT
iptables -A ICMP_ACCEPT_LIMIT -j LOG --log-prefix "ICMP_ACCEPT_LIMIT_Packet:" --log-level 4
iptables -A ICMP_ACCEPT_LIMIT -j ACCEPT
#創(chuàng)建含有l(wèi)imit參數(shù)的策略;
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 6/m --limit-burst 2 -j ICMP_ACCEPT_LIMIT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -m limit --limit 6/m --limit-burst 2 -j ICMP_ACCEPT_LIMIT
備注:
-m limit: 啟用limit擴(kuò)展;
–limit 6/m; 允許每分鐘6個(gè)連接;
–limit-burst 2: 只有當(dāng)連接達(dá)到limit-burst值時(shí)才啟用limit/m限制。
3、更改iptables日志存儲(chǔ)文件(參考上期文章);
4、測(cè)試PC ping 測(cè)試linux系統(tǒng)并查看linux系統(tǒng)的iptables防火墻記錄日志。
(1)、測(cè)試PC ping 10 個(gè)報(bào)文至Linux主機(jī)(192.168.1.195),如下圖所示。
(2)、查看linux主機(jī)iptables防火墻日志記錄文件,如下圖所示。
22:36:42和22:36:43,linux主機(jī)收到測(cè)試PC的ICMP請(qǐng)求報(bào)文;
22:36:54和22:37:05,linux主機(jī)收到測(cè)試PC的ICMP請(qǐng)求報(bào)文;
22:36:43-22:36:54之間相差10秒;
22:36:54-22:37:05之間相差10秒;
WHY?
22:36:42和22:36:43的請(qǐng)求報(bào)文數(shù)2個(gè),達(dá)到了limit-burst值,從而觸發(fā)了–limit 6/m參數(shù)設(shè)置(每分鐘允許6個(gè)連接,即每10秒允許一個(gè)連接),因此在測(cè)試PC至linux主機(jī)的10個(gè)ping包過程中,產(chǎn)生了這樣的現(xiàn)象。
總結(jié)
iptables防火墻limit參數(shù)不但可限制ICMP協(xié)議,而且可限制TCP的建立,詳情可參考上述案例。不足之處,歡迎各位小伙伴留言交流。