【问题标题】:How to prevent bots from spamming an API trying to hit vulnerable endpoints如何防止机器人向 API 发送垃圾邮件试图攻击易受攻击的端点
【发布时间】:2021-10-14 03:42:04
【问题描述】:

我的后端有一个 Node 和 Express api,目前它在 Heroku 上运行,在我的日志中,我看到机器人试图以恶意向 api 发送垃圾邮件,试图攻击 GET /.envGET /.aws-secret 等端点。由于这些端点不存在,我的 api 只会返回 404,但我想阻止这些机器人发出所有这些请求。我已经有一个速率限制器,但看到机器人仍然基本上每天都会发出请求以尝试到达端点,这很烦人。

我在这里看到了一些关于如何使用 Express 阻止 ip 地址的答案,但我的想法是列出列入黑名单的端点(例如 GET /.env)并禁止任何向这些端点发出请求的 ip ,除了我不知道这个解决方案是否理想之外,摆脱这些试图攻击易受攻击端点的机器人的最佳方法是什么?

【问题讨论】:

    标签: javascript node.js api express security


    【解决方案1】:

    解决这个问题的方法可能比疾病更糟糕。

    速率限制很有可能会阻止有效用户,因为脚本在实现其目标方面往往比人类更持久。

    阻止 IP 地址?您可能想尝试一下。请注意,一个 IP 并不意味着一个人、一个机器或一个脚本。 IP 通常在通过同一路由器的许多用户之间共享。这样做会禁止合法用户。

    最好的想法是某种验证码机制 - 通过解决一个对人类来说很容易但对机器来说很难的谜题来证明你是一个人。

    【讨论】:

      【解决方案2】:

      您可以将机密文件和目录列入黑名单,并且每次有人试图访问它们时,不要返回任何响应。

      【讨论】:

        猜你喜欢
        • 2017-04-10
        • 2022-11-21
        • 2014-06-27
        • 2015-03-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-17
        • 1970-01-01
        相关资源
        最近更新 更多