题 我如何处理受感染的服务器?


这是一个 典型问题 关于服务器安全 - 响应违规事件(黑客攻击)
  也可以看看:

规范版
我怀疑我的一台或多台服务器受到黑客,病毒或其他机制的攻击:

  • 我的第一步是什么?当我到达现场时,我应该断开服务器,保留“证据”,还有其他初步考虑因素吗?
  • 如何将服务重新上线?
  • 如何防止同样的事情再次发生?
  • 是否有从这一事件中学习的最佳实践或方法?
  • 如果我想将事件响应计划放在一起,我将从哪里开始?这应该是我的灾难恢复或业务连续性计划的一部分吗?

原始版本 

2011.01.02  - 我下午9点30分准备上班。在星期天,因为我们的服务器已经以某种方式受到损害,并导致了一个    DOS 攻击我们的提供商。服务器访问Internet   已被关闭,这意味着现在我们的客户站点超过5-600   下。现在这可能是一个FTP黑客,或代码中的一些弱点   某处。直到我到达那里我才不确定。

如何快速跟踪此情况?我们有很多   诉讼,如果我没有尽快恢复服务器。任何帮助   赞赏。我们正在运行Open SU​​SE 11.0。


2011.01.03  - 感谢大家的帮助。幸运的是,我不是唯一负责此服务器的人,只是最近的。我们处理   解决这个问题,虽然它可能不适用于许多其他人   不同的情况。我会详细说明我们做了什么。

我们从网络上拔下了服务器。它正在表演(试图   执行)对印度尼西亚另一台服务器的拒绝服务攻击,   那个有罪的一方也在那里。

我们首先尝试确定服务器上的来源,   考虑到我们在服务器上有超过500个站点,我们预计会是   兼职一段时间。但是,仍然使用SSH访问,我们运行了一个   命令查找在攻击时编辑或创建的所有文件   开始。幸运的是,这个有问题的文件是在冬天创建的   假期,这意味着没有创建其他文件   当时的服务器。

然后我们能够识别出里面的违规文件   上传图片文件夹 ZENCART 网站。

在短暂的香烟休息后,我们得出结论,由于文件   位置,它必须通过文件上传工具上传   得不到充分保障。经过一些谷歌搜索,我们发现有   一个安全漏洞,允许在文件中上传文件   ZenCart管理面板,用于唱片公司的图片。 (这部分   ,它从来没有真正使用过),发布此表单只是上传任何   文件,它没有检查文件的扩展名,甚至没有   检查用户是否已登录。

这意味着可以上传任何文件,包括用于的PHP文件   攻击。我们使用ZenCart确保了受感染的漏洞   网站,并删除了违规文件。

工作完了,我早上2点钟回家。


道德    - 始终为ZenCart或任何其他CMS系统应用安全补丁。就像发布安全更新时一样   世界意识到了这个漏洞。    - 始终进行备份,备份备份。    - 雇用或安排在这些时间会在那里的人。防止任何人依赖Server上的panicy帖子   故障。


578
2018-01-02 21:31




我知道你的感受 - 我们非常幸运地在这个网站上有“有用”的黑客,他们告诉我们他们做了什么!我期待这个问题得到很好的答案,以防万一我们将来得到“不太乐于助人”的客人。 - Jarrod Dixon♦
打电话给专业人士帮忙! - marcog
我不想听起来很聪明或没有同情心(我也不是),当然我对你的情况细节一无所知,但如果你是唯一负责500-600网站设置的人,那么可能是这个服务器运行方式的根本缺陷。有些公司聘请了一个专门的系统管理员,他们整天都不做任何其他工作,但维护服务器 - 这是一项任务 不 自动在程序员的范围内,即使它看起来像这样。当危机结束时,也许这是值得考虑的事情。无论如何,现在,好好解决手头的情况。 - Pekka 웃
不一定假设您有一个完整的内核根工具包,并且您的root密码已被泄露。它可能只是一个鬼鬼祟祟的bash / perl脚本,尽管唱诗班在这里竖起来,它仍然可以在没有格式化的情况下进行清理...... serverfault.com/questions/639699/... - Hayden Thring


答案:


很难从你在这里发布的内容中给出具体的建议,但我确实有一些基于我很久以前写过的帖子的一般性建议,当时我还是会被博客打扰。

不要惊慌

首先,除了从入侵之前的备份恢复系统之外,没有“快速修复”,这至少有两个问题。

  1. 很难确定入侵何时发生。
  2. 它不能帮助你关闭允许它们在上次中断的“漏洞”,也不会处理可能发生的任何“数据窃取”的后果。

黑客入侵他们的网络服务器的受害者反复询问这个问题。答案很少改变,但人们一直在问这个问题。我不知道为什么。也许人们只是不喜欢他们在寻求帮助时所看到的答案,或者他们找不到他们信任的人给他们建议。或者也许人们阅读了这个问题的答案,并过分关注他们案例特殊的5%,与他们在网上找到的答案不同,并且错过95%的问题和答案,他们的情况接近相同正如他们在网上看到的那样。

这让我想到了第一个重要的信息。我真的很感激你是一种特殊的独特雪花。我感谢您的网站也是如此,因为它反映了您和您的业务,或者至少是您代表雇主的辛勤工作。但对于外面的人来说,无论是一个看着问题的计算机安全人员试图帮助你甚至是攻击者自己,你的问题很可能与他们所有的其他案例至少95%相同。曾经看过。

不要亲自接受攻击,也不要接受此处的建议,也不要接受其他人的建议。如果你在成为网站黑客的受害者之后阅读本文,那么我真的很抱歉,我真的希望你能在这里找到有用的东西,但现在不是让你的自我妨碍你需要的东西的时候做。

您刚刚发现您的服务器被黑了。怎么办?

不要惊慌。绝对不要匆忙行事,绝对不要试图假装从未发生过的事情而且根本不采取行动。

第一:了解灾难已经发生。现在不是拒绝的时候;现在是时候接受已发生的事情,对其采取现实态度,并采取措施来管理影响的后果。

其中一些步骤会受到伤害,并且(除非您的网站上有我的详细信息的副本)我真的不在乎您是否忽略了所有或部分步骤,这取决于您。但正确地遵循它们会使事情变得更好。这种药可能味道很糟糕,但有时你必须忽视它,如果你真的想要治愈的话。

阻止问题变得比现在更糟糕:

  1. 您应该做的第一件事是将受影响的系统与Internet断开连接。无论您遇到什么其他问题,将系统连接到网络只会让攻击继续进行。我的意思是字面意思;让某人亲自访问服务器并拔下网络电缆(如果需要的话),但在尝试执行任何其他操作之前,请将受害者与其抢劫者断开连接。
  2. 更改与受感染系统位于同一网络中的所有计算机上的所有帐户的所有密码。不完全是。所有帐户。所有电脑。是的,你是对的,这可能是矫枉过正;另一方面,它可能不会。你不知道哪种方式,对吗?
  3. 检查您的其他系统。特别注意其他面向互联网的服务,以及持有财务或其他商业敏感数据的服务。
  4. 如果系统保存任何人的个人数据,请立即通知负责数据保护的人员(如果不是您),并完全披露。我知道这个很难。我知道这个会受伤。我知道很多企业都希望在地毯下解决这类问题,但业务部门必须处理这个问题 - 并且需要着眼于任何和所有相关的隐私法律。

然而,你的顾客可能会告诉他们有关问题的烦恼,如果你不告诉他们,他们会更加生气,而且只有在有人使用信用卡详细信息收取价值8,000美元的商品后,他们才能找到自己。从你的网站偷走。

还记得我之前说过的吗?坏事已经发生了。现在唯一的问题是你如何处理它。

完全理解问题:

  1. 在这个阶段完全完成之前,不要让受影响的系统重新上线,除非你想成为那个帖子是我真正决定写这篇文章的转折点的人。我不打算链接到那篇文章,以便人们可以得到一个便宜的笑声,但真正的悲剧是人们不能从他们的错误中吸取教训。
  2. 检查“受攻击的”系统,了解攻击如何成功破坏您的安全性。尽一切努力找出攻击“来自”的位置,以便您了解您遇到的问题以及将来需要解决的问题。
  3. 再次检查“受攻击的”系统,这次是为了了解攻击的位置,以便了解攻击中受损的系统。确保您跟进任何指示受损系统可能成为进一步攻击您的系统的跳板的指示。
  4. 确保完全理解任何和所有攻击中使用的“网关”,以便您可以开始正确关闭它们。 (例如,如果您的系统受到SQL注入攻击的危害,那么您不仅需要关闭它们所遇到的特定有缺陷的代码行,您还需要审核所有代码以查看是否存在相同类型的错误在其他地方制造)。
  5. 了解攻击可能因多个漏洞而成功。通常情况下,攻击不是通过在系统中找到一个主要错误而是通过将几个问题(有时是轻微的和微不足道的)串联在一起来破坏系统。例如,使用SQL注入攻击将命令发送到数据库服务器,发现您正在攻击的网站/应用程序正在管理用户的上下文中运行,并使用该帐户的权限作为破坏其他部分的垫脚石。一个系统。或者正如黑客喜欢称之为:“办公室里的另一天利用人们常犯的错误”。

为什么不“修复”您检测到的漏洞或rootkit并将系统重新联机?

在这种情况下,问题是您无法再控制该系统。这不再是你的电脑了。

唯一的方法 某些 你已经掌握了系统的控制权就是重建系统。虽然在查找和修复用于入侵系统的漏洞利用方面有很多价值,但是一旦入侵者获得控制权,您就无法确定系统还做了什么(事实上,对于招募黑客的人来说,这并非闻所未闻系统进入僵尸网络以修补他们自己使用的漏洞,保护“他们的”新计算机免受其他黑客攻击,以及安装他们的rootkit)。

制定恢复计划并使您的网站重新上线并坚持下去:

没有人想要离线的时间超过他们必须的时间。这是给定的。如果这个网站是一个创收机制,那么将其快速恢复在线的压力将非常大。即使唯一受到关注的是你/你公司的声誉,这仍然会产生很大的压力,使事情迅速恢复。

但是,不要屈服于太快回到网上的诱惑。而是尽可能快地移动以了解导致问题的原因并在你重新上线之前解决它,否则你几乎肯定会再次成为入侵的受害者,并且记住,“被黑客入侵一次可归类为不幸;之后直接再次被黑客攻击看起来像粗心大意“(向奥斯卡王尔德道歉)。

  1. 在你开始本节之前,我假设你已经理解了导致成功入侵的所有问题。我不想夸大这个案子,但如果你先没有这样做,那么你真的需要这样做。抱歉。
  2. 永远不要支付勒索/保护金。这是一个简单标记的标志,你不希望这句话用来形容你。
  3. 如果没有完全重建,不要试图将相同的服务器重新联机。在旧硬件上构建一个新盒子或“从轨道上核对服务器并进行全新安装”的速度应该远远快于审核旧系统的每个角落以确保它在放回之前是否干净在线再次。如果您不同意这一点,那么您可能不知道确保系统完全清理它的真正含义,或者您的网站部署程序是不合理的混乱。您可能拥有网站的备份和测试部署,您可以使用它来构建实时网站,如果不这样做,那么被黑客入侵并不是您最大的问题。
  4. 在重复使用黑客时重新使用系统上“实时”的数据时要非常小心。我不会说“永远不会这样做”,因为你会忽略我,但坦率地说,我认为你确实需要考虑当你知道你无法保证其完整性时保持数据的后果。理想情况下,您应该从入侵之前的备份中恢复此操作。如果您不能或不会这样做,那么您应该非常小心这些数据,因为它已经被污染了。如果此数据属于客户或网站访问者而非直接属于您,则应特别注意对他人的后果。
  5. 仔细监控系统。您应该决定将来这样做是一个持续的过程(更多信息如下),但在您的网站重新上线后,您需要特别注意保持警惕。入侵者几乎肯定会回来,如果你能发现他们试图再次入侵你肯定能够很快看到你是否真的关闭了他们之前使用的所有洞以及他们为自己制造的任何洞,你可能会收集到有用的您可以传递给当地执法部门的信息。

降低未来的风险。

您需要了解的第一件事是安全性是一个必须在设计,部署和维护面向Internet的系统的整个生命周期中应用的过程,而不是像以后那样可以在代码上打几层涂料。为了确保安全,需要从一开始就设计服务和应用程序,并将其作为项目的主要目标之一。我意识到这很无聊,你以前听过这一切,并且我“只是没有意识到让你的测试版web2.0(beta)服务在网络上处于测试状态的压力人”,但事实是重复,因为这是第一次说它是真的,它还没有成为谎言。

你无法消除风险。你甚至不应该尝试这样做。但是,您应该了解哪些安全风险对您很重要,并了解如何管理和降低风险的影响以及风险发生的可能性。

您可以采取哪些措施来降低攻击成功的可能性?

例如:

  1. 允许人们在您的网站中闯入供应商代码中的已知错误的缺陷是什么?如果是这样,您是否需要重新考虑如何在面向Internet的服务器上修补应用程序?
  2. 是否有允许人们在您的网站中闯入供应商代码中的未知错误的缺陷,哪些补丁不可用?我肯定不提倡更换供应商,只要这样的东西会因为他们都有问题而咬你,如果你采取这种方法,你最多会在一年内耗尽平台。但是,如果系统经常让你失望,那么你应该迁移到更强大的东西,或者至少重新构建你的系统,以便脆弱的组件保持包裹在棉花中,尽可能远离敌对的眼睛。
  3. 该缺陷是您(或为您工作的承包商)开发的代码中的错误吗?如果是这样,您是否需要重新考虑如何批准部署到实际站点的代码?错误是否已被改进的测试系统或编码“标准”的更改所捕获(例如,虽然技术不是灵丹妙药,但您可以通过使用记录良好的编码技术来降低SQL注入攻击成功的可能性)。
  4. 由于服务器或应用程序软件的部署方式存在问题,该漏洞是否存在?如果是这样,您是否正在使用自动化过程来尽可能地构建和部署服务器?这些对于在所有服务器上维持一致的“基线”状态有很大帮助,最大限度地减少了必须在每个服务器上完成的自定义工作量,从而有希望最大限度地减少出错的机会。代码部署也是如此 - 如果您需要执行“特殊”操作来部署最新版本的Web应用程序,那么请尽量自动化并确保始终以一致的方式完成。
  5. 是否可以更早地通过更好地监控系统来捕获入侵?当然,为您的员工提供24小时监控或“随叫随到”系统可能不符合成本效益,但有些公司可以为您监控面向Web的服务,并在出现问题时提醒您。你可能会认为你买不起或者不需要它,这很好......只需要考虑它。
  6. 在适当的地方使用tripwire和nessus等工具 - 但不要盲目地使用它们,因为我这么说。花点时间学习如何使用适合您环境的一些优秀安全工具,更新这些工具并定期使用它们。
  7. 考虑聘请安全专家定期“审核”您的网站安全性。再一次,你可能会认为你负担不起或者不需要它,这很好......只需要考虑它。

您可以采取哪些措施来减少成功攻击的后果?

如果您认为家庭洪水的较低楼层的“风险”很高,但不足以保证移动,那么您至少应该将不可替代的家庭传家宝搬到楼上。对?

  1. 你能减少直接暴露在互联网上的服务吗?您能否在内部服务与面向互联网的服务之间保持某种差距?这可以确保即使您的外部系统受到损害,使用它作为跳板来攻击内部系统的可能性也是有限的。
  2. 您是否存储了您不需要存储的信息?您是否可以在其他地方存档这些信息“在线”存储。这部分有两点;显而易见的是,人们不能从你那里窃取你没有的信息,第二点是存储的越少,你需要维护和编码的次数就越少,因此错误进入的可能性就越小您的代码或系统设计。
  3. 您是否在为自己的网络应用使用“最少访问”原则?如果用户只需要从数据库中读取数据,那么请确保Web应用程序使用的帐户只能具有读访问权限,不允许它具有写访问权限,当然也不允许进行系统级访问。
  4. 如果您对某些事情缺乏经验并且不是您的业务的核心,请考虑将其外包。换句话说,如果你运行一个小网站,谈论编写桌面应用程序代码并决定开始从网站销售小型桌面应用程序,那么考虑将你的信用卡订单系统“外包”给像Paypal这样的人。
  5. 如果可能的话,让您从灾难恢复系统中恢复恢复计划的一部分。这可能只是你可能遇到的另一个“灾难情景”,只是一个有自己的一系列问题和一些与通常的“服务器房间着火”不同的问题被巨型服务器入侵吃了一些东西。

......最后

我可能已经遗漏了其他人认为重要的东西,但上面的步骤至少应该帮助你开始整理出来,如果你不幸的是成为黑客的受害者。

最重要的是:不要惊慌。三思而后行。一旦做出决定就行动吧,如果你有什么要添加到我的步骤列表中,请在下面留言。


988
2018-01-02 21:46



+1是一个优秀的帖子,可以让人们开始朝着一个方向前进。我知道业余服务器管理员在他们第一次发生'黑客攻击'时会进入这种恐慌模式是多么常见。它是 巨大 错误在那个地方,但它发生了。希望是这不会发生在同一个人身上,两次。 - Andrew Barber
+1“......但现在不是让你的自我妨碍你需要做的事情的时候。”这对于Sys管理员有时需要了解很重要。无论你是多么知识渊博,总有那些(有时是恶意的)比你更有知识或更聪明的人。 - Grahamux
很好的答案。我不确定为什么每个人都将“呼叫执法”步骤视为可选的。如果您对其他人的数据负责(并担心诉讼),这应该是您要做的事情列表中的第一件事。 - wds
非常好的写作,只有一个问题 - “立即向任何可能受影响的人进行全面而坦率的披露。”尊敬的,但并不总是正确的。在回应妥协时,您可能需要削减一些治理角落,而您的公司通常会减少您的疏忽,但是......披露与否,特别是当存在数据保护影响时可能高于您的薪资等级并且可能会产生法律影响。建议您立即通知负责数据保护的人(如果不是您)并且完全披露,可能会更好。 - TheoJones
@GilesRoberts虚拟机主机通常有一个控制面板,可让您操作其guest虚拟机的设置,甚至可以远程控制它们,而无需使用RDP或SSH实际登录guest虚拟机。您应该能够使用主机的控件隔离访客,然后使用其远程查看工具来随时调查访客。 - Rob Moir


听起来有点像在你头上;没关系。打电话给你的老板,开始谈判紧急安全响应预算。 10,000美元可能是一个很好的起点。然后你需要找一个人(一个PFY,一个同事,一个经理)来开始致电专门从事安全事件响应的公司。许多人可以在24小时内回复,有时甚至更快,如果他们在您的城市有办公室。

你还需要有人对客户进行分类;毫无疑问,有人已经是。有人需要与他们通电话来解释发生了什么,正在采取什么措施来处理这种情况,并回答他们的问题。

然后,你需要......

  1. 保持冷静。如果您负责事件响应,那么您现在所做的就是展现出最高的专业性和领导力。记录您所做的一切,并让您的经理和执行团队了解您采取的主要行动;这包括与响应团队合作,禁用服务器,备份数据以及再次联机。他们不需要血淋淋的细节,但他们应该每30分钟左右听一次​​。

  2. 现实点。您不是安全专业人员,有些事情您不知道。没关系。登录服务器并查看数据时,您需要了解自己的限制。轻轻地踩。在调查过程中,请确保您不要踩踏重要信息或更改以后可能需要的内容。如果您感到不舒服或者您在猜测,那么这是一个停下来并让经验丰富的专业人士接管的好地方。

  3. 获得干净的USB记忆棒和备用硬盘。你会在这里收集证据。备份您认为可能相关的所有内容;与您的ISP,网络转储等进行通信即使执法没有涉及,如果诉讼您将需要此证据证明您的公司以专业和适当的方式处理安全事件。

  4. 最重要的是止损。识别并切断对受损服务,数据和计算机的访问。最好是拉网线;如果你不能,那就拉动力。

  5. 接下来,您需要删除攻击者并关闭这些洞。据推测,由于您拉动了网络,攻击者不再具有交互式访问权限。您现在需要识别,记录(使用备份,屏幕截图和您自己的个人观察记录;或者最好甚至从受影响的服务器中删除驱动器并制作完整的磁盘映像副本),然后删除他留下的任何代码和进程。如果你没有备份,下一部分将会很糟糕;您可以尝试手动解开系统中的攻击者,但是您永远不会确定他得到了他留下的所有东西。 Rootkit是恶毒的,并非所有都是可检测的。最佳响应是识别他曾经进入的漏洞,制作受影响磁盘的映像副本,然后擦除受影响的系统并从已知良好的备份重新加载。不要盲目信任你的备份;验证它!在新主机再次登录网络之前修复或关闭漏洞,然后将其联机。

  6. 将所有数据整理到报告中。此时漏洞已关闭,您有时间呼吸。不要试图跳过这一步;它比其他过程更重要。在报告中,您需要确定出现了什么问题,您的团队如何做出响应,以及您为防止此事件再次发生而采取的措施。尽可能详细;这不仅适合您,也适合您的管理层以及潜在诉讼中的辩护理由。

这是对如何做的天空审查;大多数工作只是文档和备份处理。不要惊慌,你可以做那些事情。一世 非常 建议您获得专业的安全帮助。即使你能处理正在发生的事情,他们的帮助也是非常宝贵的,而且他们通常会附带设备来使这个过程更容易,更快捷。如果你的老板付出了代价,那就提醒他,与处理诉讼相比,这个数字非常小。

你对我的情况有所安慰。祝好运。


199
2018-01-02 22:16



+1很棒的答案。听起来OP没有预先定义的“紧急响应”,你的帖子,以及其他好的东西,应该指向他们设置。 - Rob Moir


CERT有一份文件 从UNIX或NT系统妥协中恢复的步骤 那很好。本文档的具体技术细节有些过时,但许多一般建议仍然直接适用。

这是基本步骤的快速摘要。

  • 咨询您的安全政策或管理。
  • 获得控制权(让计算机脱机)
  • 分析入侵,获取日志,找出问题所在
  • 修理东西
    • 安装一个干净的操作系统版本!如果系统遭到入侵,你就不能相信它,期间。
  • 更新系统,这样就不会再发生了
  • 恢复操作
  • 更新您的未来政策和文档

我想特别指出E.1节。

E.1。   请记住,如果一台机器   妥协,该系统上的任何东西   可以修改,包括   内核,二进制文件,数据文件,   运行进程和内存。在   一般来说,唯一的方式来信任一个   机器没有后门和   入侵者修改是重新安装   经营

如果您没有像tripwire那样的系统,那么您无法100%确定已清理系统。


105
2018-05-08 09:02



即使这样,tripwire也会被内核模块等愚弄。重新安装。 - reconbot
有关的问题 如何应对危机 在这里也可能有用。 - Zoredache


  1. 鉴定 问题。阅读日志。
  2. 包含。你已经断开了服务器,所以就完成了。
  3. 根除。最有可能重新安装受影响的系统。不要擦除黑客的硬盘,使用新硬盘。它更安全,您可能需要旧版本来恢复未备份的丑陋黑客,并进行取证以查明发生的情况。
  4. 恢复。安装所需的任何内容并恢复备份以使您的客户联机。
  5. 跟进。弄清楚问题是什么,并防止它再次发生。

64
2018-01-02 21:49





罗伯特的“苦药”答案是现实的,但完全是通用的(好吧,就像你的问题一样)。这听起来像你有一个管理问题,如果你有一个服务器和600个客户端,但是现在无法帮助你,需要一个全职的系统管理员。

我经营一家托管公司,在这种情况下提供一些手持设备,因此我处理了许多受到破坏的机器,但也为我们自己处理了最佳实践。除非他们不能完全确定妥协的性质,否则我们总是告诉我们的受损客户重建。从长远来看,没有其他负责任的路线。

但是,你几乎肯定只是一个脚本小伙子的受害者,他想要一个DoS攻击,IRC保镖,或者与你客户的网站和数据完全无关的东西。因此,作为重建时的临时措施,您可能会考虑在您的盒子上调出大量的出站防火墙。如果您可以阻止对您的站点运行不是绝对必要的所有出站UDP和TCP连接,您可以轻松地使您的受感染的盒子对从您借用它的人无用,并将对提供商网络的影响降低到零。

如果您之前没有完成此过程可能需要几个小时,并且从未考虑过防火墙,但可能会帮助您恢复客户服务 冒着继续让攻击者访问您的客户数据的风险。既然你说你在一台机器上有数百个客户,我猜你正在为小型企业托管小型宣传册网站,而不是600个充满信用卡号码的电子商务系统。如果是这种情况,这可能是您可接受的风险,并使您的系统恢复在线速度比审核600个站点的安全漏洞更快 之前 你带回来了。但是你会知道那里有什么数据,以及你做出决定的程度。

这绝对不是最好的做法,但如果到目前为止这不是你的雇主所发生的事情,那么摇摇晃晃地指着他们为一个SWAT团队索要数万英镑他们可能感觉到的是你的错(不过没有道理! )听起来不像是实用的选择。

你的ISP在这方面的帮助将非常重要 - 一些ISP 提供控制台服务器和网络引导环境 (插件,但至少你知道要寻找什么样的设施),它可以让你在断开网络的同时管理服务器。如果这是一个选项,请求并使用它。

但从长远来看,您应该根据Robert的帖子以及对每个站点及其设置的审核来计划系统重建。如果您无法将团队管理员添加到您的团队中,请查找 托管主机 交易你向ISP支付系统管理帮助和24小时响应这类事情。祝好运 :)


49
2018-01-03 13:48





你需要重新安装。保存你真正需要的东西。但请记住,所有可运行的文件都可能被感染和篡改。我在python中写了以下内容: http://frw.se/monty.py 它创建给定目录中所有文件的MD5-sumbs,下次运行时,它会检查是否有任何更改,然后输出更改的文件和文件中的更改内容。

这对您来说非常方便,可以查看是否定期更改奇怪的文件。

但你现在应该做的唯一事情就是从互联网上移除你的电脑。


38
2018-05-08 08:02



所以...你已经实施了tripwire。 - womble♦
是的,那有什么不对吗? - Filip Ekberg
+1用于拔出,分析(让某人对其进行真正的取证)并擦除 - Oskar Duveborn
鉴于在匿名Python脚本和有文档的(有些)支持的,易于理解的标准解决方案之间进行选择,您希望他们会选择前者吗? - tripleee


注意: 这不是推荐。我的具体 事件响应 协议 可能不会 未经修改不适用于Grant unwin的案件。

在我们的学术设施中,我们有大约300名只做计算的研究人员。您有600个网站客户端,因此您的协议可能会有所不同。

我们的第一步 当服务器获得妥协协议时 是:

  1. 确定攻击者是否能够获得root权限(提升权限)
  2. 拔下受影响的服务器。网络还是电力?请参阅 单独的讨论
  3. 检查所有其他系统
  4. 从live cd引导受影响的服务器
  5. (可选的) 抓取所有系统驱动器的映像 dd
  6. 开始进行验尸取证。查看日志,找出攻击时间,查找当时修改的文件。试着回答 怎么样? 题。

    • 同时,计划并执行恢复。
    • 在恢复服务之前重置所有root和用户密码

即使“所有后门程序和rootkit都被清除”,也不要相信该系统 - 从头开始​​重新安装。


34
2018-05-18 22:36



-1拔掉服务器的电源插头?您刚刚丢失了一半的取证数据! - Josh Brower
@Josh,我调整了我的答案 - 现在它在什么不插电问题上是中立的。 - Aleksandr Levchuk
RAM取证(例如/ dev / shm)可能会有所帮助。我更喜欢拔掉电源线(但尝试登录和 rsync / proc之前)。我们还可能会引入频繁的VM快照,因此可以进行RAM取证。使用电源线的原因是(1)当你在被黑客入侵的系统中进行取证时,你正“踩到整个犯罪现场”; (2)根工具包继续运行 - 恶意执行某些操作(例如系统清除)并不困难 网络链路断开 事件。凯尔·兰金(Kyle Rankin)在他非常好的法医学讲座(goo.gl/g21Ok)建议拔电源线。 - Aleksandr Levchuk
没有一种尺寸适合所有IR协议 - 一些组织可能需要将受损系统保持在线一段时间,无论出于何种原因。 (RAM和临时日志取证,与入侵者交互等)我的观点是,最好推荐一个通用的IR协议(如上面的Jakob Borgs)而不是以“拉动受感染服务器的电源插头”开头的协议。 “ - Josh Brower


在我有限的经验中,Linux上的系统妥协往往比在Windows上更加“全面”。根工具包更有可能包括用自定义代码替换系统二进制文件来隐藏恶意软件,并且内核热补丁的障碍要小一些。此外,它是许多恶意软件作者的家庭操作系统。一般指导始终是从头开始重建受影响的服务器,这是一般原因的指导。

格式化那只小狗。

但是,如果你不能重建(或者那些不能让你重建它而不是你需要它的强烈坚持),你会寻找什么?

由于发现入侵已经有一段时间了,并且已经完成系统恢复,因此很可能在踩踏事件中踩踏它们的痕迹以恢复服务。不幸的。

不寻常的网络流量可能是最容易找到的,因为它不涉及在盒子上运行任何东西,并且可以在服务器启动并做任何事情时完成。当然,假设您的网络设备允许端口跨越。您发现的可能是也可能不是诊断性的,但至少它是信息。获得不寻常的流量将是该系统仍然受到损害并需要扁平化的有力证据。它可能足以让TPTB相信重新格式确实值得停机。

如果做不到这一点,请获取系统分区的dd副本并将其安装在另一个盒子上。开始将内容与服务器进行比较,该服务器与受损的服务器处于相同的补丁级别。它应该可以帮助您识别看起来不同的东西(那些md5sums再次),并可能指向受感染服务器上被忽视的区域。这是对目录和二进制文件的大量筛选,而且会相当费力。它甚至可能比重新格式化/重建更加劳动密集,并且可能是TPTB关于实际进行其真正需要的重新格式化的另一件事。


28
2018-01-03 14:31



'格式化那只小狗。' - + 1,圣人建议。另请参阅:“从轨道上对它进行核心攻击,这是确定的唯一方法。” - Avery Payne


我会说@Robert Moir,@ Aleksandr Levchuk,@ blueben和@Matthew Bloch在他们的回答中都非常有用。

然而,不同海报的答案有所不同 - 有些更高层次,并谈论你应该采取什么程序(一般)。

我宁愿把它分成几个单独的部分 1)Triage,AKA如何处理客户和法律影响,并确定从那里去哪里(罗伯特和@blueben非常好地列出 2)减轻影响 3)事件响应 4)验尸取证 5)补救项目和架构变更

(在此处插入样板SANS GSC认证的响应声明) 根据过去的经验,我会说以下内容:

无论您如何处理客户响应,通知,法律和未来计划,我都希望专注于手头的主要问题。 OP的原始问题实际上只与#2和#3直接相关,基本上,如何阻止攻击,让客户尽快回到原来状态,这已经在响应中得到了很好的体现。

其余的回复非常好,涵盖了许多已确定的最佳实践和方法,以防止它在未来发生以及更好地响应它。

这实际上取决于OP的预算以及他们所处的行业,他们想要的解决方案是什么等等。

也许他们需要雇用一个专门的现场SA。也许他们需要一个安全人员。 或者他们可能需要一个完全托管的解决方案,如Firehost或Rackspace Managed,Softlayer,ServePath等。

这真的取决于对他们的业务有用的东西。也许他们的核心竞争力不在于服务器管理,而且他们试图开发它是没有意义的。或者,也许他们已经是一个非常技术性的组织,可以做出正确的招聘决定,并带来一个专职的团队全职。


28
2018-01-04 02:21



是的,这取决于我们知道。说这并没有多大帮助。 - DOK


上班后看看服务器,我们设法找出问题所在。幸运的是,当办公室关闭并且除了日志和缓存文件之外不应创建任何文件时,违规文件会在星期日上传到系统。使用简单的shell命令找出当天创建的文件,我们找到了它们。

所有违规文件似乎都在我们一些较旧的zencart网站的/ images /文件夹中。似乎有一个安全漏洞允许(使用curl)任何白痴将非图像上传到管理部分的图像上传部分。我们删除了有问题的.php文件,并修复了上传脚本以禁止任何非图像文件上传。

回想起来,这很简单,我在上班途中在iPhone上提出了这个问题。谢谢你所有的帮助。

供将来访问此帖的任何人参考。我会  建议拔电源插头。


24
2017-12-05 12:52



格兰特,我很高兴能为你顺利完成。这是次要的 - 比我们许多人认为的要严重得多。这次讨论教给我一个关于沟通的教训,给出了许多好的提示,并提供了关于不雅反应的思考。 - Aleksandr Levchuk
感谢您回来并让我们了解您的情况 - 正如您所看到的,您的问题产生了很多讨论。我很高兴你似乎没有受到太多的打击,你的解决方案最终很简单。 - Rob Moir
这应该是一个评论(或在您的问题中包含为文本),而不是您的问题的答案。 - Techboy
@Techboy:看来他还没有关联他的SO和SF账号,所以他无法编辑他的问题。 @Grant:您可以通过用户页面上的“帐户”面板关联您的帐户。 - Hippo
如果没有基线配置,您怎么知道没有运行rootkit? - The Unix Janitor