拉networking还是电源? (用于连接根服务器)

当一个服务器被植根时( 比如像这样的情况 ),你可能决定要做的第一件事就是遏制 。 一些安全专家build议不要立即input补救措施,并保持服务器联机,直到取证完成。 这些build议通常是针对APT的 。 如果偶尔发生脚本小孩违规,这是不一样的,所以你可能会决定早日修复(修复)。 修复中的一个步骤就是控制服务器。 引用罗伯特·莫尔的答案 – “将受害者与劫持者分开”。

通过拉动网线电源线可以容纳服务器。

哪种方法更好?

考虑到需要:

  1. 保护受害者免受进一步损害
  2. 执行成功的取证
  3. (可能)保护服务器上的重要数据

编辑:5个假设

假设:

  1. 您早期发现:24小时。
  2. 你想早日恢复:1天系统pipe理员3天(取证和恢复)。
  3. 服务器不是能够拍摄服务器内存内容的快照的虚拟机或容器。
  4. 你决定不尝试起诉。
  5. 您怀疑攻击者可能正在使用某种forms的软件(可能是复杂的),并且该软件仍在服务器上运行。

如果你面对的是APT,那么除了监视服务器之外,你最好的select是设置一个蜜jar并彻底调查stream入和stream出的所有stream量。

在时间和努力方面,经历记忆的措施是非常昂贵的,除非你尝试过其他所有的方法,否则通常是不值得的,如果你确定这是值得的,通常最好设置一个蜜jar,让你轻松地转储将存储器和系统状态存储到另一台机器上,这样您就可以在机器启动并运行的同时,以更less的检测威胁进行分析。

我曾经遇到过一种情况:攻击者把内存中的所有东西都保存在内存中,除了日志以外,一旦关机再打开,机器看起来完全像它的图像。 然后他们会重新开始使用它,因为这个漏洞依然存在 – 他们不需要为自己留下任何后门。 记忆评估在这里可能有所帮助,但在这种情况下观察stream量足以快速识别漏洞。

因此:

避免拉动力量和进行离线磁盘评估的唯一原因是,如果您要经历一个对威胁进行彻底内存分析的痛苦,那么这个威胁就位和运行。 如果你已经到了必要的地步,那么没有任何理由要拔插头。

如果你没有进行内存分析,那么拔下电源插头是最好的select – 拉动以太网(或者使用关机命令)只会给攻击者的软件提前通知 – 这偶尔会有影响。

所以:

拉他们两个,除非你正在做一个记忆分析,在这种情况下,不拉。

RAM取证(例如/ dev / shm)可能会有帮助。

但我更喜欢拔掉电源线(但是之前尝试login和rsync / proc)。

去电源线的原因是:

  1. 当你在一个黑客系统中进行取证时,你正在“遍布犯罪现场”
  2. Rootkit保持运行 – 对于恶意在Network Link Down事件中执行某些操作(例如系统清除)并不那么困难。

凯尔兰金给了一个很好的取证介绍 – 在那里,他build议拉动电力电缆。

断开networking。 如果没有networking连接,攻击者无法获取任何附加信息。 这是非常困难的(阅读:不可能)没有权力做任何取证。

在这个时代,它可以是虚拟机,所以任何一种方法都很容易,甚至可以远程完成。 (当然,虚拟机也可以使用快照)

我build议从networking上断开连接作为自动的第一步,因为这会让您有时间思考下一步应该做什么,下一步是拔出电源线还是其他的东西。 如果您知道您的企业“安全响应程序”不会让您花费时间仔细查看机器,那么保留RAM的内容可能并不重要。

我build议,以任何方式“将受害者与受害者分开”比如何更重要,所以这两种方法都是有效的。 我自己拉动电源线没有任何问题,让我们这样说吧。

这不是一个任何一种情况。 您通常希望同时执行这两个操作,您希望在已从networking中删除的系统上执行某些取证(正在运行的进程的转储,侦听套接字,/ tmp中的文件等),然后从安全柜中执行其余的诊断环境(即现场CD)。 有些情况下,任何一种方法都不是正确的,而且你需要考虑并理解你的组织中可能的东西。

在你做任何事之前,找出你是否需要保存最终的起诉证据。 证据处理是一个非常棘手的问题,而不是为了训练有素。 一旦你回答了,那么训练有素的计算机取证人员就可以从那里拿走它。

无需closures服务器电源。 您可以禁用边界网关/路由器的连接。 一个防火墙规则将足以丢弃任何进一步的发送/接收的数据包。

答案在很大程度上取决于你的意思是“扎根”。 拉networking引导通常是一个好主意,特别是如果你认为这是一个积极的人类攻击者寻找敏感信息。

拉动力很难回答。 如果您觉得恶意代码正在运行,可能会覆盖其轨道,请这样做。 但是,如果您觉得可能存在内存中的闯入证据,请将其保留。

总的来说,这取决于你是否正在处理恶意代码,不满意的员工,或者有特定目标的人。

如果发生意外,请拔掉电源。 您将失去less量的潜在证据,但可能会阻止通过自动代码大量删除其他证据。

– 如果您觉得机器已经被盗用,而且您知道它没有任何敏感数据,那么您对其他地方的networking安全性非常有信心,并了解这样做的后果,或许可以立即获得法医的帮助。看看你是否可以跟踪或理解攻击并从那里出发。 虽然这通常不是一个好主意

我的回答是在编辑之前,有5个假设。
我的假设是,如果你的服务器已经扎根,那么你正在处理一个复杂的,有针对性的攻击者,而且你无法知道攻击来自何时何地。 (因为机器是根植的,显然你不能相信它告诉你的任何东西,但是,你可能有一些现成的信息,例如IDS …)
我还假定你有兴趣与你的攻击者打交道,而不是像一个令人烦恼的苍蝇挥手。 如果假设的攻击者是脚本小子,这将是不同的。 我还认为,由于攻击者的攻击目标和复杂性,他们可能会在您的计算机上运行自定义软件,并可能对您的操作做出响应。


都不是。
看看https://security.stackexchange.com/q/181/33 ,无论如何这是一个坏主意。
这就像给黑骑士带来了几张纸……太less了,太迟了,这不会有太大的帮助。


对于那些觉得这个答案太过于遥远,或者只是不够“安全意识”的人,你需要意识到现在已经太晚了
这不是你的服务器,即使你完全断开它。 即使你closures了,运行你所有的AV以及其他东西 – 你不再拥有它了。
这有点“根深蒂固”的定义。

现在,假设他们拥有它,并且可以隐藏他们对你的所有权,那么你需要考虑 – 什么会使它失去动力?
唯一能达到的 – 因为它会继续根植,就是让你的对手知道你在跟他们走。 这只是把他们的卫士,让他们开始清理自己(如果他们还没有),这将杀死取证的任何希望。
您仍然不保护该服务器或其任何数据。 它的根源有多久了? 你怎么知道的?

你最好做什么:

  • 保持服务器正常运行
  • 将其与其他内部networking,其他服务器等隔离 – 但最好插入某种模拟,因此它似乎已连接。
  • 悄悄开始实时/networking取证,运行痕迹等。
  • 试着弄清损害的程度和长度(如果发生在2小时前或2个月前,显然是不同的)。
  • 从那里继续…只有在减轻实际的损害之后,继续清理它。
  • 当然,不要忘记调查根本原因,并执行任何控制,以确保它不会再发生…

经过审查你的假设做到两个。 使用基于CD / DVD的媒体转储当前状态。 主要你会希望能够确定你是如何被入侵的。 您可能还想尝试恢复用户数据,而不是在备份映像上。 哟

然后从未受污染的最新备份媒体重build系统。 如果可能,请使用校验和进行validation。 或者,从安装介质重新安装软件,然后重新configuration。 如果您使用Puppet或cfEngine来configuration您的服务器,重新configuration应该是自动的。

重新加载用户数据并扫描根工具包组件。 validation数据目录中没有setuid或setgid程序。

确定并closures用于感染系统的访问方法。 阶段重新激活服务器允许时间validation应用程序正在按预期运行。 仔细监测新的感染企图。

这一切都假定感染是在根本上。 Web感染可以通过改变Web服务器运行的代码来完成。 允许Web服务器对其代码进行写入访问可能使得这更容易完成。 您可能仍然想要处理这种情况,就好像root帐户已经被入侵一样。

如果一个系统上的root用户在一个系统上受到威胁,则可能会有更多的系统受到攻击。 仔细考虑哪些系统可以被感染系统的密码访问。