不变的服务器模式是一种部署准则,有利于部署的可重复性。它的特点是:“一台服务器一旦部署,就不会被修改,仅被新的更新实例替换”,而实施这一准则要求服务器部署自动化。这种自动化具有许多操作优势,其中最重要的优势之一就是可以快速可靠地替换基础架构中发生故障的实例。这种自动化还意味着服务器部署由版本控制的软件人工制品来描述,并且会进行迭代式改进。已启动(尤其是删除SSH访问)。删除远程访问是一种确保服务器配置与部署自动化准备的配置相匹配的简便方法。

但是,在调查验尸中软件故障的原因时,要依靠结构化监视并不总是足够的,因此可能需要远程访问计算机。常见的实际情况是服务器监视未涵盖所有故障源,或者服务器故障本身可能会损害监视,如果服务器内存不足或达到其进程限制,则很可能会发生这种情况。 br />
如何在不丧失进行验尸的能力的情况下实现不可变服务器模式?

#1 楼

首先,在不可变服务器上删除ssh并不能保证不会有任何更改,更多的是,由于不需要更改某些内容,因此可以通过删除远程访问通道来减少攻击面。

进行验尸的一种方法是日志集中化。有很多方法可以实现它,例如ELK堆栈,Splunk,系统日志...不可变的服务器故障将被关闭,并且将启动一个新的服务器以替换它)以收集程序的核心转储,内存转储并将它们与大多数日志一起发送到远程系统进行分析。 />此解决方案的主要优点是,您仅在出现问题时才获取失败的系统信息,从而可以收集比定期获取的更大的信息。 ,每个发行版都有一些获取内容的方法,我没有通用的示例。

#2 楼

您没有SSH访问权限这一事实并不意味着无法访问该计算机。您很可能会在某个云运营商上运行它,您还可以在其中执行以下操作:


对计算机进行快照。您可以在销毁盒子之前拍摄快照,以便以后进行分析。
通过控制台访问机器。您可能需要为此输入root密码,但是某些云提供商可以随时注入随机root密码用于控制台访问。

这些本质上是对计算机的“物理”访问,并且即使您删除其他类型的访问权限,也将可用。您也可以限制这些接口。

除此之外,@ Tensibai表示,更好的方法是具有适当的日志记录和监视设置,因此任何时候您都必须做事后验,则有足够的数据来执行此操作。

评论


好吧,为了应对控制台访问,AWS EC2不提供任何控制台访问,如果您未配置SSH,则您无权访问该计算机。对计算机卷进行快照可能会有所帮助,将其作为新磁盘安装在“司法鉴定”实例中以分析数据。

–滕西拜
17 Mar 2 '17 at 12:16