受损的DigitalOcean Droplet,正在进行DDoS攻击,调查原因的正确过程是什么?[关闭]


1

我今天从DigitalOcean那里得知,我的Droplet已断开连接,因为它正在进行DDoS攻击。

他们要求我进行调查,找出造成问题的原因。

这是Ubuntu 14,我在那里有6个Apache VirtualHost。所有人都活着。

我的网站之一是带有几个插件的WordPress安装。

另一个站点中包含一些Google Maps API代码。

剩下的只有我的原始代码。

我还没有进入服务器。完成后,如何正确找到导致此问题的软件?

我怀疑发生了这种情况,因为我没有在密码中使用SSH密钥。


2
我只是从轨道上推它。没有任何可调查的信息,您有一台不安全的服务器,可能安装了易受攻击的Wordpress安装程序。
Ramhound

WordPress的版本较旧。我没有更新它,因为其中一个插件仅与旧版本兼容。可以吧
Thanks_in_advance 2015年

5
研究它。 Wordpress具有大量漏洞,那么唯一具有更多漏洞的Wordpress是插件本身。
Ramhound

Answers:


7

首先,我对必须处理这样的事情表示哀悼。但是您可以清理它。首先,我只需要解决这个问题:

我怀疑发生了这种情况,因为我没有在密码中使用SSH密钥。

99%的人肯定不是这样。在我20多年的经验中,几乎我亲自处理过的每一个Web服务器漏洞都已经得到解决,并且都来自应用程序级漏洞,与SSH或SFTP无关。实际上,大多数Web开发人员/管理员永远都不会处理SSH / SFTP级别的漏洞。前端代码中的漏洞是许多恶意软件和对公共Web系统的无端入侵的主要切入点。

在您的情况下,请说明以下内容:

这是Ubuntu 14,我在那里有6个Apache VirtualHost。所有人都活着。

我的网站之一是带有几个插件的WordPress安装。

另一个站点中包含一些Google Maps API代码。

我的猜测是,除非您保持WordPress更新/补丁的最新状态,否则您的WordPress安装很容易受到攻击。不仅是核心WordPress,还有插件。

备份现有的代码库,数据库和配置。

我要做的第一件事就是通过index.php在这些站点的每个根索引中设置一个表示“需要维护” 的Apache虚拟主机。我还将通过TAR / Gzip归档文件为每个虚拟主机安装一个副本,然后下载该副本以进行潜在的取证。应该对所有Apache虚拟服务器执行此操作,包括MySQL数据库的转储以及相关的配置文件。

检查/tmp/目录是否有感染迹象;如果需要,将其吹走。

我建议您做的下一件事是转储并/tmp/在服务器上重新创建目录。原因是Linux网络服务器上的许多恶意软件感染将大量有效负载放在/tmp/目录中。我在这里对这个答案进行了更深入的探讨但是归结为下面的内容。

因此,首先,在/tmp/目录中查找是否有任何不该存在的内容。Linux系统上10种恶意软件中的9种都可以安装在Linux中/tmp/

如果您不确定应该/不应该/tmp/存在的内容,那么可以采取一种简单但极端的方法来清除不良信息。只需在命令行在线运行此命令即可:

rm -rf /tmp && mkdir /tmp && chown root:root /tmp && chmod 1777 /tmp

或者像这样单独运行每个命令:

sudo rm -rf /tmp 
sudo mkdir /tmp
sudo chown root:root /tmp
sudo chmod 1777 /tmp

然后重新启动服务器,以查看是否可以清除一切。如果可以的话,恭喜!但是您尚未走出困境,因为无论是什么原因导致原始系统仍然可以渗透到您的系统中,再次感染您只是时间问题。意思是,这可以清理由于系统漏洞引起的混乱,但是您需要找出该漏洞可能是什么并加以加固。

Bash“ shellshock”漏洞检查。

在另一个答案中,我提供了有关如何检查bash“ shellshock”漏洞的提示。该站点提供了良好的测试工具,以查看您的服务器是否容易受到bash“ shellshock”漏洞的攻击。老实说,这是我被发现以来必须修补的更常见的安全漏洞之一。因此,很有可能这也可能是服务器上的弱点。至于如何修复bash发现的漏洞,请参阅以下有关如何升级/修补所有操作系统级别组件的部分。这样做,并且也bash应该升级/修补。

升级/修补所有操作系统级别的组件。

现在这听起来令人生畏,但现实是Linux系统一直在发布安全补丁。而且,如果您正在使用标准化的Linux安装(例如Ubuntu或CentOS),则可以像这样通过软件包安装程序简单地运行更新/升级。在Ubuntu上,只需执行以下操作:

sudo apt-get update

sudo apt-get upgrade

现在,如果您有一段时间没有更新系统,则可能会看到大量需要处理的补丁程序和更新。不要惊慌!那很正常 只要运行updateupgrade等待。之后可能必须重新启动,但是完成后,您的核心操作系统应已完整打补丁并保持最新状态。

评估Apache虚拟服务器代码系统的代码库;WordPress和Google API的东西。

振作起来:这是较丑的部分。您应该下载并评估可能被感染的代码库。希望只有一两个站点受到威胁。每种设置的方式都不一样,但是通常您应该做的是将每个站点加载到开发环境中,升级WordPress核心,升级插件,检查是否一切正常,然后认为代码干净/稳定。

现在,我大大简化了这一步骤。但是现实甚至是在进行补丁和升级之后,您的WordPress核心中仍可能包含恶意软件代码。因此,您可以做的另一件事是从头开始重建每个WordPress网站。保留数据库,模板,并基本上从新的干净WordPress核心重建站点。

是的,这听起来需要做很多工作,但是如果您有许多具有不同代码库的虚拟服务器,则别无选择。

验尸建议。

这并非对所有人都有效,但我会这样说:备份,甚至可能是干净代码库的GitHub存储库,都是清理混乱的方法,而无需进行上面麻烦的最后“评估”步骤。

我要做的是在我工作的任何数据库驱动站点上运行常规的MySQL转储,并且确保GitHub上有一个干净的核心代码库。然后,如果发生恶意软件感染,我可以挖掘MySQL备份,甚至从GitHub重新部署干净的代码,以确保代码库是干净的。而且,如果服务器本身只是过去的信念而已?好吧,只需转储受感染的系统,重建新的Linux系统,部署代码,导入数据库,调整配置并每天调用它即可。

请记住,所有网站中的99%只是一个数据库,代码库和一组配置。如果您有一些干净的方法来“冻结”或备份未感染的代码以及MySQL数据库的备份,那么您要做的就是处理配置问题。与从头开始清理代码相比,这是一个小痛苦。


无论如何,我都会吹掉/ temp /目录。其他所有建议都是好的建议。您需要做的第一件事显然是使http服务器脱机,因此您可以通过ssh进行所有操作,并诚实地设置安全连接。
Ramhound

谢谢你的建议。我正在运行旧版本的Wordpress,因为其中一个插件仅与旧版本兼容。我会尝试您的建议。
Thanks_in_advance 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.