应用安全SASTIaC【免费下载链接】tfsecTfsec is now part of Trivy项目地址https://gitcode.com/gh_mirrors/tf/tfsec点击查看免费下载本文围绕 tfsec 的 AWS Elasticsearch 安全检查规则aws-elastic-search-use-secure-tls-policy展开讲解该规则如何检测 Elasticsearch 域名端点是否使用了过时的 TLS 策略并给出可复制的 Terraform 配置示例、规则背后的源码依据与使用注意事项。读者读完可以掌握该规则的含义、修复方式、在 tfsec / Trivy 中的实际运行效果以及如何避免误报。规则概述aws-elastic-search-use-secure-tls-policy是 tfsec 内置的 AWS 安全检查之一归属于elastic-search服务分组用于检测Elasticsearch 域名端点是否使用了过时/不安全的 TLS 版本。规则短码Short Codeaws-elastic-search-use-secure-tls-policy默认严重级别high高所属服务elastic-search所属 Provideraws在仓库的 rules.md 中该规则被登记为| aws-elastic-search-use-secure-tls-policy | aws | elastic-search | Elasticsearch domain endpoint is using outdated TLS policy. |在旧版兼容映射表 internal/pkg/legacy/map.go 中该规则还保留了一个历史编号AWS034方便从旧版 tfsec 的编号式结果迁移到新的短码命名体系。为什么需要关注 TLS 策略核心问题Elasticsearch 域名端点在启用 HTTPS 后加密强度还取决于所采用的TLS 安全策略TLS security policy。如果策略允许 TLS 1.0 这类已不再安全的协议版本攻击者可以利用已知的协议级漏洞如 BEAST、POODLE 等发起降级或中间人攻击。规则判定非常简单你不应使用过时/不安全的 TLS 版本应当使用 TLS v1.2 及以上版本。可能的影响过时的 SSL 策略会扩大已知漏洞的暴露面原文描述Outdated SSL policies increase exposure to known vulnerabilities加密强度不足HTTPS 形同虚设数据传输链路存在被窃听与篡改风险难以满足合规审计如 PCI DSS、SOC 2对传输加密的最低要求。建议的修复方向使用当前可用的最新 TLS/SSL 策略在 AWS Elasticsearch 中将domain_endpoint_options.tls_security_policy设置为Policy-Min-TLS-1-2-2019-07这类强制 TLS 1.2 的策略。不安全的配置示例会触发告警以下 Terraform 配置会失败aws-elastic-search-use-secure-tls-policy检查resource aws_elasticsearch_domain bad_example { domain_name domain-foo domain_endpoint_options { enforce_https true tls_security_policy Policy-Min-TLS-1-0-2019-07 } }问题出在tls_security_policy Policy-Min-TLS-1-0-2019-07该策略允许最低 TLS 1.0 版本属于过时策略即使enforce_https true已强制 HTTPS链路加密强度依然不达标。安全的配置示例可通过检查将tls_security_policy调整为强制 TLS 1.2 的策略后即可通过该检查resource aws_elasticsearch_domain good_example { domain_name domain-foo domain_endpoint_options { enforce_https true tls_security_policy Policy-Min-TLS-1-2-2019-07 } }这里的关键改动只有一行Policy-Min-TLS-1-0-2019-07→Policy-Min-TLS-1-2-2019-07。实际生产环境建议同时配合该服务分组下的其他规则一起加固见下文关联检查。规则在 tfsec 中的定位与关联检查同一服务分组下的检查aws-elastic-search-use-secure-tls-policy只是 Elasticsearch 安全检查的其中一环。从 docs/checks/aws/elastic-search/index.md 可以看到tfsec 对 AWS Elasticsearch 还提供以下检查建议组合使用检查短码检查内容aws-elastic-search-enable-domain-encryptionElasticsearch 域名未启用静态加密aws-elastic-search-enable-domain-loggingElasticsearch 域名应启用日志记录aws-elastic-search-enable-in-transit-encryptionElasticsearch 域名节点间通信使用明文流量aws-elastic-search-enforce-httpsElasticsearch 未强制 HTTPS 流量aws-elastic-search-use-secure-tls-policyElasticsearch 域名端点使用过时的 TLS 策略传输加密相关的三条规则enforce-https、enable-in-transit-encryption、use-secure-tls-policy正好构成链路加密的完整防线既要强制 HTTPS也要确保节点间通信加密还要使用现代 TLS 策略。检查文档的生成机制该规则对应的 Markdown 文档由 tfsec 的文档生成器从规则元数据自动渲染而来。在 cmd/tfsec-docs/webpage.go 中定义了baseWebPageTemplate模板其中包含Explanation解释、Impact影响、Resolution修复建议、BadExample不安全示例、GoodExample安全示例等字段最终生成形如本文所引用页面的结构docs/checks/aws/elastic-search/use-secure-tls-policy/index.md当前规则页面该页面在 mkdocs.yml 中被挂载到站点导航也就是说本文介绍的严重级别、示例代码等事实均来自仓库中真实的规则元数据而非推测。如何运行该检查直接使用 tfsec 扫描在包含上述 Terraform 代码的目录下运行tfsec 目录路径命中规则后tfsec 会输出包含aws-elastic-search-use-secure-tls-policy短码的高严重级别告警并展示对应资源的文件与行号。使用 Trivy 扫描tfsec 现已并入 Trivy 家族见仓库根目录的 tfsec-to-trivy-migration-guide.md同一套 misconfiguration 策略在 Trivy 中以内置策略形式提供。对应的迁移对照# 原 tfsec 方式 tfsec dir # 迁移后的 Trivy 方式 trivy config dir在 Trivy 中扫描 Terraform 时同一规则逻辑依然生效告警的严重级别与修复建议保持一致只是输出的 ID 命名体系以 Trivy 的格式呈现。自定义策略与忽略如果确实存在必须保留 TLS 1.0 兼容的例外场景例如对接老旧的客户端可以在代码中为对应资源添加 tfsec 忽略注释或通过 tfsec 的配置文件指定忽略规则避免误报干扰 CI 流程。仓库中关于忽略机制的说明可参考 docs/guides/configuration/ignores.md。实战建议优先选择 TLS 1.2 及以上AWS Elasticsearch 域名端点应统一使用Policy-Min-TLS-1-2-2019-07组合加固不要只修 TLS 策略同步满足enforce-https、enable-in-transit-encryption、enable-domain-encryption等关联规则纳入 CI将 tfsec或 Trivy config扫描作为 Terraform 代码合并前的门禁把high级别告警设为阻断项核对策略名称tls_security_policy取值必须与 AWS Elasticsearch 服务支持的策略名完全一致如Policy-Min-TLS-1-2-2019-07拼写错误会导致terraform apply阶段报错而非在扫描阶段被发现。小结aws-elastic-search-use-secure-tls-policy通过检查aws_elasticsearch_domain资源中domain_endpoint_options.tls_security_policy的取值阻止用户使用 TLS 1.0 等过时策略。修复方式简单明确将策略升级为Policy-Min-TLS-1-2-2019-07。结合仓库中 rules.md 的规则登记、internal/pkg/legacy/map.go 的旧 ID 映射AWS034以及 cmd/tfsec-docs/webpage.go 的文档生成机制可以完整追溯该规则的来源、命名与输出形态便于在 CI/CD 与合规审计中精准落实传输加密要求。赞分享应用安全SASTIaC【免费下载链接】tfsecTfsec is now part of Trivy项目地址https://gitcode.com/gh_mirrors/tf/tfsec点击查看免费下载相关推荐tfsec 规则深度解析强制 AWS Elasticsearch 域启用 HTTPSaws-elastic-search-enforce-httpstfsec 规则深度解析强制 AWS Elasticsearch 域启用 HTTPSaws elastic search enforce https 本篇应用安全SASTIaCtfsec 静态检查实战为 AWS Elasticsearch 域启用静态加密aws-elastic-search-enable-domain-encryptiontfsec 静态检查实战为 AWS Elasticsearch 域启用静态加密aws elastic search enable domain encryp应用安全SASTIaCNanobot OpenAI 兼容 API 完整指南用 /v1/chat/completions 把本地 Agent 接入任何应用Nanobot OpenAI 兼容 API 完整指南用 /v1/chat/completions 把本地 Agent 接入任何应用 Nanobot 内置了一套应用安全SASTIaC上一篇TypeGraphQL配置热重载开发环境的配置自动更新下一篇BepInEx IL2CPP 启动闪退排查指南4 类日志信号让游戏 10 分钟回到主菜单创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考