DDOS***类型以及iptables防范ddos脚本
一. 常見的DDos***類型
SYN Flood:是當前最流行的DoS(拒絕服務***)與,這是一種利用TCP協議缺陷,發送大量偽造的TCP連接請求,從而使得被***方資源耗盡(CPU滿負荷或內存不足)的***方式。
Smurf:該***向一個子網的廣播地址發一個帶有特定請求(如ICMP回應請求)的包,并且將源地址偽裝成想要***的主機地址。子網上所有主機都回應廣播包請求而向被***主機發包,使該主機受到***。
Land-based:***者將一個包的源地址和目的地址都設置為目標主機的地址,然后將該包通過IP欺騙的方式發送給被***主機,這種包可以造成被***主機因試圖與自己建立連接而陷入死循環,從而很大程度地降低了系統性能
Ping of Death:根據TCP/IP的規范,一個包的長度最大為65536字節。盡管一個包的長度不能超過65536字節,但是?一個包分成的多個片段的疊加卻能做到。當一個主機收到了長度大于65536字節的包時,就是受到了Ping of Death***,該***會造成主機的宕機。
Teardrop:IP數據包在網絡傳遞時,數據包可以分成更小的片段。***者可以通過發送兩段(或者更多)數據包來實現TearDrop***。第一個包的偏移量為0,長度為N,第二個包的偏移量小于N。為了合并這些數據段,TCP/IP堆棧會分配超乎尋常的巨大資源,從而造成系統資源的缺乏甚至機器的重新啟動。
二. 如何檢測是否遭受了DDos***
第一種方法:這里有一條非常實用的命令
?????? # netstat -an|grep SYN_RECV|wc –l
?????? 如果顯示的數據比較大的話,你很可能已經中招了。
第二種方法:用監控軟件,比如mrtg或cacti都可以,比如下面顯示,流量在某一時刻突然劇增
??????
三.? 如何預防DDos,這里有一個非常實用的腳本
#!/bin/bash
netstat -an|grep SYN_RECV|awk '{print$5}'|awk -F: '{print$1}'|sort|uniq -c|sort -rn|awk '{if ($1 >5)? print $2}' >> /tmp/dropip
for i in $(cat /tmp/dropip)
do
/sbin/iptables -A INPUT -s $i -j DROP
echo “$i kill at `date`” >>/var/log/ddos
done
該腳本會把處于SYN_RECV并且數量達到5個的ip做統計,并且寫到iptables的INPUT鏈做拒絕。
總結
以上是生活随笔為你收集整理的DDOS***类型以及iptables防范ddos脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: find-s 算法
- 下一篇: [转] 微软轻量级 Web 开发平台 W