如果你的 Discord 服务器刚被 nuke,先止损(锁定服务器,或移除被入侵账号的身份组),然后通过审核日志查明是谁干的,接着重建:频道和分类可以从模板恢复,封禁名单要逐一清除,消息则要接受已经无法找回这个事实,因为 Discord 没有撤销删除的功能。 这是实际的操作顺序,而不是反 nuke 机器人如何检测攻击的原理;后者见我们的反 nuke 指南。这篇讲的是头一个小时、第一天以及事后该做什么。

A shield absorbs a burst of ban attempts from an attacker while members stay protected. ! Members protected

第一步:确认攻击已经停止

在做其他任何事情之前,先确保攻击者已经无法继续操作。如果有反 nuke 机器人在运行,查看它的日志频道;它应该会显示该账号已被自动禁言、踢出或封禁。如果没有任何反 nuke 保护,或者攻击来自机器人豁免的账号(服务器所有者的账号无法被反 nuke 处理,名单上受信任的账号也会被刻意跳过),那就手动处理:移除该账号的身份组或将其踢出。如果是被入侵的管理成员账号,立即让本人修改 Discord 密码,并检查其已授权的应用。nuke 往往是被钓鱼获取令牌之后的最后一步,而不是随机的攻击。

查明经过:审核日志

服务器设置 → 审核日志会记录每一次频道删除、身份组删除、封禁和踢出,并标明执行者账号和时间戳。这是判断“谁干的”和“损失多大”的唯一依据,所以先读日志再下结论。被入侵的管理员账号造成的 nuke,在当下看起来和权限过大的机器人造成的 nuke 完全一样。如果你在用安全机器人,它自己的日志频道通常会更清楚地总结是什么触发了响应、发生在什么时候,比逐条翻阅 Discord 原生的审核日志要快。

重建:哪些能找回,哪些找不回

  • 频道和分类:除非你有服务器模板,否则已经消失。服务器设置 → 服务器模板可以随时生成频道和身份组结构的快照。如果你在攻击前做过模板,应用它就能在一分钟之内重建骨架。如果从来没做过,就只能凭记忆或截图手动重建频道。
  • 身份组和权限:与频道相同,模板只能恢复结构,无法恢复每个身份组原本分配给了谁。事后手动重新分配身份组是最费时间的部分。
  • 消息:无法找回。Discord 没有服务器端的消息内容撤销功能。如果其中有对记录很重要的内容(支持历史、销售、评价),请确认它是否保存在原始聊天消息之外的地方。Noxyr 会把发票和工单记录保存在它自己的数据库中,正是为了确保 nuke 不会连同频道一起把它们毁掉。
  • 封禁:如果攻击者大量封禁了成员,可以在服务器设置 → 封禁名单中批量解除。虽然繁琐,但完全可以恢复;封禁本身不会销毁任何数据,它只是阻止成员重新加入。
  • 服务器本身:无论 nuke 多严重,它都不会删除服务器,也不会移除所有者。它始终是一项恢复工作,而不是从零重建。

在成员从一个空服务器得知消息之前先告诉他们

一个突然只剩三个频道、没有任何身份组的服务器,对于没有看到事情经过的人来说,会像是被弃置或者已被入侵。请在仍然存在的频道(或你最先重建的那个频道)里发一条消息,用一两句话说明发生了什么,并告知正在恢复。沉默比坦诚的“服务器被 nuke 了,正在修复”更糟糕。

稳定之后:堵住真正的漏洞

nuke 之所以发生,是因为某个账号拥有超出其所需的权限,并且要么被入侵,要么本身就有恶意。只清理眼前的烂摊子而不堵住这个漏洞,你离下一次事件只差一步:

  1. 检查每一个拥有管理员、管理频道、管理身份组或封禁成员权限的身份组。对于不是绝对需要这些权限的人,将其移除。参见我们的最小权限身份组设置指南。
  2. 检查服务器中的每一个机器人是否拥有同样的权限。权限超出其功能所需的机器人,就是第二个攻击面,其爆炸半径与被入侵的管理员相同。
  3. 如果之前没有开启,请开启反 nuke 和反垃圾信息,并设置日志频道,这样下一次事件(希望永远不会发生)从第一秒起就能留下清晰的痕迹。
  4. 趁现在局势平稳时创建一个服务器模板,这样下一次重建只需一分钟,而不是一整天。
  5. 在服务器设置 → 安全设置中,要求所有拥有较高身份组的人开启双重验证(2FA)。

常见问题

Discord 客服能恢复被 nuke 的服务器吗?对于服务器层面的事件,Discord 不会恢复被删除的频道、身份组或消息,恢复工作由服务器所有者负责。只有当所有者本人的账号被入侵并被完全锁定时,才需要联系 Discord 客服;那是账号安全问题,与服务器受损是两回事。

我怎么知道是被入侵的管理员账号,还是恶意机器人干的?审核日志会列出每个操作的执行者账号。如果是机器人账号,请检查它实际需要的权限与它被授予的权限之间的差距;如果是真人账号,无论对方是否有意为之,都需要检查该人的密码和已连接的应用。

我应该封禁执行操作的账号吗?如果它明显是恶意的,并且不是你能沟通的被入侵的朋友或管理成员,那就封禁。如果是属于你认识的人的被入侵账号,在对方加固账号期间踢出或禁言通常就够了;封禁朋友被盗用的账号,可能会使其在问题解决后难以重新加入。

反 nuke 能防止下一次发生吗?它能限制损失。配置正确的反 nuke 能把“整个服务器没了”变成“几个频道和一个被禁言的账号”。但它无法撤销在达到阈值之前已经发生的操作。关于限制和设置,参见反 nuke 指南。

有办法找回被删除的消息吗?通过 Discord 本身没有办法。如果消息内容在事件中需要保留,就必须保存在原始聊天之外的地方,例如置顶的规则文档、导出的记录,或是像工单记录和发票那样由机器人保存自己副本的重要内容。

用安全机器人持续监控审核日志,防止下一次发生;再阅读突袭防护指南,了解服务器防御中针对加入环节的那一半。