輕量級防範DDOS攻擊指令碼

2021-08-17 23:07:47 字數 2010 閱讀 2477

iptables -n syn-flood 

iptables -a input -p tcp --syn -j syn-flood

iptables -i syn-flood -p tcp -m limit --limit 3/s --limit-burst 6 -j return

iptables -a syn-flood -j reject

iptables -a input -i eth0 -p tcp --syn -m connlimit --connlimit-above 15 \

-j drop

iptables -a input -p tcp -m state --state established,related -j accept

iptables -a input  -p tcp --syn -m limit --limit 12/s --limit-burst 24 -j accept

iptables -a forward -p tcp --syn -m limit --limit 1/s -j accept

防範cc攻擊

當apache站點受到嚴重的cc攻擊,我們可以用iptables來防止web伺服器被cc攻擊,

實現自動遮蔽ip的功能。

1.系統要求

(1)linux 核心版本:2.6.9-42elsmp或2.6.9-55elsmp(其它核心版本需要重新編譯核心,

比較麻煩,但是也是可以實現的)。

(2)iptables版本:1.3.7

2.安裝

安裝iptables1.3.7和系統核心版本對應的核心模組kernel-smp-modules-connlimit

3.配置相應的iptables規則

示例如下:

(1)控制單個ip的最大併發連線數

iptables -i input -p tcp --dport 80 -m connlimit  --connlimit-above 50 -j reject

#允許單個ip的最大連線數為 30

預設iptables模組不包含connlimit,需要自己單獨編譯載入

(2)控制單個ip在一定的時間(比如60秒)內允許新建立的連線數

--name bad_http_access --set -j accept#單個ip在60秒內只允許最多新建30個連線4.驗證

(1)工具:flood_connect.c(用來模擬攻擊)

(2)檢視效果:

使用

watch 'netstat -an | grep:21 | grep《模擬攻擊客戶機的ip>| wc -l'
實時檢視模擬攻擊客戶機建立起來的連線數,

使用

watch 'iptables -l -n -v | \grep《模擬攻擊客戶機的ip>'
檢視模擬攻擊客戶機被 drop 的資料報數。

5.注意

為了增強iptables防止cc攻擊的能力,最好調整一下ipt_recent的引數如下:

cat/etc/modprobe.conf options ipt_recent ip_list_tot=1000 ip_pkt_list_tot=60
記錄1000個ip位址,每個位址記錄60個資料報 #modprobe ipt_recent

部落格位址

www.seeit.life

ღ ღ ღ 如果覺得文章對您有用,不妨贊一下ღ ღ ღ

防範DDoS攻擊的幾種方式

一 拒絕服務攻擊的發展 從拒絕服務攻擊誕生到現在已經有了很多的發展,從最初的簡單dos到現在的ddos。那麼什麼是dos和ddos呢?dos是一種利用單台計算機的攻擊 方式。而ddos distributed denial of service,分布式拒絕服務 是一種基於dos的特殊形式的拒絕服務攻...

Linux系統下的DDOS攻擊防範

squid主要是利用其埠對映的功能,可以將80埠轉換一下,其實一般的ddos攻擊可以修改 proc sys net ipv4 tcp max syn backlog裡的引數就行了,預設引數一般都很小,設為8000以上,一般的ddos攻擊就可以解決了。如果上公升到 timeout階段,可以將 proc...

如何部署防範ddos攻擊的方案

拒絕服務攻擊是無法防止的,一些網路犯罪分子隨時都會對他們的目標發動攻擊,無論是否存在防禦措施。在ddos攻擊之前部署好防禦方法還是很有必要的,問題是要如何來做呢?在一般流量的攻擊下,可以用cdn against ddos,倘若是集群性大流量,cdn的抵禦就不夠來,需要在整個子網路中心為您的核心基礎設...