我有一台安装了 Arch Linux 的服务器,由于某种原因,它在一段时间不活动后被感染。我重新安装,保持一段时间不活动状态,它再次被感染。每次我重新安装服务器时,我都会运行一个脚本,该脚本还会安装以下内容:
与吃豆人一起
- 核心/gcc
- 额外的/nginx
- 额外的/python-pip
- 额外的/python-django
- 额外的/postgresql
- 社区/python-psycopg2
- 社区/nodejs
- 社区/npm
使用 pip
- uwsgi
在我安装其中一个之后,我的服务器会因此受到感染吗?这种情况已经发生过大约 4 次了。服务器安装由我的提供商完成,我完全信任他们(他们托管了我的其他服务器,从未出现过问题)。
另一种可能性是某人通过我的根登录访问了我的服务器,这似乎是不可能的,因为每次登录时我都会检查“上次登录”,而且总是我一个人(我每次登录时都会写下来)。
过了一会儿,服务器开始 大型 DDoS 攻击
我经常收到的回复是“重新安装服务器,别无选择”。这就是我陷入困境的地方,因为我已经这样做了很多次,我感觉我的提供商真的受够了我“再次发起 DDoS 攻击”。
答案1
首先,我们需要知道这是什么感染(至少大致知道)。这有助于我们了解它存储在哪里,以及它能做什么。如果没有这些信息,我可以根据最常见和最有可能的情况为您提供一些一般性建议。
Arch 的 repos 非常值得信赖。这是另一个问题。
在您的过程中,您没有提到至少清空磁盘的开头。许多 rootkit 会将自身存储在磁盘的开头,以便在启动时由 BIOS 或引导加载程序加载。这对于驱动程序注入非常有用,对于 DDoS 攻击等简单操作尤其有用。
此代码不会随着操作系统重新安装而消失,并且会一直保留在那里,直到您找到它的确切存储位置(它始终位于驱动器的开头 - 因此可以在启动时加载)。
使用“dd”或类似命令将零写入驱动器或阵列。如果需要,可以清空整个内容,但第一个兆字节就是您真正需要的全部内容。
还要确保您没有将任何其他存储设备连接到此系统(例如闪存驱动器)。除此之外,请检查网络上的其他机器。您可能有一些可以自动遍历网络的东西,但这种情况非常罕见,您很可能会在其他地方看到它(假设您检查了这些东西)。
最后,如果你正在使用缓存代理(如 squid),请检查该机器。它可能缓存了一些令人讨厌的东西。
答案2
- 他们是值得信赖的。
- 不要为您的服务器使用最先进的操作系统(只需在 Google 上搜索,您就会找到几个答案,了解为什么不应该这样做)。
- 根工具包。