经过数月的疏忽,电子邮件火焰和pipe理层的争斗,我们目前的系统pipe理员被解雇,并将“服务器证书”交给我。 这样的证书包含一个root密码,而不是别的:没有程序,没有文档,没有提示,什么都没有。
我的问题是:假设他在后面留下了诡计,我怎样才能以尽可能less的停机时间优雅地接pipe服务器呢?
以下是详细信息:
假设这两个服务器都是打补丁并且是最新的,所以我宁愿不要试图破解我的方法,除非有一个很好的理由(即可以向高层pipe理人员解释)。
生产服务器有几个托pipe的站点(标准的apache-php-mysql),一个LDAP服务器,一个ZIMBRA电子邮件套件/服务器,并且据我所知可以运行一些vmware工作站。 不知道那里发生了什么事。 可能有一个是LDAP大师,但这是一个疯狂的猜测。
内部服务器有一个内部wiki / cms,一个LDAP从属服务器,用于从生产服务器复制凭证,还有几个vmware工作站以及正在运行的备份。
我可以去服务器场的pipe理员,指向服务器,告诉他们' sudoclosures那台服务器',以单用户模式login,并有我的方式。 内部服务器也一样。 不过,这意味着停机时间,高层pipe理人员感到不安,老系统pipe理员向我发射说:“看? 你不能做我的工作“和其他麻烦,最重要的是,我将不得不失去几个星期的无薪期。
另一方面,我可以以root身份login,并通过服务器来尝试理解发生的事情。 所有的风险都会引发留下的惊喜。
我正在寻找中间的解决scheme:尽量让所有事情保持原样,同时了解正在发生的事情,以及最重要的是避免触发任何留下的诱饵陷阱 。
你有什么build议?
到目前为止,我曾想过用内部服务器“实践”,断开networking,用活动光盘重新启动,将根文件系统转储到USB驱动器,并将其加载到断开连接的孤立虚拟机上,以了解以前的系统pipe理方式思考(a-la'知道你的敌人')。 可以用生产服务器拉同样的壮举,但是完整的转储会让人注意到。 也许我只能以root身份login,检查crontab,检查.profile中是否有启动的命令,转储最后的日志,以及想到的任何内容。
这就是我来这里的原因。 任何暗示,不pipe多小,都将不胜感激。
时间也是一个问题:可能会在几个小时或几个星期内触发事件。 感觉像那些糟糕的好莱坞电影之一,不是吗?
正如其他人所说,看起来像一个松散的情况。
(从最后开始)
当然,你不能把服务器放下,让安装程序做到这一点。
rm -rf $service (听起来很拗口,但是我的意思是停用这个服务) 一直在那里,这是没有乐趣的:(
噢, 在开始之前 ,向他们提出整体计划,并对最糟糕的情况和最好的情况下的情况进行一些评估。
如果您没有文档,无论重新部署如何, 都会花费很多时间。 没有必要想到后门,恕我直言,如果你没有文件滚动迁移是达到一个理智的状态,将为公司提供价值的唯一途径。
你有理由相信前面的pipe理员留下不好的东西,或者你只是看很多电影吗?
我并不是要求滔滔不绝,而是想知道你认为在那里有什么样的威胁,有多可能。 如果你认为确实存在某种严重破坏性问题的可能性非常高,那么我build议把它看作是一个成功的networking入侵 。
无论如何,如果系统发生故障(无论是真正的故障还是故障),您的老板都不希望在处理这种情况时造成停机时间的中断 – 他们对计划中的停机时间对系统进行整理的态度与计划外的停机时间有什么关系?stream氓pipe理员),如果他们的态度是现实的,而你对这个问题的真实可能性的评估。
无论你做什么,请考虑以下几点:
立即拍摄系统的图像。 在你做任何事之前。 事实上,把两个人放在一边,不要再碰它,直到你知道系统正在发生什么事情,这是你logging下你的系统是如何被接收的。
将“第二组”图像还原到某些虚拟机,并使用这些图像来探测正在发生的事情。 如果你担心在某个date之后触发的事情,那么在虚拟机中一年左右的时间里设置date。
首先,如果你打算花费额外的时间,我build议你实际得到报酬 。 看来你已经接受了无偿加class作为一个事实,从你的话来看 – 这不应该是这样,在我看来,特别是当你因为别人的过错而陷入困境(不pipe是pipe理,旧的系统pipe理员或可能是两者的组合)。
取下服务器并启动到单用户模式(init = / bin / sh或grub上的1)以检查在rootlogin时运行的命令。 停机时间在这里是必要的,要让pipe理层明白,如果他们想要确保他们能够保存他们的数据,别无select,只能停下来。
之后查看所有的cronjob,即使他们看起来合法。 尽快完成备份 – 即使这意味着停机。 如果需要,您可以将完整备份转换为正在运行的虚拟机。
那么,如果你能够接触到新的服务器或有能力的虚拟机,我实际上将把这些服务逐一迁移到新的,干净的环境中。 您可以在几个阶段做到这一点,以尽量减less意识到的停机时间。 在恢复您对基本系统的信心的同时,您将深入了解服务。
同时你可以使用chkrootkit工具检查rootkit。 在服务器上运行nessus以查找旧pipe理员可能使用的安全漏洞。
编辑:我想我没有解决你的问题的“优雅”的一部分,我也可以。 第一步(进入单用户模式来检查login陷阱)可能会被跳过 – 旧的系统pipe理员给你的root密码,并设置login做rm -rf /将几乎相同,删除所有文件他自己,所以这样做可能没有意义。 根据备份部分:尝试使用基于rsync的解决scheme,以便可以在线执行大部分初始备份,并最大限度地减less停机时间。
我会花时间学习在这些服务器上运行的应用程序。 在你知道什么是在任何时候你可以安装一个新的服务器。 如果你觉得这可能是一些后门,那么在单一模式下启动或者在服务器和外部networking之间有一些防火墙是一个好主意。
你越来越偏执安全。 没有必要得到偏执。 (b'cos你谈论饵雷)。 通过安装的软件列表。 看看有什么服务正在运行(netstat,ps等),请参阅cron作业。 禁用以前的系统pipe理员用户帐户而不删除帐户(通过将shell指向nologin轻松完成)。 查看日志文件。 我认为,通过这些步骤,从您对公司需求的了解,您可以猜测出服务器的使用情况,我认为您应该能够在没有任何主要的情况下维护它们。