文章詳情頁
java - socket類服務端如何防止被ddos攻擊?
瀏覽:136日期: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. mysql在限制條件下篩選某列數據相同的值2. php - 生產環境下,給MySQL添加索引,修改表結構操作,如何才能讓線上業務不受影響?3. mysql - Sql union 操作4. mysql - 僅僅只是把單引號與反斜杠轉義不用prepare statement能否避免sql注入?5. java - Mybatis 數據庫多表關聯分頁的問題6. mysql主主同步,從庫不同步應該怎么解決?7. mysql - 拖拽重排序后怎么插入數據庫?8. 新入手layuiadmin,部署到tp中。想用php自已寫一個后臺管理系統。9. android - 安卓做前端,PHP做后臺服務器 有什么需要注意的?10. mysql 獲取時間函數unix_timestamp 問題?
排行榜
