半連線過多耗盡資源

2021-09-02 13:52:41 字數 1040 閱讀 2537

半連線太多編輯

這個攻擊的解決方法如下:

1,增加未完成連線佇列(q0)的最大長度。

echo 1280>/proc/sys/net/

ipv4/tcp_max_syn_backlog

2, 啟動syn_cookie。

echo 1>/proc/sys/net/ipv4/tcp_syncookies

這些是被動的方法,治標不治本。而且加大了伺服器的負擔,但是可以避免被拒絕攻擊(只是減緩)

治本的方法是在

防火牆上做手腳。但是現在能在一定程度上防住syn flood攻擊的防火牆都不便宜。並且把這個命令加入"/etc/rc.d/rc.local"檔案中

如果對 /proc/sys/net/ipv4 下的配置檔案進行解釋,可以參閱 linuxaid技術站的文章。檢視本文全文也可以參閱。

關於 syn cookies, 請參閱 <>

也許 使用mod_limitipconn.c來限制

apache的

併發數 也會有一定的幫助。

2. iptables的設定,引用自cu

防止同步包洪水(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

windows連線過多,導致埠耗盡的解決

windows 2008 以後,微軟遵從國際標準,動態埠的數量調整為16384個 從49152起始,到65536結束 如果伺服器對外有大量連線,而tcp預設的time wait delay時間為2分鐘這可能導致埠耗盡。解決方法如下 1 請以管理員身份開啟cmd,執行如下命令 netsh inte c...

MySQL連線過多

現象 error 1040 too many connections 我只能將伺服器重啟,然後更改連線超時 一般mysql可以設定 max connections 500 mysql 預設好像是100 可以參考 高效能mysql 第八章338 342 如果不對連線時間進行控制,有些程式設計師寫 的時...

TCP連線中TIME WAIT連線過多

原文 主題tcp ip socket timewait並不是多餘的 在tcp協議被創造,經歷了大量的實際場景實踐之後 timewait 出現了,因為tcp主 動關閉連線的一方需要timewait狀態,它是我們的朋友。這是 unix網路程式設計 的作者 steven對timewait的態度。tcp要保...