【问题标题】:Digital ocean droplet running rails application getting compromised数字海洋水滴运行轨道应用程序受到损害
【发布时间】:2016-07-15 18:35:07
【问题描述】:

我正在使用 Ubuntu 14.04 在数字海洋水滴上运行我的 rails 应用程序。在发布后的几天内,我的 droplet 就被黑了。在设置液滴时,我已经处理了以下事情。但安全性仍然受到威胁。

1) 没有 root 密码。我已经使用 ssh 密钥设置了 root 用户 2) rails 应用程序托管在私有仓库中。所以连机器的IP都没有暴露。 3) 更改了rails app的默认端口。

我知道上述配置是基本的,但它通常可以为我完成工作。

我在 droplet 被破坏后设置了一个新的 droplet。同样,几天之内,新的液滴也被破坏了。所以我的设置肯定存在安全漏洞。

为了介绍 Rails 应用程序的背景,它是一个使用 Twilio 语音 API、MySQL 作为数据库、unicorn 作为应用程序服务器、sidekiq 和 redis 进行后台处理的应用程序。

我仍然可以通过控制台访问最新的受感染 Droplet。在受感染的 droplet 中寻找线索时,发现了 authorized_keys 文件中的一些恶意 ssh 密钥条目。我找不到其他任何不寻常的东西,也找不到 authorized_keys 文件如何获得新条目。

我应该如何调试这个问题?

【问题讨论】:

  • 问题可能出在您的应用程序、您的应用程序的任何 gem、rails 本身或您向互联网公开的任何其他软件组件中。我会检查 Rails、unicorn 和你的应用程序中的所有 gem,看看 CVE 数据库或其网站中是否存在报告的安全漏洞。

标签: ruby-on-rails ssh ubuntu-14.04 digital-ocean


【解决方案1】:

redis 设置中存在安全漏洞。下面这篇文章详细解释。 http://antirez.com/news/96

长话短说,开箱即用的 redis 设置会将 6379 端口暴露给互联网。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-04
    • 2021-04-10
    相关资源
    最近更新 更多