Linux 反 DDOS的幾個設置

 對sysctl參數進行修改

 
$ sysctl -a  | grep ipv4 | grep syn
輸出類似下面:
 
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_synack_retries = 5
net.ipv4.tcp_syn_retries = 5
 
 
net.ipv4.tcp_syncookies是是否打開SYN COOKIES的功能,“1”爲打開,“2”關閉。
net.ipv4.tcp_max_syn_backlog是SYN隊列的長度,加大隊列長度可以容納更多等待連接的網絡連接數。
net.ipv4.tcp_synack_retries和net.ipv4.tcp_syn_retries是定義SYN重試次數。
 
把如下加入到/etc/sysctl.conf即可,之後執行“sysctl -p”!
 
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
提高TCP連接能力
 
net.ipv4.tcp_rmem = 32768
net.ipv4.tcp_wmem = 32768
net.ipv4.sack=0   #我的Centos 5.4 提示沒有這個關鍵字
 使用iptables
 
命令:
 
# netstat -an | grep ":80" | grep ESTABLISHED
 
來查看哪些IP可疑~比如:221.238.196.83這個ip連接較多,並很可疑,並不希望它再次與221.238.196.81有連接。可使用命令:
 
iptables -A INPUT -s 221.238.196.81 -p tcp -d 221.238.196.83 --dport 25 --syn -j ACCEPT
 
這是錯的  
 
我認爲應該這樣寫
 
iptables -A INPUT -s 221.238.196.83 -p tcp -j DROP
 
 
將來自221.238.196.83的包丟棄.
 
對於僞造源IP地址的SYN FLOOD***。該方法無效
 
其他參考
 
防止同步包洪水(Sync Flood)
 
# iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
也有人寫作
 
# iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
--limit 1/s 限制syn併發數每秒1次,可以根據自己的需要修改防止各種端口掃描
 
# iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
Ping洪水***(Ping of Death)
 
# iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
 
 
BSD
 
運行:
 
sysctl net.inet.tcp.msl=7500
爲了重啓有效,可以將下面折行加入 /etc/sysctl.conf:
 
net.inet.tcp.msl=7500
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章