我正在考虑将 Rails 应用程序从共享主机提供商转移到专用服务器或 Linode、SliceHost、Webbynode 等服务,如果我理解正确,服务器的安全性完全取决于您。
对于共享主机,我习惯于没有root 访问权限,因此防火墙和大多数其他安全问题往往由托管公司处理。
所以我担心的是转移到我(服务器管理员新手)负责安全的服务器。我很想请一位专业的服务器管理员来处理这个问题,但是这是不可能的。
有人知道像 SliceHost 或 Webbynode 这样由提供商管理安全性的负担得起的服务吗?我看过 Heroku,但由于 SSL 完整证书要求,目前我买不起。
或者,是否有人知道服务器图像是否可用于 Linode/SliceHost/Webbynode/其他安全性得到照顾或变得更简单的地方?
(我想我主要担心的是我是一名网络应用程序开发人员,他认为他最终会花费更多时间来保护服务器而不是编码。也许我什么都担心。)
需要担心的两个最重要的方面是 SSH 安全性和防火墙。我建议您禁用 root 登录,创建第二个用户,使用 sudo 并使用公钥身份验证。脚本小子尝试暴力登录是很常见的。Fail2ban 将对此有所帮助(检测暴力破解并添加防火墙规则以禁止 IP)
对于防火墙,您可以使用一个非常容易配置的 iptables 前端,称为Firehol。Firehol 允许您编写规则,例如:
为了它的价值,你需要偏执。只允许必要的(即您可能只需要端口 80、443 和 22)。不要忘记应用程序级别的安全性。
有人需要照顾这些事情。要么你做,要么花钱请人去做。到目前为止,您一直在向托管公司付费(通过共享托管计划的费用)。但是,您需要考虑的不仅仅是安全性;优秀的系统管理员会为您做很多事情,从监控、安装和配置所需的新软件、解决各种问题到主动响应中断。
在不知道“负担得起”对您意味着什么的情况下,我无法就在其产品中包含管理的托管公司提供任何具体建议。有一些提供全面管理,还有一些声称但没有提供全面管理的人。(我写了一份关于要问托管公司什么的清单,作为选择托管公司的更大答案的一部分,该公司应该有助于从说话者中剔除实干家)。我工作的公司就是这样做的(而且做得很好,我觉得),但如果 Heroku 不在你的预算之内,我怀疑我们也是。
至于找到“安全性变得更简单”的 VM 映像,那是不存在的(除了在最简单的情况下,您使用无法启动的映像 - 这些往往是相当安全的)。计算机安全不像一个固定的破坏者,它是一个持续的过程,分析你不断变化的需求,进行必要的配置调整,有时说“不,你不能那样做,你会被骗”并工作解决您的问题的其他方法。没有 VM 映像可以为您做到这一点;有大脑和手指工作的人需要持续照顾它。