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的抵禦就不夠來,需要在整個子網路中心為您的核心基礎設...