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