如何在 Ubuntu 上正确保护 Unicorn/RoR 服务器?或者,强化 RoR 应用程序堆栈?

如何在 Ubuntu 上正确保护 Unicorn/RoR 服务器?或者,强化 RoR 应用程序堆栈?

我有几个在 Ubuntu 12.04 上运行的 Unicorn 服务器,我希望保护它们免受远程 shell 攻击。

我主要关心的是,部署 ModSecurity 是否有意义?

另一件事是,我看到 Unicorn 通常从端口 8080 运行,并且它被转发到作为反向代理的 Apache/NginX 服务器端口 80。

我认为可以采取以下措施:

  • Apache 上的 ModSecurity
  • Apache 作为工作线程,使用 mod_qos,以防止来自任何主机的请求过多
  • 从指定用户运行 unicorn 服务器,如果是 Redhat/Centos,则通过 AppArmor 或 SELinux 进行隔离

我想知道是否有另一个类似 PHP Suhosin 的 RoR 强化框架/补丁。

答案1

我会先Ruby On Rails 安全指南

我正在寻找保护它们免受远程 shell 攻击的方法。

注意文件上传部分。

  • 确保文件上传不会覆盖重要文件
  • 验证文件名
  • 使用插件: 附件_fu或者 回形针
  • 决不允许用户上传:.php,,.cgi...
  • 设置适当的 Centent-Type HTTP 标头
  • /public将文件上传到目录之外

您还可以使用以下方法扫描 Rails 代码中的漏洞制动员

gem list -d brakeman

*** LOCAL GEMS ***

brakeman (1.8.0)
    Author: Justin Collins
    Homepage: http://brakemanscanner.org
    Installed at: /usr/lib/ruby/gems/1.8

    Security vulnerability scanner for Ruby on Rails.

相关内容