2

我正在寻找启动一个 linux EC2 实例。

尽管我非常了解 linux,但我安全/强化 linux 操作系统的能力无疑会让我容易受到附加。例如:还有其他人比我更了解 linux 安全性。

我希望只运行 Linux、Apache 和 PHP5。

是否有任何推荐的 Amazon AMI 可以预先硬化运行 linux/apache/php 或类似的东西?

任何建议将不胜感激。

谢谢你

4

4 回答 4

3

这是一篇关于这个的旧文章(我还没有读过,但它可能是一个很好的起点): http: //media.amazonwebservices.com/Whitepaper_Security_Best_Practices_2010.pdf

我会推荐一些最佳实践

1)迁移到VPC,控制入站和出站访问。

2a) 在 SSH 中禁用密码验证,只允许来自已知 IP 的 SSH

2b) 如果您不能通过 IP 限制 SSH 访问(由于漫游等),请允许密码身份验证并使用 google 身份验证器提供多因素身份验证。

3) 在所有面向公众的网站前放置一个弹性负载均衡器,并禁止对这些服务器的访问,除了 ELB

4) 创建一个中央日志服务器,将您的日志保存在不同的位置以防受到攻击。

5) 每 3 个月更改一次所有系统密码

6) 使用 IDS,作为一个简单的起点,我建议使用tripwire。

7) 定期检查更新(您可以使用像 Nagios w/NRPE 这样的监控系统在所有服务器上执行此操作)如果您不是安全专家,您可能没有时间整天阅读 bugtraq,所以使用您的操作系统提供的服务(CentOS/RHEL 很好)

8) 定期(每季度)进行外部脆弱性评估。您可以自己学习和使用 nessus(用于非企业用途)或使用第三方,例如 qualys。

如果您担心或有疑问,请与安全专家签约进行审计。这不应该成本过高,并且可以为您提供一些深刻的见解。

于 2012-09-15T03:48:08.187 回答
1

你必须明白两件事:

  • 严密的安全性使攻击者和您的生活变得艰难......
  • 安全是一项持续的任务。
    让您的服务器在特定时间点保持安全不要说任何关于未来的事情。
    每天都有新的漏洞和补丁发布,大量的“开发”行为导致安全不稳定。

解决方案?
您可能会考虑像https://pagodabox.com/
这样的服务,您可以 在其中获取特定的 PHP 资源,而无需管理 Linux/Security 等等......


编辑:
只是为了同情......
运行生产系统,您负责网站的持续安全性,迫使您做的不仅仅是启动一个安全实例
否则,随着时间的流逝,您的站点将变得不那么安全(并且随着更多人的了解)
正如我所看到的(对于真正的生产站点),您有两个选择

  • 找一位安全专家(内部或自由职业者)定期检查您的网站并应用所需的补丁等。
  • 获取将为您管理安全方面的托管服务。
    我指出了一项类似的服务,您可以将 PHP 代码放入其中,他们会为您处理其他所有事情。
    我会为每个无法获得真正定期安全检查/修复的生产站点检查此类服务

安全是一个非常复杂的领域...不要低估风险...

于 2012-09-14T05:05:17.820 回答
1

实际上,如果发生了什么事,您总是可以从预先配置的 AMI 重新启动您的服务器。例如,使用Auto Scaling可以很容易地做到这一点。使用没有密码的 SSH。相应地调整您的安全组这是关于保护您的 EC2 实例的好文章。

于 2012-09-14T05:26:47.437 回答
0

我最喜欢使用 Amazon 的一件事是我可以快速轻松地限制我的攻击面。我在这里做了一个优先列表。接近尾声时,它变得有点先进。

  • 在 VPC 中启动
  • 将您的网络服务器放在负载均衡器 ELB 或 ALB 后面(也终止 SSL)
  • 只允许来自负载均衡器的网络流量
  • 创建限制性安全组。唯一允许进入您的主机的内容应该是来自负载均衡器的传入流量和来自您的 IP 的 ssh(如果您的 ISP 不提供静态地址,则为您的 dhcp 子网)
  • 启用自动安全更新
    • yum-cron (amazon linux)
    • 或无人值守升级(ubuntu)
  • 强化 ssh
    • 禁止 root 登录和默认亚马逊帐户
    • 禁止密码登录以支持 ssh 密钥
  • 使用 2fa 和长密码锁定您的 aws root 帐户。
  • 为日常操作创建和使用 IAM 凭证
  • 如果您有数据层,请部署加密的 RDS 并将其放在私有子网中
  • 探索使用 IAM 凭证连接到 RDS(不再将 db 密码保存在 conf 文件中)
  • 查看 yubikey 的 2fa ssh。

高级:对于更大或更重要的部署,您可能会考虑使用 ThreatStack 之类的东西。他们可以警告您 AWS 错误配置(包含向世界开放的客户数据的 s3 存储桶?),您主机上的包中的安全漏洞。他们还会对入侵信号发出警报,并保留对调查安全事件很有用的命令日志。

于 2017-09-16T01:06:16.050 回答