服务器已被入侵。去哪里查找?

服务器已被入侵。去哪里查找?

最近,我们的一个运行 Apache(2.2.3)的网络服务器受到了攻击,我们正在清理数据并转移到另一台服务器,以便重建当前的服务器。

我们想尝试弄清楚在迁移到新服务器后做了什么。我们得到了一些简单的东西,即大量文件中注入的 PHP 代码和插入到数据库中的 PHP。

同时,我们仍然会更改 HTML 文档中的标签,或者在文档的开始标签后立即插入一大块文本。这种情况发生在发送到搜索引擎的所有 HTML 文件中,无论是来自静态 HTML 文件还是从 PHP 文件生成的文件。只要其引用者包含某些关键字,它还会将来自搜索引擎的任何人重定向到另一个网站。

如果页面缓存在我们的反向代理中,这种情况就不会再发生,这帮助我们将问题缩小到 Apache 中。这时我想知道“我应该去哪里找?”我们查找了添加的额外模块并检查了我们的配置文件,但还没有发现任何突出的东西。

还有哪些其他地方可以检查以便我们了解到底发生了什么?

答案1

如果你知道关键词,你可以 grep /root 目录中的所有文件来查找它们。然后手动查看结果。

答案2

代码插入文件...我首先想到的是用户被入侵。简单的 FTP 黑客攻击。根据我的经验(作为网络托管公司的一线系统管理员,我的经验相当丰富),弱密码是人们更愿意承认的。写入文件的方法并不多,这是其中一种。

我诚挚的建议是清理所有内容然后:

  1. 完全禁用 FTP。最好通过防火墙设置。
  2. 强制使用严格密码并定期更改密码。
  3. 您经常会倾向于对文件和目录允许宽松的权限。切勿允许全局写入。总会有更好的方法。
  4. 不要使用来源不可靠的 PHP 代码。Google 搜索中的垃圾脚本不值得使用。

如果您真的想追踪可能发生的事件……请在 FTP 日志中搜索您不熟悉的 IP 地址。如果您认为这是脚本黑客,请检查您的 /tmp 目录中是否有黑客脚本。任何可执行文件都是坏消息,任何脚本也是如此。检查适用的 apache 日志以获取对受影响文件的引用,特别是如果这些文件不经常访问。

请记住,你可以使用以下命令从文件中批量删除代码:

sed -ie s/regexorstring//g *

...在相应的目录中运行。这只是一个查找和替换(基本操作),它将抓取您想要删除的任何字符串并将其删除。里面的一些正则表达式将使它变得非常容易。

相关内容