我有几个在 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
我正在寻找保护它们免受远程 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.