2017-08-24 64 views
0

我正在實施項目的其餘api。這將是一種社交網絡。 爲了保護它,只有經過身份驗證的用戶才能發出請求。 所以基本上用戶發送用戶密碼。如果有正確的話,我用jwt生成一個標記,用戶可以向我的api發出請求。 對於訂閱,我正在使用recaptcha來驗證用戶不是想要創建數千個帳戶的機器人。檢測可疑的用戶活動rest api

爲了避免暴力,我想使用fail2ban和haproxy的速度限制。

但是我有另一個問題。例如,如果經過身份驗證的惡意用戶例如每秒鐘或5秒發送相同的請求,例如隨機好友請求。我如何檢測這個?

是否有任何良好的做法,如將用戶的日常活動存儲在數據庫或緩存中,以便我可以運行一個分析此過程並阻止他的過程?

我的代碼是在java中,我正在使用jaxrs。

回答

1

正如您所提到的,您將需要實施診斷日誌記錄。通常情況下,您可以如何確定在較長時間內執行此類可疑活動。對於每個進入的API請求,您都希望按照您的應用程序存儲「誰觸發了事務」,「調用了什麼API」,「開始時間」,「結束時間」以及更多相關數據等信息。您還需要運行報告和分析系統,您可以在其中配置所需的規則,以便向您/支持人員發送警報或根據需要自動禁止用戶。 如果存儲是約束條件,那麼您可以存儲聚合數據,比如誰調用了API,調用了什麼API以及計數。將表格分區爲日常分區,以便您可以分析當天的數據並應用規則。