这是关于服务器安全性的规范问题-响应违规事件(黑客攻击)
另请参见:


LAMP服务器安全提示
受到破坏后重新安装吗?



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


我的第一步是什么?当我到达现场时,应该断开服务器的连接,保留“证据”,还有其他初始考虑吗?
如何使服务恢复在线状态?
如何防止同一件事立即发生?又是什么?
是否有从该事件中学习的最佳实践或方法?
如果我想制定一个事件响应计划,该从哪里开始?这是我的灾难恢复或业务连续性计划的一部分吗?

原始版本


2011.01.02-我正在晚上9.30上班。星期天,因为我们的服务器已受到某种程度的破坏,并导致对我们的提供程序的DOS攻击。服务器访问Internet
已被关闭,这意味着我们有超过5-600个客户站点
已关闭。现在,这可能是FTP hack或某个地方的代码弱点。我不确定直到到达那里。

如何快速跟踪?如果我不尽快备份服务器,我们将进行大量的诉讼。任何帮助,我们都感激不尽。我们正在运行Open SU​​SE 11.0。


2011.01.03-感谢大家的帮助。幸运的是,我不是唯一负责此服务器的人员,最近的人。我们设法解决了这个问题,尽管在其他情况下它可能不适用于许多其他问题。我将详细说明我们的操作。

我们从网络上拔掉了服务器的电源。它正在表演(尝试
执行)对印度尼西亚另一台服务器的拒绝服务攻击,
并且有罪的一方也基于该服务器。

我们首先尝试确定该服务器来自何处,
/>考虑到我们的服务器上有500多个站点,因此我们希望在一段时间内成为现实。但是,在仍然使用SSH访问的情况下,我们运行了
命令以查找攻击开始之时编辑或创建的所有文件。幸运的是,有问题的文件是在冬季假期创建的,这意味着当时在
服务器上没有创建太多其他文件。

然后我们就可以确定有问题的文件位于ZenCart网站内的
上传的图像文件夹中。

短暂抽烟后,我们得出结论,由于文件
的位置,该文​​件必须已上传通过
不够安全的文件上传工具。经过一番谷歌搜索,我们发现存在一个
安全漏洞,该漏洞允许在
ZenCart管理面板中上传文件,以录制唱片公司的照片。 (从未真正使用过的部分
),将此表单发布只是上传了任何
文件,它没有检查文件的扩展名,甚至都没有
检查是否用户已登录。

这意味着可以上传任何文件,包括用于
攻击的PHP文件。我们在受感染的网站上使用ZenCart修复了此漏洞,并删除了有问题的文件。

工作已经完成,我已经凌晨两点了。 br道德规范
-始终为此应用ZenCart或任何其他CMS系统的安全补丁。发布安全更新时,整个世界都知道该漏洞。
-始终进行备份,并备份您的备份。
-雇用或安排在这样的时间出现的人。为防止任何人依赖于服务器上的紧急情况
故障。


评论

我知道您的感觉-我们很高兴在该网站上遇到“有用的”黑客,他们在这里告诉我们他们做了什么!我期待着这个问题的好答案,以防万一我们将来收到“不太帮助”的客人。

致电专业人士寻求帮助!

我不想听起来很聪明,也不想同情(我也不是),当然我也不了解您的情况的详细信息,但是如果您是负责500-600个站点设置的唯一人员,则可能是该服务器运行方式的根本缺陷。一些公司雇用了专门的系统管理员,他一整天不做任何事情,而是维护服务器-即使看起来像这样,这项任务也不会自动属于程序员的范围。危机结束后,也许值得考虑一下。无论如何,现在最好能解决当前的情况。

不一定要假设您拥有完整的内核root kit,并且root密码已被盗用。它可能只是一个偷偷摸摸的bash / perl脚本,尽管合唱团在这里遇到了麻烦,也可以在不格式化的情况下对其进行清理...serverfault.com/questions/639699/…

#1 楼

很难从您在此处发布的内容中给出具体的建议,但是基于我很久以前写的帖子,我确实有一些通用的建议。当时我仍然不愿去博客。

不要惊慌

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


很难弄清楚入侵发生的时间。
它无助于关闭上一次让他们闯入的“漏洞”,也无助于处理任何“数据失窃”的后果已发生。

黑客入侵他们的Web服务器的受害者不断提出这个问题。答案很少改变,但是人们一直在问这个问题。我不知道为什么。也许人们只是不喜欢在寻求帮助时看到的答案,或者找不到可以信任的人来提供建议的人。或者,人们可能会阅读该问题的答案,而过分关注为什么案例的特殊性和他们在网上可以找到的答案的5%不同,而错过了95%的问题并在案例足够接近相同的情况下回答作为他们在线阅读的内容。

这使我进入了第一个重要的信息领域。我真的很感谢您是一个特别的独特雪花。我也很感谢您的网站,因为它反映了您和您的业务,或者至少反映了您代表雇主的辛勤工作。但是对于外面的某个人来说,无论是计算机安全人员正在查看问题以尝试帮助您,甚至是攻击者本人,您的问题很可能与他们遇到的其他所有案例至少具有95%的相同性曾经看过。

不要亲自进行攻击,也不要遵循此处提出的建议或您从其他人那里得到的建议。如果您只是在成为网站黑客的受害者后才读这篇文章,那么我真的很抱歉,我真的希望您能在这里找到有用的信息,但这不是让您的自我阻碍您所需要的方式的时候。

您刚刚发现服务器被黑客入侵。现在呢?

不要惊慌。绝对不要仓促行事,绝对不要试图假装从未发生过的事情,甚至根本没有采取任何行动。

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

其中一些步骤会受到伤害,并且(除非您的网站持有我的详细信息的副本)我真的不在乎您是否忽略所有或部分这些步骤,这取决于您。但是,正确地遵循它们将最终使事情变得更好。该药可能听起来很糟糕,但有时如果您真的想治愈该药,就不得不忽略它。

阻止问题变得比现在更严重的是:


首先,您应该做的是将受影响的系统与Internet断开连接。无论您有任何其他问题,使系统保持与网络的连接都只会使攻击继续进行。我的意思是从字面上看。让某人亲自访问服务器并拔掉网络电缆(如果需要的话),但是在尝试执行其他操作之前,先将受害者从其抢劫犯中断开。
更改所有计算机上所有帐户的所有密码与受感染系统相同的网络。不完全是。所有帐户。所有计算机。是的,您是对的,这可能是过大了;另一方面,可能不会。都不知道,对吗?
检查您的其他系统。请特别注意其他面向Internet的服务以及拥有财务或其他商业敏感数据的服务。
如果系统拥有任何人的个人数据,请立即通知负责数据保护的人员(如果不是您的话),然后紧急通知全面披露。我知道这很艰难。我知道这会很疼。我知道许多企业都希望在地毯下解决此类问题,但企业将不得不对其进行处理-并且需要着眼于所有相关的隐私法。

无论您多么烦恼您的客户,如果您不告诉他们有关问题的信息,如果您不告诉他们,他们将更加烦恼,并且只有在有人使用信用卡信息向价值8,000美元的商品收费后,他们才会自己发现他们从您的网站偷了。

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

全面了解问题:


在此阶段完全完成之前,请勿使受影响的系统重新联机完成,除非您想成为其职位实际上是决定撰写这篇文章的引爆点的人。我不会链接到该帖子,这样人们就可以轻笑一笑,但真正的悲剧是当人们无法从错误中吸取教训时。损害您的安全性。尽一切努力找出攻击的“发源地”,以便您了解要解决的问题,以确保将来系统安全。
再次检查“被攻击”的系统,以了解攻击的去向,以便您了解攻击中哪些系统受到了威胁。确保跟踪所有提示,表明受感染系统可能成为进一步攻击系统的跳板。
确保完全理解任何攻击中使用的“网关”,以便您可以开始正确关闭它们。 (例如,如果您的系统受到SQL注入攻击的危害,那么不仅需要关闭破解它们的特定缺陷代码行,还需要审核所有代码以查看是否存在相同类型的错误是在其他地方制作的。)
了解到,由于一个以上的缺陷,攻击可能会成功。通常,攻击不是通过发现系统中的一个主要错误,而是通过将几个问题(有时是次要的和琐碎的事情)组合在一起来破坏系统而成功的。例如,使用SQL注入攻击将命令发送到数据库服务器,发现要攻击的网站/应用程序是在管理用户的上下文中运行的,并使用该帐户的权限作为踏脚石来破坏其他用户的网站一个系统。或像黑客那样称呼它:“在办公室的另一天,利用人们常犯的错误”。

为什么不仅仅“修复”您发现的漏洞或rootkit并将系统放回原处。在线吗?

在这种情况下,问题是您不再拥有该系统的控制权。不再是您的计算机。

确保对系统有控制权的唯一方法是重建系统。尽管找到并修复用于入侵系统的漏洞有很多价值,但是一旦入侵者获得控制权,您就无法确定对系统做了哪些其他事情(事实上,对于招募黑客的黑客来说,这并非闻所未闻)系统到僵尸网络中以修补他们自己使用的漏洞,以保护其他黑客“自己的”新计算机,并安装rootkit。

制定恢复计划并恢复您的网站在线并坚持下去:

没有人想拥有更长的离线时间。那是给定的。如果该网站是一种创收机制,那么将其迅速恢复在线的压力将非常巨大。即使您/公司的声誉受到威胁,这仍然会给您带来很大的压力,需要迅速恢复。

但是,不要屈服于诱惑重新上网太快。相反,应尽可能快地行动,以了解造成问题的原因并在重新上网之前解决问题,否则您几乎肯定会再次成为入侵的受害者,并记住:“一旦被黑客入侵,可被视为不幸;再次被黑客入侵看起来很粗心”(向奥斯卡·王尔德道歉)。


我假设您已经了解了导致第一次成功入侵的所有问题在开始本节之前就已经放置了。我不想高估这个案子,但是如果您还没有这样做,那么您确实需要这样做。抱歉。
请不要支付勒索/保护金。这是一个简单标记的标志,并且您不希望使用该短语来形容您。
不要试图将同一台服务器重新联机而不进行完全重建。与在旧系统上审核每个系统的每个角落以确保其干净之前,在旧硬件上构建一个新盒子或“从轨道上将服务器核对并进行全新安装”要快得多。再次在线。如果您不同意这一点,那么您可能不知道确保完全清洁系统的真正含义是什么,否则您的网站部署过程将是一团糟。您大概拥有站点的备份和测试部署,可以用来构建实时站点,如果不这样做,那么被黑不是您的最大问题。
在重用被黑客入侵时系统中“实时”存在的数据时要非常小心。我不会说“从不做”,因为您只会忽略我,但是坦率地说,当您知道无法保证数据的完整性时,您确实需要考虑保留数据的后果。理想情况下,您应该从入侵之前进行的备份中还原它。如果您不能或不会这样做,则应格外小心,因为它已污染。如果此数据属于客户或网站访问者而不是直接属于您,则您应该特别注意对他人造成的后果。
仔细监视系统。您应该决心在将来将其作为一个持续的过程来进行(更多内容请参见下文),但是在您的网站重新上线之后的这段时间内,您会付出更多的努力来保持警惕。入侵者几乎肯定会回来,如果您能发现他们试图再次闯入,那么您一定能够很快看到您是否真的已经关闭了他们以前使用过的所有漏洞以及他们自己制造的任何漏洞,并且您可能会收集到有用的信息。您可以传递给当地执法部门的信息。


减少将来的风险。

您需要了解的第一件事是安全性是在整个设计,部署和维护面向Internet的系统的整个生命周期中都必须应用的过程,此后便不能像廉价的绘画一样在代码上打几层。为了确保安全,从一开始就需要设计服务和应用程序,这是该项目的主要目标之一。我意识到这很无聊,并且您之前已经听说过所有消息,并且我“只是没有意识到让您的Beta Web2.0(beta)服务成为Web上Beta状态的压力人”,但是事实是,这种情况一直持续被重复,因为它是第一次被说成是真的,而且还没有成为谎言。

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

您可以采取哪些步骤

例如:


该漏洞是否使人们能够侵入您的站点?代码,哪些补丁可用?如果是这样,您是否需要重新考虑如何在面向Internet的服务器上修补应用程序的方法?
该漏洞是否使人们能够侵入您的站点,从而导致供应商代码中的未知错误,为此需要进行修补。没空吗?我绝对肯定不提倡每当这样的事情困扰您时更换供应商,因为它们都会遇到问题,如果采用这种方法,您最多将在一年内用尽平台。但是,如果系统不断让您失望,那么您应该迁移到更强大的产品,或者至少重新架构系统,以使易受攻击的组件包裹在棉绒中,并尽可能远离敌对的眼睛。
该漏洞是您(或为您工作的承包商)开发的代码中的错误吗?如果是这样,您是否需要重新考虑如何批准将代码部署到实时站点的方法?是否可以通过改进的测试系统或对代码“标准”的更改来捕获该错误(例如,虽然技术不是灵丹妙药,但您可以通过使用有据可查的编码技术来降低成功进行SQL注入攻击的可能性。 )。
该缺陷是由于服务器或应用程序软件的部署方式存在问题吗?如果是这样,您是否在可能时使用自动化过程来构建和部署服务器?这些对于在所有服务器上保持一致的“基准”状态,最大程度地减少必须在每台服务器上进行的自定义工作量以及因此希望最大程度地减少犯错的机会很有帮助。代码部署也是如此-如果您需要“特殊”操作来部署Web应用程序的最新版本,然后尝试使其自动化并确保始终以一致的方式进行操作。
入侵是否可以可以更好地监视系统来早点发现它?当然,为您的员工提供24小时监视或“通话”系统可能并不划算,但是有些公司可以为您监视面向Web的服务并在出现问题时提醒您。您可能会决定自己负担不起或不需要它,这很好...请考虑在内。
在适当的地方使用绊索和内窥镜之类的工具-但不要盲目使用它们因为我说过。花时间学习如何使用一些适合您的环境的良好安全工具,保持这些工具的更新并定期使用它们。
请考虑聘请安全专家定期“审核”您的网站安全性基础。再一次,您可能会决定自己负担不起或不需要它,这很好...只考虑它。

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

如果您确定房屋洪水较低楼层的“风险”很高,但又不足以保证搬家,则至少应将不可替代的家庭传家宝搬到楼上。对吧?


您可以减少直接暴露给Internet的服务量吗?您能否在内部服务和面向Internet的服务之间保持某种距离?这样可以确保即使您的外部系统受到损害,使用它作为跳板攻击内部系统的机会也很有限。
您是否存储不需要存储的信息?您是否在“在线”存储此类信息,而该信息可能会在其他地方存档。这部分有两点:显而易见的一个原因是人们无法从您那里窃取您没有的信息,第二点是您存储的内容越少,维护和编写代码所需要的内容就越少,因此出现错误的机会就越少您的代码或系统设计。
您是否在Web应用程序中使用“最少访问”原则?如果用户只需要从数据库中读取数据,则请确保该Web应用程序用于为其服务的帐户仅具有读取访问权限,不允许其具有写访问权限,当然也不允许其具有系统级访问权限。
经验不足且对您的业务不重要的,请考虑将其外包。换句话说,如果您经营一个讨论编写桌面应用程序代码的小型网站,并决定开始从该站点销售小型桌面应用程序,则可以考虑将您的信用卡订购系统“外包”给Paypal这样的人。
如果可能的话,使从受感染系统进行的实践恢复成为灾难恢复计划的一部分。可以说,这只是您可能会遇到的另一种“灾难情况”,只是其自身存在的问题和问题与通常的“服务器机房着火” /“不同”,而大型服务器吞噬了愤怒的人的东西。

...最后,

我可能没有遗漏其他人认为重要的内容,但是上述步骤至少应该可以帮助您开始整理内容,您很不幸成为黑客的受害者。

最重要的是:不要惊慌。三思而后行。做出决定后,请立即采取行动,如果有什么要添加到我的步骤列表中,请在下面留下评论。

评论


+1是个出色的信息,可以帮助人们朝着正确的方向开始。我知道业余服务器管理员在第一次遇到“ hack”时进入这种紧急模式是多么普遍。到达那个位置是一个巨大的错误,但是确实发生了。希望这不会在同一个人身上发生两次。

–安德鲁·巴伯(Andrew Barber)
2011年1月2日,21:56

+1“ ...但这不是让您的自我阻碍您要做的事情的时候。”这对于系统管理员有时要理解很重要。无论您多么有知识,总会有一些人(有时是恶意的)比您更有知识或更聪明。

– Grahamux
2011年1月3日在1:39



好答案。我不确定为什么每个人都将“致电执法”步骤视为可选步骤。如果您负责其他人的数据(并担心诉讼),那么这应该是要做的事情中的第一件事。

– wds
2011年1月3日,9:14

写得很好,只有一个陷阱-“对可能同时受到影响的任何人进行全面而坦率的披露”。值得尊敬,但并不总是正确的。在做出妥协时,您可能需要削减一些管理上的失误,并且公司通常会为您减少一些懈怠,但是...是否公开,特别是在涉及数据保护的情况下,可能远远超出您的薪酬等级,可能有法律影响。建议您立即通知负责数据保护的人员(如果不是您的话),并敦促您进行全面披露。

– TheoJones
2013年1月8日14:44



@GilesRoberts虚拟机主机通常具有一个控制面板,可让您操纵其访客的设置,甚至无需使用RDP或SSH实际登录访客即可对其进行远程控制。您应该能够使用主机的控件隔离来宾,然后使用其远程查看工具在闲暇时调查来宾。

–罗布·莫尔
2014年1月20日17:49

#2 楼

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

您还需要有人来分流客户。毫无疑问,已经有人在。需要有人与他们通电话,以说明正在发生的事情,正在处理该情况的情况并回答他们的问题。

然后,您需要...


保持冷静。如果您负责事件响应,那么您现在需要做的事情就是表现出最大的专业精神和领导才能。记录您所做的一切,并使您的经理和执行团队了解您采取的主要行动;这包括与响应团队合作,禁用服务器,备份数据以及使一切重新联机。他们不需要血腥的细节,但应该每30分钟左右收到您的来信。
求实。您不是安全专家,有些事情您不了解。没关系。登录服务器并查看数据时,您需要了解自己的限制。轻轻踩一下。在调查过程中,请确保不要踩踏重要信息,也不要更改以后可能需要做的事情。如果您感到不舒服或正在猜测,那么这里是停下来并让有经验的专业人士接手的好地方。
获得干净的USB记忆棒和备用硬盘。您将在此处收集证据。备份您认为可能相关的所有内容;与ISP进行通信,网络转储等。即使不参与执法,在发生诉讼的情况下,您也希望此证据证明您的公司以专业,适当的方式处理了安全事件。
最重要的是止损。识别并切断对受损服务,数据和计算机的访问。最好您拉一下他们的网线;如果不能,则拉出电源。
接下来,您需要卸下攻击者并关闭孔。据推测,由于您拉动了网络,攻击者不再具有交互式访问权限。现在,您需要识别,记录文档(包括备份,屏幕截图和您自己的个人观察笔记;或者甚至最好通过从受影响的服务器中删除驱动器并进行完整的磁盘映像副本),然后删除他留下的所有代码和进程。如果没有备份,那么下一部分会很烂;您可以尝试手动从系统中解开攻击者,但您永远无法确定自己是否拥有一切。 Rootkit是恶意的,并非所有都可以检测到。最好的应对方法是,确定他用来进入的漏洞,对受影响的磁盘进行映像副本,然后擦除受影响的系统并从已知的良好备份中重新加载。不要盲目相信您的备份;验证一下!在新主机再次进入网络之前,请修复或关闭该漏洞,然后将其联机。
将所有数据整理成报告。至此,漏洞已关闭,您可以喘口气了。不要试图跳过这一步。它比其余过程更重要。在报告中,您需要确定出了什么问题,团队的反应以及为防止再次发生此事件而采取的步骤。尽可能详细;这不仅是为您服务,还为您的管理层和潜在诉讼提供辩护。

那是做什么工作的空前回顾;大部分工作只是文档和备份处理。别着急,你可以做到。我强烈建议您获得专业的安全帮助。即使您能够处理发生的事情,他们的帮助也将是无价的,而且他们通常会配备一些设备,以使过程变得更轻松,更快捷。如果您的老板不愿为此付出代价,请提醒他,与处理诉讼相比,这是很小的事情。

我对您的处境感到安慰。祝你好运。

评论


+1好答案。听起来OP并没有预先定义的“紧急响应”,您的帖子除其他外,还应指出如何进行设置。

–罗布·莫尔
2011年1月2日在22:29

#3 楼

CERT的文档很好,它可以从UNIX或NT系统还原中恢复步骤。本文档的具体技术细节有些过时,但是许多常规建议仍然直接适用。

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


咨询您的安全策略或管理。
获得控制权(使计算机脱机)
分析入侵,获取日志并找出出了什么问题
修复问题


安装操作系统的全新版本!!!如果系统受到威胁,您将无法信任,请定期。和文档

我想特别指出您E.1。节。


E.1。
请记住,如果是机器如果
被破坏,则该系统上的所有内容
都可能已被修改,包括内核,二进制文件,数据文件,正在运行的进程和内存。一般说来,要确保一台计算机没有后门和入侵者修改的唯一方法是重新安装运行的计算机。



>如果您没有像Tripwire这样的系统,就不可能100%地确定您已经清理了系统。

评论


即使那样,tripwire仍然可以被内核模块之类的东西欺骗。重新安装。

–侦察机器人
09年5月18日在21:02

有关如何应对危机的相关问题在这里也可能有用。

– Zoredache
2011年1月5日在20:39

#4 楼



找出问题所在。阅读日志。

包含。您已断开服务器的连接,这样就可以完成。

根除。最有可能重新安装受影响的系统。但是,不要擦除被黑客入侵的硬盘,请使用新的硬盘。这样比较安全,您可能需要旧的工具来恢复未备份的丑陋的hack,并进行取证以找出发生的情况。

恢复。安装所需的一切并恢复备份,以使您的客户端联机。

进行后续操作。找出问题所在,并防止再次发生。


#5 楼

罗伯特(Robert)的“苦药”答案是现成的,但完全是通用的(嗯,就像你的问题一样)。听起来确实有管理问题,并且如果您有一台服务器和600个客户端,则迫切需要一名专职sysadmin,但这现在对您没有帮助。

我经营一家托管公司,在这种情况下可以提供一些帮助,因此我可以处理很多受感染的计算机,但也可以为自己提供最佳实践。我们始终告诉受感染的客户进行重建,除非他们不能完全确定受害的性质。从长远来看,没有其他负责任的路线。

但是,您几乎可以肯定只是脚本小子的受害者,他们想要一个DoS攻击或IRC保镖或与客户的网站和数据完全无关的启动板。因此,作为重建时的临时措施,您可以考虑在机箱上设置一个沉重的出站防火墙。如果您可以阻止对站点正常运行并非绝对必要的所有出站UDP和TCP连接,则可以轻松地使受感染的盒子对向您借用它的任何人都毫无用处,并将对提供商网络的影响降低为零。 br />
如果您以前没有做过,则此过程可能要花费几个小时,并且从未考虑过防火墙,但可能会帮助您恢复客户端服务,但有继续给攻击者提供访问您的风险的风险。客户数据。由于您说在一台计算机上有数百个客户,所以我猜您正在为小型企业托管小型手册网站,而不是600个装有信用卡号的电子商务系统。如果真是这样,对您来说这可能是一个可接受的风险,并且比将600个站点进行安全性缺陷审核之前,使系统恢复联机状态的速度更快。但是您会知道那里有什么数据,以及做出该决定的舒适程度。

这绝对不是最佳实践,但是到目前为止,如果那不是您的雇主正在发生的事情,请您对他们摇晃手指,并向特警队索取数万英镑,他们可能会觉得这是您的错(但是,没有道理! )听起来不像是实际的选择。设施),以便您在断开网络连接的情况下管理服务器。如果完全可以选择,请索要并使用它。如果您无法将sysadmin添加到您的团队中,请寻找托管托管协议,您需要向ISP支付ISP的sysadmining帮助以及此类事情的24小时响应。祝你好运:)

#6 楼

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

这对于您来说很方便,看看是否定期更改奇怪的文件。

但是您现在唯一要做的就是,正在从互联网上删除您的计算机。

评论


所以...您已经实现了Tripwire。

–womble♦
09年5月8日在8:46

是的,这有什么问题吗?

–Filip Ekberg
09年5月8日在8:48

+1拔出插头,进行分析(让某人对其进行真正的取证)并擦拭

–奥斯卡·杜韦伯恩(Oskar Duveborn)
09年5月8日在10:04

在匿名Python脚本和已证明的(某种程度上)受支持的,易于理解的标准解决方案之间做出选择之后,您希望他们会选择前者吗?

–tripleee
2014年8月23日在7:37

#7 楼

注意:这不是建议。我的特定事件响应协议可能不会不适用于Grant unwin的案例。

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

我们的“服务器受到威胁的协议”的第一步是:


确定攻击者能够获得root(特权)
拔出受影响的服务器的电源。网络还是电力?请查看单独的讨论。
检查所有其他系统
从实时cd引导受影响的服务器

(可选)使用dd <获取所有系统驱动器的映像


开始进行验尸取证。查看日志,弄清楚攻击的时间,找到在该时间修改的文件。尝试回答如何?问题。


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



即使“所有后门程序和rootkit都已清理”,也不信任该系统-从头开始重新安装。

评论


-1断开服务器电源?你刚刚失去了你的法医数据的一半!

–乔什·布鲁尔(Josh Brower)
2011年1月3日,12:51

@Josh,我调整了答案-现在在“拔掉什么”问题上它是​​中立的。

–亚历山大·列夫丘克(Aleksandr Levchuk)
2011年1月3日,19:48

RAM取证(例如/ dev / shm)可能会有所帮助。我更喜欢拔下电源线(但是尝试在之前登录并rsync / proc)。我们可能还会引入频繁的VM快照,以便进行RAM取证。使用电源线的原因是:(1)在被黑的系统中进行取证时,您是“跨整个犯罪现场”; (2)根工具包一直运行-恶意软件在Network Link Down事件上执行某些操作(例如,系统清除)的难度并不大。凯尔·兰金(Kyle Rankin)在他的《取证入门》演讲中(goo.gl/g21Ok)建议拉扯电源线。

–亚历山大·列夫丘克(Aleksandr Levchuk)
2011年1月3日在20:02



没有一个适合所有IR协议的规模—无论出于何种原因,某些组织可能都需要使受感染的系统保持在线一段时间。 (RAM和临时日志取证,与入侵者进行交互等)我的观点是,最好推荐一种通用的IR协议(例如上述的Jakob Borgs),而不是以“拔下受感染服务器的电源插头”开头的协议。 ”

–乔什·布鲁尔(Josh Brower)
2011年1月3日,21:15

#8 楼

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

格式化那只小狗。

但是,如果您无法重建(或者强大的力量,则不会让您在坚持不懈的坚持下重建它)需要它吗?

由于发现入侵已经有一段时间了,而且已经完成了系统还原,所以很有可能是如何追踪的他们被踩踏踩踏以恢复服务。不幸的是。

异常的网络流量可能最容易找到,因为这不涉及在服务器上运行任何操作,可以在服务器启动并执行任何操作时完成。当然,假设您的网络设备允许端口跨接。您发现的内容可能会或可能不会诊断,但至少它是信息。获得不寻常的流量将是系统仍然受到威胁并需要扁平化的有力证据。可能足以说服TPTB重新格式化确实值得停机。开始与处于受感染计算机相同补丁程序级别的服务器比较内容。它应该可以帮助您识别看起来不同的内容(再次是那些md5sum),并可能指向受感染服务器上被忽略的区域。这在目录和二进制文件中进行了大量筛选,并且会占用大量人力。与重新格式化/重建相比,它甚至可能需要更多的劳动力,并且对TPTB进行真正需要的重新格式化可能是另一回事。

评论


“格式化那只小狗。” -+1,明智的建议。另请参阅:“从轨道上将其核弹,这是确定的唯一方法。”

–艾琳·佩恩(Avery Payne)
2011-12-13 15:50

#9 楼

我想说@Robert Moir,@ Aleksandr Levchuk,@ blueben和@Matthew Bloch在他们的回应中几乎都是亮点。

但是,不同海报的答案有所不同-有些更多关于高层讨论通常应使用的程序。

我希望将其分成几个单独的部分
1)Triage,又名如何与客户打交道和法律隐患,并确定从何处去(清单非常由Robert和@blueben精心编写
2)减轻影响
3)事故响应
4)验尸取证
5)修复项目和架构变更

(在此处插入样板并获得SANS GSC认证的回应声明)
根据过去的经验,我会说以下话:

无论您如何处理客户的回应,通知,法律,和未来的计划,我宁愿专注于手头的主要问题。
OP最初的问题实际上仅与#2和#3直接相关,基本上,如何阻止攻击,如何使客户以其原始状态尽快恢复在线状态,已在响应中得到了很好的解决。

其余的反馈都很好,涵盖了许多已确定的最佳实践和方法,既可以防止它在未来发生,也可以对其做出更好的响应。

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

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

这实际上取决于对他们的业务有效的解决方案。也许他们的核心能力不在服务器管理上,因此他们尝试开发这种能力没有任何意义。或者,也许他们已经是一个非常专业的技术组织,可以做出正确的招聘决定,并专职工作。

评论


是的,这取决于我们知道。这样说并没有太大帮助。

– DOK
2011年1月3日,17:32

#10 楼

开始工作并查看服务器之后,我们设法找出了问题所在。幸运的是,有问题的文件在星期天关闭了办公室,并且除了日志和缓存文件之外,没有其他文件可以上传到系统。通过一个简单的shell命令,找出当天创建了哪些文件。

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

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

供以后访问此帖子的任何人参考。我不建议拉电源插头。

评论


格兰特(Grant),我很高兴为您解决这个问题。这是小事-比我们许多人想象的要严重得多。这次讨论教给我一个关于交流的课程,并提供了许多不错的技巧和不道德的回应的思想。

–亚历山大·列夫丘克(Aleksandr Levchuk)
2011年1月4日7:50



感谢您回来并告诉我们您的情况-您可以看到,您的问题引起了很多讨论。我很高兴您似乎对此并没有受到太大的打击,并且最终您的解决方案非常简单。

–罗布·莫尔
2011年1月4日,9:26

这应该是评论(或作为问题的文本形式出现),而不是问题的答案。

– Techboy
2011年1月4日,12:12

@Techboy:似乎他尚未关联自己的SO和SF帐户,因此他无法编辑问题。 @Grant:您可以通过用户页面上的“帐户”面板关联您的帐户。

–河马
2011年1月5日在17:54

没有基准配置,您怎么知道不运行rootkit?

– Unix管理员
2011年1月10日,0:51

#11 楼

我对广泛的技术解答没有什么贡献,但也请注意其中一些:

非技术性措施:


内部报告事件。
如果您还没有一个可能似乎是CYA技术的事件响应计划,但是IT部门并不是确定受感染服务器的业务影响的唯一且通常不是最佳的场所。
业务需求可能胜过您的技术顾虑。不要说“我告诉过你”,而业务问题的优先考虑才是您首先拥有此受损服务器的原因。 (“将其留给事后报告。”)
不对安全事件进行掩盖是一种选择。
向地方当局报告。
ServerFault不是提供法律建议的地方,但这应该包括在事件响应计划中。
在某些地方和/或受管制的行业中必须向本地执法机构,监管机构报告(某些)安全事件或通知受影响的客户/用户。
无论如何,报告的决定和实际的报告都不是仅由IT部门做出的。期望管理层以及法律和公司传播(市场)部门的参与。
您可能不应该期望太多,互联网是边界没有多大意义的大地方,但是许多警察部门中都存在网络犯罪部门确实解决了数字犯罪,并可能将其定罪。


#12 楼

最近,一个不错的在线人员帮助我了解了攻击者如何破坏系统。
一些黑客试图通过伪造文件上的修改时间来隐藏其踪迹。
通过更改修改时间来更新更改时间(ctime)。
您可以看到带有stat的ctime。

该衬板列出了按ctime排序的所有文件:

find / -type f -print0 | xargs -0 stat --format '%Z :%z %n' | sort -nr > /root/all_files.txt


因此,如果您大致了解妥协的时间,则可以查看已更改或创建了哪些文件。



#13 楼

我认为这可以归结为:

如果您珍惜自己的工作,最好有一个计划,并定期进行修改。

不计划就是要失败,在系统安全性方面,这是最真实的。当受到欢迎时,您最好准备好应对它。

这里还有另一句话(有点陈词滥调)适用:预防胜于治疗。

/>此处有许多建议可以吸引专家来审核您的现有系统。我认为这是在错误的时间提出问题。该问题应在系统安装到位时提出,并记录答案。另外,问题不应该是“我们如何阻止人们闯入?”应该是“为什么人们完全可以闯入?”只有在发现并利用新漏洞之前,才可以审计网络中的一堆漏洞。另一方面,从头开始设计的网络只能以精心设计的舞蹈以某种方式对特定系统做出响应,根本无法从审计中受益,而资金将是浪费。

在将系统连接到Internet之前,请先问问自己-是否需要100%面向互联网?如果没有,那就不要。考虑将其放在防火墙后面,您可以在其中决定互联网的外观。更好的是,如果所说的防火墙允许您(通过反向代理或某种类型的通过过滤器)拦截传输,请查看使用它仅允许发生合法操作。完成-在某个地方有一个(或曾经有一个)互联网银行设置,它具有一个面向互联网的负载平衡代理,他们将使用该代理从服务器池中引导攻击。安全专家Marcus Ranum说服他们采用相反的方法,即使用反向代理仅允许已知的有效URL通过,并将其他所有内容发送到404服务器。它经受了时间的考验,出奇地好。

一旦发生您没有预料到的攻击,基于默认许可的系统或网络注定会失败。默认拒绝可让您更好地控制进入和不进入的内容,因为除非需要很好地进行操作,否则您不会从外部看到内部的任何内容。

就是说,所有这些都没有理由让人沾沾自喜。违规后的最初几个小时内,您仍然应该有一个计划。没有系统是完美的,人类会犯错误。