我需要在 ECS Fargate 服务上强制执行“readonlyrootFileSystem”以减少安全中心漏洞。
我认为只需在任务定义中将其设置为 true 即可轻松完成任务。
但它适得其反,因为服务没有部署,因为 dockerfile 中的命令没有执行,因为它们无权访问文件夹,而且这与 ssm 执行命令不兼容,所以我将无法进入容器。
我设法将 readonlyrootFileSystem 设置为 true 并通过安装卷重新启动我的服务。为此,我安装了一个tmp卷,容器使用该卷在启动时安装依赖项,并安装了一个data卷来存储数据(更新)。
因此,现在根据文档,安全中心漏洞应该得到修复,因为规则需要该变量不为 False,但安全中心仍然将任务标记为非投诉。
---更多更新---
我的服务的任务定义还旋转一个用于监控的数据狗图像。它还需要将其文件系统设置为只读以满足安全中心的要求。
在这里我无法像上面那样解决,因为 datadog 代理需要访问/etc/文件夹,如果我在那里安装卷,我将丢失文件并且服务将无法启动。
有办法解决这个问题吗?
有任何想法吗?
最近,我使用AWS Security Hub对我的 AWS 资源进行了安全评估。因此,在AWS 基础安全最佳实践 v1.0.0类别下,有一个失败内容:
EC2 实例不应具有公共 IPv4 地址
如果该实例没有公网IP,如何通过互联网访问该实例?
我想对EC2 实例不应具有公共 IP 地址这一安全最佳实践进行详细解释