检测可疑用户活动rest api

检测可疑用户活动rest api,rest,security,jax-rs,jwt,Rest,Security,Jax Rs,Jwt,我现在正在为一个项目实现RESTAPI。这将是一种社交网络。 为了保护它,只有经过身份验证的用户才能发出请求。 所以基本上是一个用户发送用户密码。如果有正确的标记,我将使用jwt生成一个标记,用户可以向我的api发出请求。 对于订阅,我使用recaptcha验证用户不是想要创建数千个帐户的机器人 为了避免暴力,我想使用fail2ban和haproxy来限制速率 不过,我还有一个问题。如果经过身份验证的恶意用户每秒钟或5秒钟发送一次相同的请求,例如随机好友请求。我怎样才能检测到这个 有没有什么好的

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

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

不过,我还有一个问题。如果经过身份验证的恶意用户每秒钟或5秒钟发送一次相同的请求,例如随机好友请求。我怎样才能检测到这个

有没有什么好的做法,比如将用户的日常活动存储在数据库或缓存中,这样我就可以运行一个流程来分析并阻止他


我的代码是用java编写的,我正在使用jaxrs。

正如您所提到的,您需要实现诊断日志记录。通常情况下,这就是如何确定在较长时间内执行的此类可疑活动。对于传入的每个API请求,您都希望根据您的应用程序存储信息,如谁触发了事务、调用了什么API、开始时间、结束时间以及更多相关数据。您还需要一个运行的报告和分析系统,在该系统中,您可以配置所需的规则,触发对您/支持的警报,或根据需要自动禁止用户。 如果存储是约束的,则可以存储聚合数据,如谁调用了API、调用了什么API以及计数。将表划分为每日分区,以便分析当天的数据并对其应用规则