有人在我的应用程序中发现了一个漏洞,允许他们绕过许多安全检查。 我不知道他们是如何做到的,在多次尝试头脑风暴和制作恶意请求后,我未能重现他们的攻击。
但我想到了一个想法,我需要保留所有用户对几个敏感路由的请求的日志,以查看黑客发送的有效负载,或者他们是否通过了这些路由!
我的问题是,我该怎么做? AWS有提供服务吗? (我使用 AWS,但我不限于 AWS 解决方案),这是一个好主意吗?
我使用 Elastic beanstak 来管理我的 EC2 实例,使用负载均衡器,并使用expressJS 来服务我的应用程序。
您可以在负载均衡器上启用访问日志,尽管我不确定这是否会记录您需要的所有信息。您需要针对 S3 中的日志文件运行类似 Amazon Athena 的操作来查询特定用户的访问请求。
您可以将 Web 应用程序防火墙 连接到负载均衡器。除了充当防火墙来阻止不良请求之外,您还可以使用“日志”操作配置防火墙规则,仅记录匹配请求的所有请求数据。这有助于获取您想要监控的特定请求的所有详细信息。
像您这样的 Elastic Beanstalk NodeJS 环境也使用 Nginx 作为 EC2 实例上的 Web 代理。记录您关心的所有请求数据的最佳方法之一是在 Nginx 配置中配置自定义日志记录设置。
我还建议配置 Elastic Beanstalk 以将 Nginx 日志流式传输到 AWS CloudWatch Logs。然后,您将能够执行诸如“搜索给定时间段内的所有日志”之类的操作,并按 IP 地址进行过滤,这是调查单个用户的活动时所需的操作。