检测可疑用户活动其余时间

时间:2017-08-24 16:11:45

标签: rest security jax-rs jwt

我正在为一个项目实施一个rest api。它将是一种社交网络。 为了保护它,只有经过身份验证的用户才能发出请求。 所以基本上用户发送用户密码。如果有正确的我用jwt生成一个令牌,用户可以向我的api发出请求。 对于订阅,我使用recaptcha来验证用户不是想要创建数千个帐户的机器人。

为了避免暴力,我想使用fail2ban和haproxy进行速率限制。

但是我有另一个问题。如果经过身份验证的恶意用户例如每秒或5秒发送相同的请求,例如随机朋友请求。我怎么能发现这个?

是否有任何良好的做法,例如将用户的日常活动存储在db或缓存中,以便我可以运行一个分析这个并阻止他的进程?

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

1 个答案:

答案 0 :(得分:1)

正如您所提到的,您需要实施诊断日志记录。通常,您可以通过这种方式确定在较长时间内执行的此类可疑活动。对于每个进入的API请求,您都希望存储信息,例如"谁触发了交易","什么API被称为","开始时间",& #34;结束时间"根据您的应用程序提供更多相关数据。您还需要运行报告和分析系统,您可以在其中配置所需的规则,以触发警报给您/支持或根据需要自动禁止用户。 如果存储是约束,则可以存储聚合数据,例如调用API的人员,调用的API和计数。将您的表分区为每日分区,以便您可以分析当天的数据并对其应用规则。