追蹤
。有你真好。
關於部落格
‧∴ ° 手心的太陽‧∴ °∴ ‧°‧∴ ☆╮
  • 324870

    累積人氣

  • 12

    今日人氣

    2

    追蹤人氣

[iptables] SYN attack

2)增大backlog 通過增加backlog的數值,可以一定程度減緩大量SYN請求導致TCP連接阻塞的狀況,一般這個數值系統默認是1024,實驗增加到1280~2048: echo "2048" > /proc/sys/net/ipv4/tcp_max_syn_backlog 這樣在強度不是很高的攻擊下,系統響應能力提高了一點。 3)縮短retries次數 Linux系統默認的tcp_synack_retries是5次,將這個數值減少可以提高系統響應能力,實驗改為2次: echo "2" > /proc/sys/net/ipv4/tcp_synack_retries 修改後,SYN_RECV的數量有了少量減少,系統響應也快了一些。 4)限制SYN頻率 上述的幾個方法實際效果並不理想,尤其是DDOS攻擊基本無效,目前比較有效的是對SYN的頻率和次數進行限制,這樣最大限度的控制了單個IP地址發動攻擊的能力。 例如將SYN請求的次數限制在30次每分鐘,系統默認是5次/秒,顯然太高,同時將burst從默認的5個降低到2個。 /sbin/iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST SYN -m limit --limit 30/m --limit-burst 2 -j ACCEPT 注意: 該命令在shell下輸入,’'符號表示續行。 進行此操作後,對正常的用戶而言無任何感覺上的差異,而並發的SYN請求量下降了不少,服務響應基本正常了。 5)封鎖IP/IP段 對於某些單獨IP的DOS攻擊,封ip簡單有效,方法也非常容易: /sbin/iptables -A INPUT -s a.b.c.d -j REJECT 為了大規模快速的封IP地址/段,以下提供小腳本: #!/bin/sh IPSRC=`cat ip.txt` for i in $IPSRC;do /sbin/iptables -A INPUT -s $i -j REJECT done 在ip.txt裡保存如下格式的ip地址段: 211.95.208.0/24 219.78.190.0/24 4.7.220.0/24 68.163.195.0/24 211.162.165.0/24 ...... 結束語 雖然採取了種種手段,但是攻擊依然沒停止過,上述的方法只是減弱了攻擊的影響,但卻不能徹底解決問題。除了利用IPTables外,還可在應用軟件層做一定的連接頻率,連接數等限制,例如Apache有一個mod_limitipconn模塊就可以實現類似功能。 Module Limit connection 文章出處 http://tecblog.no-ip.org/?p=350
相簿設定
標籤設定
相簿狀態