我怀疑我的一台或多台服务器受到黑客、病毒或其他机制的破坏:
- 我的第一步是什么?当我到达现场时,我应该断开服务器,保留“证据”,还有其他初步考虑吗?
- 如何让服务重新上线?
- 如何防止同样的事情立即再次发生?
- 是否有从该事件中学习的最佳实践或方法?
- 如果我想制定一个事件响应计划,我应该从哪里开始?这应该是我的灾难恢复或业务连续性计划的一部分吗?
这是该主题的规范帖子。最初来自 serverfault。
我怀疑我的一台或多台服务器受到黑客、病毒或其他机制的破坏:
这是该主题的规范帖子。最初来自 serverfault。
最初来自服务器故障。 感谢 Robert Moir (RobM)
很难从你在这里发布的内容中给出具体的建议,但我确实有一些基于我很久以前写的一篇文章的一般性建议,当时我仍然可以打扰到博客。
首先,除了从入侵之前的备份中恢复系统之外,没有“快速修复”,这至少有两个问题。
黑客入侵他们的网络服务器的受害者不断地问这个问题。答案很少改变,但人们一直在问这个问题。我不确定为什么。也许人们只是不喜欢他们在寻求帮助时看到的答案,或者他们找不到他们信任的人来给他们建议。或者,也许人们阅读了这个问题的答案,过分关注 5% 为什么他们的案例很特殊,并且与他们可以在网上找到的答案不同,而错过了 95% 的问题和答案,因为他们的案例足够接近相同作为他们在网上阅读的。
这让我想到了第一个重要的信息。我真的很感激你是一个特别独特的雪花。我很欣赏您的网站也是如此,因为它反映了您和您的业务,或者至少反映了您代表雇主的辛勤工作。但是对于外面的人来说,无论是寻找问题的计算机安全人员试图帮助你,还是攻击者本人,你的问题很可能与他们遇到的所有其他案例至少 95% 相同曾经看过。
不要把攻击个人化,也不要把这里的建议或你从其他人那里得到的建议个人化。如果您只是在成为网站黑客的受害者后阅读本文,那么我真的很抱歉,我真的希望您能在这里找到一些有用的东西,但现在不是让您的自我妨碍您需要做的事情的时候做。
您刚刚发现您的服务器被黑了。怎么办?
不要恐慌。绝对不要仓促行事,也绝对不要假装事情从未发生过,根本不采取行动。
第一:了解灾难已经发生。现在不是否认的时候;是时候接受已经发生的事情,以现实的态度对待它,并采取措施管理影响的后果。
其中一些步骤会受到伤害,并且(除非您的网站包含我的详细信息的副本)我真的不在乎您是否忽略所有或部分这些步骤,但这样做最终会使事情变得更好。这种药的味道可能很糟糕,但有时如果你真的想让治疗起作用,你就不得不忽略这一点。
阻止问题变得比现在更糟:
不管你的客户对你告诉他们问题有多恼火,如果你不告诉他们,他们会更加恼火,而且他们只有在有人使用他们的信用卡详细信息收取价值 8,000 美元的商品后才会自己发现从你的网站偷来的。
还记得我之前说的话吗?坏事已经发生了。现在唯一的问题是你如何处理它。
充分理解问题:
为什么不直接“修复”您检测到的漏洞利用程序或 rootkit 并将系统重新上线?
在这种情况下,问题在于您不再控制该系统。它不再是你的电脑了。
确定您已控制系统的唯一方法是重建系统。虽然发现和修复用于侵入系统的漏洞利用具有很大的价值,但一旦入侵者获得控制权,您就无法确定对系统还做了什么(事实上,对于招募新人的黑客来说,这并非闻所未闻)系统进入僵尸网络,以修补他们自己使用的漏洞,保护“他们的”新计算机免受其他黑客攻击,以及安装他们的 rootkit)。
制定恢复计划并使您的网站重新上线并坚持下去:
没有人希望离线时间超过他们必须的时间。这是给定的。如果该网站是一个创收机制,那么快速使其重新上线的压力将是巨大的。即使唯一危在旦夕的是您/您公司的声誉,这仍然会产生很大的压力来迅速恢复。
但是,不要屈服于过快重新上线的诱惑。而是尽快行动以了解导致问题的原因并在重新上线之前解决它,否则您几乎肯定会再次成为入侵的受害者,并记住,“被黑客入侵一次可以归类为不幸;之后再次被黑客入侵看起来像是粗心大意”(向奥斯卡王尔德道歉)。
降低未来的风险。
您需要了解的第一件事是,安全是一个过程,您必须在设计、部署和维护面向 Internet 的系统的整个生命周期中应用它,而不是像廉价的那样在代码上贴几层之后画。为了获得适当的安全性,需要从一开始就设计服务和应用程序,并将其作为项目的主要目标之一。我意识到这很无聊,而且你以前都听过,而且我“只是没有意识到让你的 beta web2.0 (beta) 服务在网络上进入 beta 状态的压力”,但事实是这一直被重复,因为它第一次被说是真的,它还没有成为谎言。
你无法消除风险。你甚至不应该尝试这样做。但是,您应该做的是了解哪些安全风险对您很重要,并了解如何管理和降低风险的影响以及风险发生的可能性。
您可以采取哪些步骤来降低攻击成功的可能性?
例如:
您可以采取哪些步骤来减少成功攻击的后果?
如果您认为您家的下层洪水的“风险”很高,但还不足以保证搬家,您至少应该将不可替代的传家宝搬到楼上。对?
...最后
我可能没有遗漏其他人认为重要的内容,但是如果您不幸成为黑客的受害者,上述步骤至少应该可以帮助您开始解决问题。
最重要的是:不要惊慌。三思而后行。一旦你做出决定,就坚定地行动,如果你有什么要添加到我的步骤列表中,请在下面留下评论。
就像我在对 ServerFault 的交叉帖子的回复中所说的那样。这是一个很好的解释。此外,这当然取决于攻击的类型;希望或不幸的是,这种攻击足够嘈杂,以至于您将其识别为正在进行的攻击。或者,在你可以合理确定的是攻击的早期阶段,我会说这个操作顺序是一个很好的蓝图。
但是,您知道的妥协指标可能无法描绘感染的全貌,并且在您了解程度之前断开该 PC 可能不符合您的最佳利益,我认为最好找出在您开始从网络中删除任何受影响的系统/设备之前,您可能无法控制进入点以及您可能无法控制的系统。
事情的真相可能是那些演员在你的系统中的时间比你想象的要长,并且过早地展示你的手(即我终于注意到你坐在我的系统中)可能会使根除变得更加困难。
没有真正简单的答案,但 RobM 提供的答案是一个绰绰有余的起点。在所有压力下,有多个正确答案也可能是错误答案。几乎就像不确定性原理一样,在您尝试之前,您不知道答案是否正确。
此外,还应查看(PDF) NIST 计算机安全事件处理指南。
全部备份 - 这样您就可以在沙盒类型的环境中进行取证。
然后 - 从 0 开始 - 从 NOTHING 开始。
新的操作系统 - 完全修补。应用程序 - 当前最新的数据文件......来自您的备份(如果可能,在您被入侵之前)。如果不是,您需要内容和权限扫描所有内容。
然后对黑客如何进入进行全面审查,并确保它不会再次发生。
当您发现发生了什么时 - 采取措施确保它不会再次发生,并(内部和/或外部)发布您发现的内容(您可以选择省略对策)。
除非你从中吸取教训——否则你将再次遭受同样的命运。