cc攻擊一到就有點兵臨城下的感覺,正確的設置防護規則可以做到臨危不亂,這里給出一個iptables對ip進行連接頻率和并發限制,限制單ip連接和頻率的設置規則的介紹
#單個IP在60秒內只允許新建20個連接,這里假設web端口就是80,
iptables -I INPUT -i eth1 -p tcp -m tcp –dport 80 -m state –state NEW -m recent –update –seconds 60 –hitcount 20 –name DEFAULT –rsource -j DROP
iptables -I INPUT -i eth1 -p tcp -m tcp –dport 80 -m state –state NEW -m recent –set –name DEFAULT –rsource
#控制單個IP的最大并發連接數為20
iptables -I INPUT -p tcp –dport 80 -m connlimit –connlimit-above 20 -j REJECT
#每個IP最多20個初始連接
iptables -I INPUT -p tcp –syn -m connlimit –connlimit-above 20 -j DROP
參數解釋:
-p協議
-m module_name:
-m tcp 的意思是使用 tcp 擴展模塊的功能 (tcp擴展模塊提供了 –dport, –tcp-flags, –sync等功能)
recent模塊:
–name #設定列表名稱,默認DEFAULT。
–rsource #源地址,此為默認。
–rdest #目的地址
–seconds #指定時間內
–hitcount #命中次數
–set #將地址添加進列表,并更新信息,包含地址加入的時間戳。
–rcheck #檢查地址是否在列表,以第一個匹配開始計算時間。
–update #和rcheck類似,以最后一個匹配計算時間。
–remove #在列表里刪除相應地址,后跟列表名稱及地址
connlimit功能:
connlimit模塊允許你限制每個客戶端IP的并發連接數,即每個IP同時連接到一個服務器個數。
connlimit模塊主要可以限制內網用戶的網絡使用,對服務器而言則可以限制每個IP發起的連接數。
–connlimit-above n ?。O拗茷槎嗌賯€
–connlimit-mask n #這組主機的掩碼,默認是connlimit-mask 32 ,即每個IP.
原創文章,作者:eryang,如若轉載,請注明出處:http://www.www58058.com/15694
[…] 轉載請注明:linux運維部落 ? 抵御DDOS攻擊,iptables限制TCP連接和頻率 […]