我在这个问题上的游戏有点晚了,但由于到目前为止我大多不同意这里的其他答案,所以我提出了一个新的答案。
我不同意其他答案的主要内容是:
将用户添加到数据库与创建蜜罐不同。(可能可以对蜜罐进行定义并以可以将其视为蜜罐的方式对其进行解释,但我认为这有点牵强。)假设您添加 10 个用户只是为了让您的 QA 团队用于测试。如果您注意到这些用户中的任何一个在正常测试时间之外登录,或者从非预期的 IP 登录,您将完成同样的事情,并且您肯定不会称这些 QA 用户为蜜罐。
向系统添加其他用户不会使系统更容易受到攻击。如果这是真的,那么每次新用户创建帐户时,系统都会变得更加脆弱。如果是真的,那就太可惜了!
至于将用户添加到系统是否会有所帮助,答案取决于您的应用程序实际执行的操作。如果您的用户数据库遭到入侵,攻击者更愿意拥有哪些信息:数据库中包含的信息(例如用户名/密码/电子邮件地址),还是他们更愿意访问网站?考虑:
- 如果该站点处理银行业务,那么攻击者可能会尝试使用多个帐户登录并转移资金或收集帐户信息。(在这种情况下,“额外”用户可能有登录尝试。)
- 如果该网站只是一个免费论坛,攻击者可能不会关心登录,而是会考虑出售电子邮件地址,或者尝试暴力破解密码哈希以猜测银行或电子商务网站的密码。(这可能是最可能的情况。)
- 如果网站有攻击者想要的有趣的付费内容,他们可能会选择一个用户并使用它登录。(这不太可能是“额外”用户之一。)
因此,在第一种情况下,监控“额外”用户可能会有所帮助,但在大多数情况下可能不会。
话虽如此,如果您仍然想尝试它,也许最有效的方法是:
- 创建两个新的电子邮件帐户,其地址非常难以猜测,密码极其困难,然后将它们设置为转发到您经常检查的主电子邮件帐户。
- 在您的网站上,使用这些电子邮件地址中的每一个创建一个新用户,两个用户名都很难猜到。
- 给其中一个用户一个非常硬的密码,给另一个用户一个简单的密码。
现在您已经完成了两件事:如果这些用户中的任何一个曾经登录过(很可能是使用简单密码的那个),那么您的数据库可能已被盗用。或者,如果您曾经收到发往其中一个帐户电子邮件地址的电子邮件,则您的数据库可能已被盗用,并且这些电子邮件地址可能已售出。
最后的想法:上面我提到了最可能的情况(攻击者试图收集用户/电子邮件/密码以在其他站点上使用),在这种情况下,他们可能永远不会登录或出售/发送垃圾邮件地址,如果是这样,不幸的是它除了监视对数据库服务器的所有访问之外,很难检测到这一点。