文章詳情頁
java - socket類服務端如何防止被ddos攻擊?
瀏覽:133日期:2023-10-13 14:10:33
問題描述
比如說我用socket,或者swoole的websocket服務器編寫一個游戲服務端,但是客戶端可以通過無限發包的方式來攻擊我的游戲服務端,導致服務端崩潰,請問目前有什么比較好的方案可以防止這類ddos,cc攻擊?(像網上各種cdn都只能防HTTP類型的請求攻擊)
聽別人說有硬件防火墻,但是如果我用阿里云騰訊云之類的服務器搭建服務端的話就沒辦法安硬件防火墻啊,有軟件可以做類似的防御嗎?
(不知道這里的朋友是否玩過英雄聯盟或者穿越火線,這些游戲曾經都有各種炸房外掛,原理其實也是向他們的服務端發送大量垃圾數據包,或者超出正常頻率發送含有奇怪邏輯的數據包,導致同一個房間內的其他訂閱了該游戲服務端某種消息的玩家也會短時間大量收到這些數據包從而讓客戶端崩潰掉線,可見連騰訊游戲之前都對這類攻擊沒什么防范措施)
問題解答
回答1:iptables對ip封鎖,限制每秒接受的請求次數等。。。或加白名單黑名單
回答2:是的。常見的云防火墻和軟件防火墻、流量清洗之類,都是針對的HTTP協議。針對TCP連接或數據過濾的防火墻在WEB開發中很少。但也不是沒有,例如這篇文章里面提到的DDOS就和題主的問題類似,所以題主的問題應該改為“如何防御TCP拒絕服務攻擊”
回答3:建議控制頻率,和寶合法性驗證。發現異常的IP,直接封掉。
標簽:
java
相關文章:
1. python - Scrapy如何得到原始的start_url2. javascript - 從mysql獲取json數據,前端怎么處理轉換解析json類型3. thinkPHP5中獲取數據庫數據后默認選中下拉框的值,傳遞到后臺消失不見。有圖有代碼,希望有人幫忙4. linux運維 - python遠程控制windows如何實現5. android - 安卓做前端,PHP做后臺服務器 有什么需要注意的?6. python - 數據與循環次數對應不上7. django - Python error: [Errno 99] Cannot assign requested address8. python小白 關于類里面的方法獲取變量失敗的問題9. mysql - ubuntu開啟3306端口失敗,有什么辦法可以解決?10. 求救一下,用新版的phpstudy,數據庫過段時間會消失是什么情況?
排行榜
