我有一个我想要构建和启动的网站创意,我正在考虑使用一个小型 VPS 来托管它(我喜欢 Linode,因为它们的价格,而且它们似乎被广泛推荐)。我已经破产了,所以我买不起托管服务器。
我下载了 Ubuntu Lucid Server 并将其运行在 VirtualBox 中,以帮助我学习并充当最终生产服务器的近似值。我致力于学习,但我很害怕我会错过一些愚蠢的东西并受到损害。因此,我想知道有什么好的指南/书籍解释了保护 LAMP 服务器的要点。
我已经完成了 Linode 和 Slicehost 各自教程中的基本内容,但我想尽可能做好准备。该站点尚未编写,我可能会首先部署到共享主机作为试运行,因此我至少有时间学习基础知识。
我知道要保持所有内容都是最新的,将 iptables 配置为只允许我需要的漏洞(对于 ssh/scp/sftp,它似乎只是 TCP 端口 22 - 我将从默认端口更改它以用于(非常小)安全性通过默默无闻的奖金 - 和 http 的 80) - 尽管我对一些说阻止 ICMP 的教程感到困惑,因为我不知道为什么我不想响应 ping - 并且只安装我需要的软件/删除我不需要的软件不需要。
由于您已经在使用 Ubuntu,我推荐他们的Server Guide,它提供了一组常见默认服务的基本概述。
也可以看看O'Reilly 的Linux Server Security。实际上,只需在亚马逊上搜索相当多的产品即可。
谷歌搜索服务器强化清单似乎返回了一些好的、实用的方法,可以快速确定您的设置是否存在明显错误。
最后,前往serverfault的安全部分并询问。
编辑:此外,应该根据消息阻止 ICMP。有关详细信息,请参阅ICMP 数据包过滤。
建议阅读(主要是)权威和信誉良好的美国来源:
您还应该阅读操作系统手册中的小字体警告。
这只是部分答案,但我写了一个 IPtables 教程,可能对您有用。 http://www.ellipsix.net/geninfo/firewall/index.html
除了 IPtables 之外,您还需要配置 SSH 和 Apache,但它们的默认配置已经很安全,因此您可能只需要更改几件事。当然,当您向网站添加更多功能时,您必须相应地保持配置最新。其他人可能可以推荐一些好的参考资料。
事实上,我将制作这个社区维基,以便如果其他人想要添加链接,他们可以这样做。