假设我全新安装了 Ubuntu,我应该采取什么步骤来确保它的安全,以便将其用作 Rails 应用服务器?
答案1
我想不出任何针对 Ubuntu 的调整,但这里有一些适用于所有发行版的调整:
- 卸载所有不需要的软件包
- 在 SSH 中使用仅公钥身份验证
- 禁用通过 SSH 进行 root 登录(不适用于 Ubuntu)
- 使用 PHP 的生产设置(php.ini-recommended)
- 配置 MySQL 仅使用套接字
当然,这个列表并不完整,你也永远不会完全安全,但它涵盖了所有的漏洞我在现实生活中见过。
此外,我所看到的漏洞几乎总是与不安全的用户代码有关,而不是与不安全的配置有关。最小服务器发行版中的默认配置往往非常安全。
答案2
我早期做的一件快速的事情就是安装拒绝主机它会定期查看 /var/log/secure,查找失败的登录,并在几次失败后阻止 IP。我将其设置为在第一次没有这样的用户后、第二次尝试 root 时以及在几次尝试真实用户后阻止(以防万一你搞砸了,但你应该使用 SSH 公钥登录)。
答案3
Ubuntu 是基于 Debian 的,我发现安全 Debian 手册在基于 Debian 的发行版中非常有用,可以全面指导您了解系统并检查每个部分。这基本上是对您的问题的非常非常全面的回答。
答案4
安装 logcheck,但进行调整以便您永远不会收到来自常规事件的消息,否则您将养成忽略电子邮件的习惯。
使用 netstat 检查哪些进程正在监听,并确保没有运行任何不需要运行的进程。许多守护进程可以配置为仅监听内部 IP(或本地主机),而不是所有接口。