Skip to main content
指南
指南SecurityModeration

反破坏(Anti Nuke):当管理员账户被盗时会发生什么

突袭来自外部,破坏来自内部。这层防护如何运作,为什么它对威胁打分而不是使用固定规则,以及它做不到什么。

发布于 作者 AlphaCloud4 分钟阅读

摧毁一个 Discord 服务器有两种方式,它们需要完全不同的防御。

在突袭中,许多外部账户同时涌入并刷屏。对付这种情况,验证、账号年龄检查和蜜罐都有帮助,也就是所有设在入口处的东西。

破坏(nuke)则恰恰相反:某个已经拥有权限的人删除频道、删除身份组、封禁成员。这可能是一个被盗的管理员账户、一个权限过多的机器人,或者一个不欢而散的团队成员。入口在这里帮不上忙,攻击来自内部。

为什么固定规则不够

显而易见的做法是设一个硬性上限:任何在一分钟内删除超过五个频道的人都会被移除。

问题在于,同样的操作在不同的情境下意味着完全不同的事情。服务器所有者在大扫除时删除十个旧频道,做的是无害的事。一个昨天才创建、今天被授予管理员权限、现在正在删除频道的账户,做的则完全是另一回事,尽管操作看起来一模一样。

因此,反破坏使用加权的威胁评分,而不是固定的阈值。评估会考虑以下因素,其中包括:

  • 所授予的身份组有多危险
  • 账户有多老
  • 如果开启了全网上报,同一账户是否已经在其他 AlphaCloud 服务器上引起过注意

由此得出一个评估,然后才会做出响应。

人和机器人分开处理

针对用户和机器人的响应可以完全分开配置,这可不是一个细节。

删除频道的机器人从来不是意外。要么它本来就是为此而造的,要么它被入侵了。两种情况下,立即采取强硬响应都是正确的。

而人则可能会犯错。这就是为什么对用户从较温和的一步开始是合理的:隔离而不是封禁。隔离会拿走权限,但不会把人移除,这为一次谈话留下了余地。可选的有隔离、踢出和封禁。

此外,还有一个机器人白名单,用于你刻意信任的机器人,以及一个立即移除任何新添加机器人的选项。后者听起来很激进,但这正是许多破坏行动所利用的漏洞:某个拥有“添加机器人”权限的人邀请了一个事先准备好的机器人。

自动还原和紧急锁定

有两个功能会在事情已经发生后接手。

自动还原会自动恢复被删除的频道和身份组。这很有价值,但有一个必须坦白的限制:恢复的是结构,而不是内容。频道会回来,里面的消息不会。Discord 不会把已删除的消息交还给任何人。

紧急锁定会冻结整个服务器,而不是去追逐单个操作。当不清楚涉及多少个账户时,这很有用:先止损,再从容清理。

全网上报

你的服务器可以选择与其他 AlphaCloud 服务器共享威胁报告。思路是:在一个服务器上尝试过破坏的人,往往会去尝试下一个。

这被刻意设计为一个由你做出的决定,而不是默认设置。开启它,就是为共享检测做出贡献,同时也从中受益。

反破坏做不到的事

有三件事值得直说:

已删除的消息就是没了。 见上文。如果你想保存内容,你需要服务器备份,而它保存的同样是结构,而不是消息。

机器人需要权限才能行动。 没有“管理身份组”权限,它就无法隔离任何人。这在实践中确实发生过,解决方法是每小时给所有者和每位管理员发送一条说明原因的私信,而不是刷爆错误日志。但真正的修复是授予这个权限。

没有任何技术手段能防范服务器所有者。 Discord 给予所有者所有权限,任何机器人都无法改变这一点。

合理的设置顺序

反破坏是第二道防线,而不是第一道。行之有效的顺序是:

  1. 清理权限。谁真的需要“管理频道”?通常比你以为的人要少。
  2. 开启反破坏,对用户先用隔离,对机器人更强硬一些。
  3. 设置一个日志频道,并且在最初几周里真的去看它。
  4. 然后再调整阈值。

每项设置的详情见反破坏文档。

更多文章