6

我刚刚在亚马逊 EC2 上安装了一个 Fedora linux AMI,来自亚马逊系列。我打算将它连接到 EBS 存储。假设我只做了最基本的步骤,没有更改密码,在这个阶段除了上述之外没有做任何额外的事情。

现在,从这一点开始,我应该采取哪些步骤来阻止黑客并保护我的实例/EBS?

4

3 回答 3

6

在某些时候,您需要创建自己的映像 (AMI)。这样做的原因是,如果您的实例出现故障,您将在现有 AMI 中所做的更改将会丢失(这很容易发生,因为 Amazon 不保证实例将无限期保持活动状态)。即使您确实使用 EBS 进行数据存储,您也需要在每次实例关闭时执行相同的日常任务来配置操作系统。您可能还想在特定时间段内停止并重新启动您的实例,或者在高峰流量启动多个时间段的情况下。

您可以在文档中阅读有关创建图像的一些说明。关于安全性,您需要注意不要暴露您的认证文件和密钥。如果你没有这样做,那么破解者可以使用它们来启动新的实例,这些实例将被收费。值得庆幸的是,该过程非常安全,您只需注意以下几点:

  • 从您信任的图像开始。用户可以创建供所有人使用的公共图像,他们可能会错误地或故意在其中留下安全漏洞,从而使他人窃取您的标识符。从官方的 Amazon AMI 开始,即使它缺少您需要的某些功能,也始终是一个明智的解决方案。
  • 在创建映像的过程中,您需要在运行的实例中上传您的证书。将它们上传到未捆绑在图像中的位置(/mnt 或 /tmp)。将它们留在图像中是不安全的,因为您将来可能需要共享您的图像。即使您从未计划这样做,黑客也可能利用您使用的软件(操作系统、Web 服务器、框架)中的安全漏洞来获取您正在运行的实例的访问权限并窃取您的凭据。
  • 如果您计划创建一个公共映像,请确保您没有在其中留下任何密钥/标识的痕迹(例如在 shell 的命令历史记录中)。
于 2011-01-10T08:54:09.147 回答
6

实际上,这里与保护任何其他 Linux 服务器没有什么不同。

于 2011-01-10T03:26:12.033 回答
4

我们在工作中所做的是确保只能使用私钥访问服务器,无需密码。我们还禁用了 ping,这样任何 ping 服务器的人都不太可能找到我们的服务器。此外,我们阻止了端口 22 访问我们网络 IP 之外的任何内容,除了一些可能需要在周末在家访问的 IT 人员。所有其他非必要端口都被封锁。

如果您有多个 EC2 实例,我建议您找到一种方法来确保服务器之间的互通是安全的。例如,您不希望服务器 B 也因为服务器 A 被入侵而被黑客入侵。可能有一种方法可以阻止从一台服务器到另一台服务器的 SSH 访问,但我个人没有这样做。

使保护 EC2 实例比内部服务器更具挑战性的原因是缺少企业防火墙。相反,您完全依赖亚马逊为您提供的工具。当我们的服务器在内部时,有些甚至没有暴露在互联网上,只能在网络内访问,因为服务器没有公共 IP 地址。

于 2011-01-16T10:05:31.480 回答