2012-07-30 178 views
8

運行netstat即使重新啓動服務器後也顯示數百條此行 - 它會再次開始發送,從而導致與該IP的許多連接。如何停止SYN_SENT?

tcp  0  1 server1700.skdedicate:36283 154.45.206.59:https SYN_SENT 
tcp  0  1 server1700.skdedicate:36283 154.45.206.59:https SYN_SENT 
tcp  0  1 server1700.skdedicate:36283 154.45.206.59:https SYN_SENT 
tcp  0  1 server1700.skdedicate:36283 154.45.206.59:https SYN_SENT 
tcp  0  1 server1700.skdedicate:36283 154.45.206.59:https SYN_SENT 

我停止了所有的腳本,但仍然繼續嘗試。

我知道這意味着IP沒有迴應SYN_SENT但我該如何阻止這些SYN_SENT?或者什麼是最好的解決方案?

謝謝。

+1

運行netstat的'向-pnt'獲取進程的名稱擁有插座。 – 2012-07-30 21:34:05

+0

@AlanCurry:tcp 0 1 213.163.64.207:39316 154.45.206.59:443 SYN_ SENT 12388/httpd。它由httpd打開,但我看到端口443那裏,是不是很奇怪? – EGN 2012-07-30 22:17:04

+0

然後,您最好查看您的Web服務器,看看可能導致它發出HTTPS連接的原因。順便說一下,當我嘗試對該IP地址的https請求時,我得到一個重定向到rapidshare.com,以便可能暗示要尋找什麼 – 2012-07-30 22:32:26

回答

31

這個問題似乎越來越多的意見,但沒有答案,所以我決定回答自己的問題尋找解決方案的任何人。

首先,知道原因是解決方案的一半。我在所謂的SYN氾濫攻擊下使用HTTP協議行爲對自身

它的缺點是,遠程客戶端嘗試通過發送SYN建立與您的服務器的連接,您的服務器回覆SYN_ACK(在您的日誌中你將看到SYN_SENT)並等待,直到收到ACK。如果在xx秒內未收到ACK,您的服務器將再次發送SYN_ACK,......並再次發送....並再次發送。它最終將達到配置的閾值,並停止接受任何更多的SYN請求,從而使服務器無響應。發生在我身上的一個症狀是,我的網站一度沒有錯,但在接下來的xx時間內沒有迴應。

HTTP Protocol SYN

這工作對我來說是啓用SYN餅乾,SSH到服務器,用你喜歡的編輯器打開以下文件的解決方案。我在本例中使用vi

vi /etc/sysctl.conf 

並將這些行添加到文件中,然後重新啓動服務器。希望這會阻止攻擊,因爲它爲我做的

net.ipv4.tcp_syncookies = 1 
net.ipv4.tcp_max_syn_backlog = 2048 
net.ipv4.tcp_synack_retries = 3 

我使用CentOS的,我認爲,上述方案將在所有發行工作,但如果它沒有搜索「如何停止SYN Flooding攻擊」爲您的Linux發行

在一個側面說明,阻斷IP地址發起的SYN請求可能沒有幫助,因爲很有可能是攻擊者僞造的IP地址

+0

當你意識到你的解決方案被大於17K的用戶查看,但只收到12票:( – EGN 2016-07-26 19:50:08

+4

在這裏,拿我的:) – javabot 2016-09-26 09:34:18