SYN RECV處理方案

2021-09-27 05:41:15 字數 1363 閱讀 6841

簡介

syn_recv是指,服務端被動開啟後,接收到了客戶端的syn並且傳送了ack時的狀態。再進一步接收到客戶端的ack就進入established狀態。

tcp syn flood是一種常見,而且有效的遠端(遠端)拒絕服務(denial of service)***方式,它透過一定的操作破壞tcp三次握手建立正常連線,占用並耗費系統資源,使得提供tcp服務的主機系統無法正常工作。由於tcp syn flood是透過網路底層對伺服器server進行***的,它可以在任意改變自己的網路ip位址的同時,不被網路上的其他裝置所識別,這樣就給防範網路犯罪部門追查犯罪**造成很大的困難。在國內外的**中,這種***屢見不鮮。在乙個拍賣**上,曾經有犯罪分子利用這種手段,在低價位時阻止其他使用者繼續對商品拍賣,干擾拍賣過程的正常運作。

簡單判斷是否syn_recv
一般情況下,可以一些簡單步驟進行檢查,來判斷系統是否正在遭受tcp syn flood***。

1、 服務端無法提供正常的tcp服務。連線請求被拒絕或超時。

2、透過 netstat -an 命令檢查系統,發現有大量的syn_recv連線狀態。

檢查伺服器鏈結,syn_recv狀態最高時有200多個,訪問伺服器網頁特別慢,甚至超時,所以基本判定是syn_recv***。

緩解處理方案(只是延緩了 治標不治本)
增加佇列長度

啟動syn_cookies

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_synack_retries = 2

net.ipv4.tcp_max_syn_backlog = 65536

iptables花式拒絕
-a input -p tcp -m state --state new -m tcp --dport 443 -j accept

-a input -p icmp -m limit --limit 1/sec --limit-burst 10 -j accept

-a input -f -m limit --limit 100/sec --limit-burst 100 -j accept

-a input -p tcp -m tcp --tcp-flags fin,syn,rst,ack syn -j syn-flood

-a input -j reject --reject-with icmp-host-prohibited

-a syn-flood -p tcp -m limit --limit 3/sec --limit-burst 6 -j return

-a syn-flood -j reject --reject-with icmp-port-unreachable

高併發處理方案

時常看到高併發的問題,但高併發其實是最不需要考慮的東西。為何,他虛無縹緲,很少有 真的需要這些東西,而且其中很多技術,其實你已經在用了。有這個意識就夠了,不需要時刻盯著這個問題。只有很少的 真的能達到高併發。簡單做乙個歸納,從低成本 高效能和高擴張性的角度來說有如下處理方案 1 html靜態化 2 ...

Genymotion 問題處理方案

這個被喻為神器的東西,我真心不知道神在 現在總結一下遇到的各種問題 這裡奉上乙個安裝教程 coder pig的安裝genymotion教程 問題一 登入不上 導致這個問題的原因可能有 1.賬號密碼錯誤 建議重新註冊個賬號,親測官網reset密碼是坑爹的 2.版本問題 可以換乙個版本試試 問題二 無法...

Java 亂碼處理方案

1 啟動系統,檢視controller拿到的值是否是正常 如果日誌輸出為亂碼,可能日誌本身編碼就有問題,可以直接將controller拿到的值直接返回,在瀏覽器中檢視 2 在 中獲取傳遞過來的引數的地方輸出日誌,以及在插入資料庫前輸出日誌,檢視是否都正常 為了排除日誌本身編碼問題,可以寫個郵件api...