linux - 根帐户以未知方式被入侵

标签 linux security ubuntu ssh redis

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

5年前关闭。




Improve this question




我有一台运行 Ubuntu 14.04-64 的服务器运行 OpenSSH 5.9,它在过去几天开始表现得很奇怪。 SSH 和 HTTP 连接超时。此外,我的 SSH key 不再有效。我不得不使用我的密码登录。然后我从我们的托管服务提供商那里收到通知,当我们很少超过 10% 时,服务器已经用完了当月(每月 5 天)分配的带宽的 400%。所以我怀疑服务器已被入侵。

我在 HTOP 中没有看到奇怪的 CPU 事件。我在 iftop 中没有看到奇怪的网络事件。但是,在所有 rc.Xd 目录中都有一个奇怪的可执行文件设置为服务:S90.777{1452022308。它调用了/目录中的另一个可执行文件,名为 .777{1452022308。此进程以非常高的优先级运行,因此导致其他连接超时。该文件是二进制可执行文件。

我检查了服务器日志,发现了这个:

Jan  3 09:08:32 dev1 sshd[19757]: Accepted publickey for root from X.X.X.X port 41394 ssh2: RSA 31:1c:bd:a0:d0:56:1b:e0:fd:a3:05:cc:9e:96:4e:8c

我们从来没有将公钥放在我们的任何服务器上供 root 使用,也永远不会。用户在服务器上停留了大约 8 分钟,然后消失了。/root/.ssh 中的authorized_keys 文件是二进制格式,不可读。

我不知道用户如何能够将授权 key 文件放入/root 中。这难以置信!

来自同一 IP 地址的其他事件(在身份验证日志中)是:
Jan  3 08:00:26 dev1 sshd[18907]: Connection closed by X.X.X.X [preauth]
Jan  3 08:31:01 dev1 sshd[19287]: Connection closed by X.X.X.X [preauth]
Jan  3 09:08:32 dev1 sshd[19757]: Accepted publickey for root from X.X.X.X port 41394 ssh2: RSA 31:1c:bd:a0:d0:56:1b:e0:fd:a3:05:cc:9e:96:4e:8c
Jan  3 09:16:26 dev1 sshd[19757]: Received disconnect from X.X.X.X: 11: disconnected by user

我已经在我们所有的其他服务器上禁用了 root ssh 登录,但我很惊讶这最初是如何发生的。有谁知道这样的事情怎么会发生?

最佳答案

我想通了发生了什么。最重要的证据是/root 中的authorized_keys 文件是二进制格式。

我最近在这台服务器上安装了 redis。显然,如果您不将 redis 绑定(bind)到 localhost,它可以很容易地被操纵将 SSH key 放入运行它的用户(在本例中为 root)的authorized_keys 文件中。其实redis的创建者在一篇博文中描述了这个过程:http://antirez.com/news/96

所以,总结一下:

  • 将 redis 绑定(bind)到 localhost 或内部网络连接,并使其远离 Internet。
  • 给redis添加一个认证密码。
  • 以自己的用户身份运行 redis,而不是以 root 身份运行。
  • 关于linux - 根帐户以未知方式被入侵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34620525/

    相关文章:

    ios - 使用苹果硬件在ubuntu上构建ios应用程序

    linux - 在没有安装 NVIDIA GPU 的 X11/Wayland 的 CentOS 机器上,我在哪里可以获得 EGL 头文件?

    javascript - 允许用户安全地将 HTML 保存到数据库吗?

    java - BouncyCaSTLe 和 SunJCE 在 Cipher::update 和 Cipher::doFInal 中的不同结果

    security - 安全 Web 应用程序的重要提示

    linux - 在 Ubuntu-16.04 上从源代码安装 gcc-4.8.1

    linux - 使用 perf 监控原始事件计数器

    c - 不理解标准输出语义

    c++ - 如何获取UTC时间

    ubuntu - genymotion 运行失败,出现 "Fatal IO error: client killed"错误