TCP伺服器「拒絕服務攻擊」 解決方案

2021-09-05 14:36:55 字數 689 閱讀 2305

說這是乙個完全的解決方案,其實有點誇大了,但這個方案確實可以緩解tcp伺服器遭受「拒絕服務攻擊」時表現出的脆弱性。

當伺服器以tcp的方式提供服務時,客戶端通過tcp連線上伺服器。這時,惡意的程式,也可以通過tcp連線我們的伺服器,如果惡意的程式採用迴圈與我們的伺服器建立成千上萬的連線,並在每個連線上都傳送惡意的資料報給伺服器,慢慢就會導致伺服器資源耗盡而崩潰!

為了增強tcp伺服器在遭受「拒絕服務攻擊」時的穩定性,我採用的方案是這樣的:

(1)通訊協議的訊息頭增加token欄位,並且它是訊息頭的第乙個字段。當伺服器接收到一段資料,如果這段資料不是以token打頭,則關閉對應的tcp連線。這樣,只要惡意程式連上伺服器一傳送資料,伺服器就可以識別它。

如果惡意程式只是與伺服器建立成千上萬個連線,而不傳送任何資料,以此來耗盡伺服器的可用tcp連線數了?這就需要第二步。

(2)伺服器可以設定,在客戶端連上伺服器後指定的時間內(比如50ms)不傳送任何資料,則標誌該連線為非法連線,馬上關閉它。

(3)使用建立連線的「帶外資料」儲存標誌,如果乙個客戶連線上來時,沒有任何帶外資料,或帶外資料不正確,則關閉該連線。

(4)如果,如果,黑客破解了客戶端和伺服器的通訊協議,並寫了乙個惡意客戶端,那你的伺服器就分辨不了哪個連線合法、哪個不合法了,這種情況下的唯一出路是,修改你的協議,並採用各種方式(如加密)使之更難破解!

有更好方法的兄台請跟貼,謝謝!

TCP伺服器「拒絕服務攻擊」 解決方案

說這是乙個完全的解決方案,其實有點誇大了,但這個方案確實可以緩解tcp伺服器遭受 拒絕服務攻擊 時表現出的脆弱性。當伺服器以tcp的方式提供服務時,客戶端通過tcp連線上伺服器。這時,惡意的程式,也可以通過tcp連線我們的伺服器,如果惡意的程式採用迴圈與我們的伺服器建立成千上萬的連線,並在每個連線上...

拒絕服務攻擊

dos denial of service 指拒絕服務,是一種常用來使伺服器或網路癱瘓的網路攻擊手段。在平時更多提到的是分布式拒絕服務 ddos,distributed denial of service 攻擊,該攻擊是指利用足夠數量的傀儡計算機產生數量巨大的攻擊資料報,對網路上的一台或多台目標實施...

拒絕服務攻擊 DOS)

拒絕服務攻擊 dos dos是denial of service的簡稱,即拒絕服務,造成dos的攻擊行為被稱為dos攻擊,其目的是使計算機或網路無法提供正常的服務。最常見的dos攻擊有計算機網路頻寬攻擊和連通性攻擊。頻寬攻擊指以極大的通訊量衝擊網路,使得所有可用網路資源都被消耗殆盡,最後導致合法的使...