我成功地使用了本教程:http ://techbot.me/2010/08/deployment-recipes-deploying-monitoring-and-securing-your-rails-application-to-a-clean-ubuntu-10-04-install- using-nginx-and-unicorn/用于我们的 ruby on rails 服务器。
但我想知道这个安装是否安全。令我烦恼的是,同一个用户“部署者”(sudoer)正在运行该应用程序。
这是否打开了攻击者通过某种形式的代码注入获得对系统的完全访问权限的可能性(与 apache 进程以 www-data 运行的常见 apache 安装相反)?
一般来说,让
deployer
用户进入sudoers
并不一定意味着攻击者自动成为 root 用户;攻击者仍然需要运行sudo
以从deployer
帐户升级。要求输入密码
deployer
才能运行会更安全sudo
。如果您将deployer
可以运行的命令限制为sudo
实际需要的命令而不是“一切”,您会更加安全,例如,如果deployer
只有sudo
privs 以便它可以重新加载 nginx,那么您可以将其从“staff”组中删除,然后添加一行/etc/sudoers
喜欢:sudo
有关详细信息,请参阅文档。作为旁注,您正在查看的文档看起来更像是基本部署指南,而不是“保护您的站点”指南。例如,查看此RubyConf讨论以了解更具体的安全性。