应用安全SASTIaC【免费下载链接】tfsecTfsec is now part of Trivy项目地址https://gitcode.com/gh_mirrors/tf/tfsec点击查看免费下载本篇指南系统讲解 tfsec 内置检查规则aws-elasticache-enable-in-transit-encryption它用于发现未启用传输加密的 AWS ElastiCache 复制组默认严重级别为 high。读完本文你将掌握该规则的判定逻辑、transit_encryption_enabled参数的正确写法、在 CI 与命令行中落地扫描的方法以及规则 ID含历史编号 AWS036在 tfsec 与 Trivy 迁移中的对应关系。规则概览默认严重级别 high 的传输加密检查在 tfsec 的规则体系中该检查被注册于 AWSelasticache类别下规则全称为aws-elasticache-enable-in-transit-encryption对应的规则列表登记位于 rules.md其描述为 Elasticache Replication Group uses unencrypted traffic.。该规则的默认严重级别为high表示一旦命中通常意味着数据在节点间传输时处于明文状态存在被中间人截获读取的风险。与原文档配套的规则族还包括同目录下的其他 ElastiCache 检查详见 docs/checks/aws/elasticache/index.mdaws-elasticache-enable-at-rest-encryption复制组静态存储数据未加密对应历史编号 AWS035aws-elasticache-enable-backup-retentionRedis 集群未开启备份保留对应历史编号 AWS088aws-elasticache-enable-in-transit-encryption复制组使用未加密流量对应历史编号AWS036aws-elasticache-add-description-for-security-group安全组/规则缺少描述。为什么必须启用传输加密原文档对此给出明确的风险定位ElastiCache 复制节点之间流动的流量应当被加密以保证敏感数据保持私密Traffic flowing between Elasticache replication nodes should be encrypted to ensure sensitive data is kept private。若忽略该要求其直接后果是复制组中的传输中数据一旦被截获即可被直接读取In transit data in the Replication Group could be read if intercepted。实际场景中当aws_elasticache_replication_group承载 Redis 等缓存服务时应用客户端与集群、集群各节点之间的通信都可能携带会话凭证、业务数据等敏感内容。启用传输加密in-transit encryption后这些链路将基于 TLS 保护从而显著降低网络旁路窃听风险。这与静态加密at-rest encryption见同族的aws-elasticache-enable-at-rest-encryption构成完整的两层数据保护体系。判定逻辑与参数解析transit_encryption_enabled规则的判定核心是aws_elasticache_replication_group资源上的transit_encryption_enabled参数。该参数用于声明是否启用复制组的传输加密取值true表示启用、false表示禁用。不安全示例将被判定为 FAIL原文档给出的不安全示例展示了该检查命中失败的典型写法resource aws_elasticache_replication_group bad_example { replication_group_id foo replication_group_description my foo cluster transit_encryption_enabled false }此处transit_encryption_enabled false显式关闭了传输加密tfsec 将命中aws-elasticache-enable-in-transit-encryption并以 high 级别告警。安全示例将判定为 PASS原文档给出的安全示例是合规配置的标准写法resource aws_elasticache_replication_group good_example { replication_group_id foo replication_group_description my foo cluster transit_encryption_enabled true }将transit_encryption_enabled显式置为true后该资源即可通过检查。实践建议在新建复制组时显式声明transit_encryption_enabled true避免依赖隐式默认行为对存量资源应通过变更计划将transit_encryption_enabled从false调整为true。需要注意的是在 AWS ElastiCache 中启用传输加密通常要求客户端同时使用 TLS 连接因此生产切换前需先完成客户端 TLS 适配避免变更后出现连接中断此为原文档链接的 AWS 官方资料所提示的通用运维注意事项实际行为以 AWS 当前文档为准。在 tfsec 中运行与落地该检查该规则随 tfsec 内置规则集分发无需额外下载规则文件。你可以直接对包含上述 Terraform 代码的目录执行扫描更完整的 CLI 用法参见 docs/guides/usage.md 与 README.md# 扫描当前目录下的 Terraform 文件 tfsec . # 仅查看该规则相关结果按规则 ID 过滤输出 tfsec . --filter aws-elasticache-enable-in-transit-encryption在 CI 流水线中建议将扫描结果接入构建门禁一旦出现 high 级别告警即失败构建强制要求transit_encryption_enabled true合入。如需在已有代码库中先记账后整改tfsec 支持通过忽略指令临时豁免单条资源。规则 ID 的迁移映射是此处的关键旧的数字编号规则AWS036已映射到新式短横线命名aws-elasticache-enable-in-transit-encryption该映射表定义在 internal/pkg/legacy/map.go因此历史.tf文件中形如#tfsec:ignore:AWS036的忽略注解依然有效tfsec 会通过InvertedIDs反查机制见 internal/pkg/legacy/map.go将旧 ID 解析到新规则。与此类似规则迁移表 internal/pkg/ignores/migration.go 还记录了更早的规则名重命名映射例如aws-elastic-search-encrypt-replication-group→aws-elasticache-enable-at-rest-encryption升级扫描器版本时无需逐个改写既有忽略注解。规则的注册与文档导航该检查的完整资料链可以从仓库内多处交叉印证规则登记表rules.md 第 33 行收录aws-elasticache-enable-in-transit-encryption明确其 provideraws、serviceelasticache与标题描述历史编号映射internal/pkg/legacy/map.go 将AWS035静态加密、AWS088备份保留、AWS036传输加密统一映射到新式规则 ID保证旧忽略指令兼容文档导航配置mkdocs.yml 将该检查的说明页挂载到 AWS elasticache 分类下对应文档即本篇所依据的 docs/checks/aws/elasticache/enable-in-transit-encryption/index.md规则族索引docs/checks/aws/elasticache/index.md 汇总了 ElastiCache 全部内置检查及摘要描述。底层实现与 Trivy 迁移背景从仓库依赖看当前 tfsec 模块github.com/aquasecurity/tfsec见 go.mod将规则引擎托管在github.com/aquasecurity/defsec v0.84.1见 go.mod因此该规则的解析与执行逻辑实际由 defsec 的 AWS 适配层承载tfsec 仓库内保留的是规则注册表、文档与兼容层。项目仓库的描述也明确指出 Tfsec is now part of Trivy官方迁移指引见 tfsec-to-trivy-migration-guide.md。迁移到 Trivy 后该规则在 AWS 扫描中依然可用且新式规则 IDaws-elasticache-enable-in-transit-encryption保持不变历史数字编号 AWS036 也可继续用于过滤或忽略。小结aws-elasticache-enable-in-transit-encryption是 tfsec 内置的 high 级别 AWS 安全检查聚焦 ElastiCache 复制组的传输加密。修复路径非常简单为aws_elasticache_replication_group设置transit_encryption_enabled true。在工程落地时请同时关注三点在新建资源时显式开启、在存量资源变更前完成客户端 TLS 适配、以及利用#tfsec:ignore:AWS036之类的旧编号注解平滑处理历史存量问题。赞分享应用安全SASTIaC【免费下载链接】tfsecTfsec is now part of Trivy项目地址https://gitcode.com/gh_mirrors/tf/tfsec点击查看免费下载相关推荐tfsec 检查详解aws-ecs-enable-in-transit-encryption——为 ECS 任务定义中的 EFS 卷启用传输中加密tfsec 检查详解aws ecs enable in transit encryption——为 ECS 任务定义中的 EFS 卷启用传输中加密 本篇技术指应用安全SASTIaCtfsec 的 AWS EFS 静态加密检查 aws-efs-enable-at-rest-encryption 完全指南tfsec 的 AWS EFS 静态加密检查 aws efs enable at rest encryption 完全指南 本指南聚焦 tfsec 内置规则库中应用安全SASTIaCtfsec 规则解读强制 AWS ElastiCache 复制组启用静态加密aws-elasticache-enable-at-rest-encryptiontfsec 规则解读强制 AWS ElastiCache 复制组启用静态加密aws elasticache enable at rest encryptio应用安全SASTIaC上一篇Puppeteer中Frame.$eval()与Frame.evaluate()的差异解析下一篇告别崩溃GLFW错误回调全方位指南从异常捕获到日志系统构建创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?