应用安全SASTIaC【免费下载链接】tfsecTfsec is now part of Trivy项目地址https://gitcode.com/gh_mirrors/tf/tfsec点击查看免费下载本指南围绕 tfsec 内置检查项aws-mq-enable-audit-logging展开说明该规则为何要求为 Amazon MQ Broker 开启logs.audit审计日志、未开启会带来哪些安全与可观测性风险并给出可直接复制使用的 Terraform 不安全/安全示例、如何运行 tfsec 验证、如何按需忽略该规则以及该规则在检查体系中的定位。读完本文你将能在自己的 Terraform 代码中正确开启 MQ Broker 审计日志并通过 tfsec 完成静态扫描验证。规则概述aws-mq-enable-audit-logging是 tfsec 针对 AWS 服务类别mq提供的内置检查项之一其完整规则 ID 为aws-mq-enable-audit-logging标题为 MQ Broker should have audit logging enabledMQ Broker 应启用审计日志。默认严重级别该规则的默认严重级别为MEDIUM中危。在 docs/checks/aws/mq/enable-audit-logging/index.md 中通过span classseverity mediummedium/span标记。实际运行时你可以通过--minimum-severity参数改变报告门槛例如只报告 HIGH 及以上时该中危问题默认不会出现在结果中详见下文“运行与验证”一节。检查原理为什么必须开启审计日志该规则的核心诉求是Amazon MQ Broker 必须开启审计日志audit logging。原因在于日志是排查问题与追踪活动的第一手证据。开启日志后操作者可以在出现安全事件、异常访问或配置变更时回溯 broker 上的实际行为未开启审计日志时很难追踪 MQ broker 上的活动轨迹安全调查与故障排查都会因此受限审计日志记录了管理操作与访问行为是满足合规审计要求的基础能力。需要说明的是规则关注的是aws_mq_broker资源中logs块内的audit布尔属性。当该属性缺失或显式设置为false时检查会判定为失败设置为true时则通过。不安全的 Terraform 示例将失败以下配置演示了未开启审计日志的写法tfsec 会判定其未通过aws-mq-enable-audit-logging检查resource aws_mq_broker bad_example { broker_name example configuration { id aws_mq_configuration.test.id revision aws_mq_configuration.test.latest_revision } engine_type ActiveMQ engine_version 5.15.0 host_instance_type mq.t2.micro security_groups [aws_security_group.test.id] user { username ExampleUser password MindTheGap } logs { audit false } }示例中logs { audit false }显式关闭了审计日志这正是触发该规则的根本原因。安全的 Terraform 示例将通过修复方式非常简单将logs块中的audit设置为true即可。以下配置会通过aws-mq-enable-audit-logging检查resource aws_mq_broker good_example { broker_name example configuration { id aws_mq_configuration.test.id revision aws_mq_configuration.test.latest_revision } engine_type ActiveMQ engine_version 5.15.0 host_instance_type mq.t2.micro security_groups [aws_security_group.test.id] user { username ExampleUser password MindTheGap } logs { audit true } }对比两个示例可以看出规则检查的核心差异只有一个属性logs.audit由false改为true。在实际生产代码中建议同时为 broker 配置 enable-general-logging常规日志 与 no-public-access禁止公网访问 等配套检查项共同提升 MQ Broker 的可观测性与安全性。运行与验证将上述示例保存为.tf文件后在对应目录直接运行 tfsec 即可完成扫描tfsec .若 tfsec 发现aws-mq-enable-audit-logging问题输出中会包含该规则的 ID、严重级别MEDIUM、命中位置行号与代码片段并以非零退出码结束若代码已开启审计日志tfsec 正常退出退出码为 0。如需让通过项也出现在输出中可加--include-passed参数。常用相关参数完整参数表见 docs/guides/usage.md参数说明-m/--minimum-severity报告的最低严重级别可选CRITICAL、HIGH、MEDIUM、LOW。设为HIGH时本中危规则将不再报告--filter-results只返回指定规则的检查结果支持逗号分隔例如--filter-resultsaws-mq-enable-audit-logging--include-passed将通过的检查也一并输出便于核对规则是否真正生效-s/--soft-fail执行检查但不以非零码退出适合在 CI 中先收集问题而不打断流水线参数定义可在源码 internal/app/tfsec/cmd/flags.go 中核实。该规则本身由 tfsec 依赖的 defsec 规则库提供注册文档页面则由 cmd/tfsec-docs/webpage.go 中的模板自动生成模板会从规则的Explanation、Impact、Resolution、BadExamples、GoodExamples与Links字段渲染出“说明 / 影响 / 修复建议 / 不安全示例 / 安全示例 / 参考链接”结构。如何在 CI 或本地按需忽略该规则如果你在特定场景下无法立即开启审计日志可以通过 tfsec 的忽略机制临时跳过该检查完整用法见 docs/guides/configuration/ignores.md在触发问题的行尾追加注释logs { audit false #tfsec:ignore:aws-mq-enable-audit-logging }或将忽略注释单独放在问题行上方logs { #tfsec:ignore:aws-mq-enable-audit-logging audit false }若希望忽略在指定日期后自动失效可追加:exp:yyyy-mm-dd#tfsec:ignore:aws-mq-enable-audit-logging:exp:2026-01-01 logs { audit false }注意忽略仅应在确有合理理由时使用并建议设置过期时间避免安全项被永久搁置。规则在 tfsec 检查体系中的定位aws-mq-enable-audit-logging归属于 AWSmq服务类别的三个检查项之一同一类别还包含enable-audit-loggingMQ Broker 应启用审计日志MEDIUM即本文主题enable-general-loggingMQ Broker 应启用常规日志LOWno-public-access确保 MQ Broker 不对公网暴露HIGH。三个检查项分别从“审计可追溯”“运行可观测”“网络可达性”三个角度覆盖 Amazon MQ 的安全基线入口索引见 docs/checks/aws/mq/index.md在文档站导航中的位置定义于 mkdocs.yml。总结aws-mq-enable-audit-logging要求aws_mq_broker开启审计日志logs.audit true默认严重级别为 MEDIUM未开启审计日志将导致 MQ Broker 的活动难以追踪影响安全调查与故障排查修复只需一行改动将logs { audit false }改为logs { audit true }可通过tfsec .快速验证配合--filter-results、--include-passed、--minimum-severity等参数精准控制报告必要时用tfsec:ignore注释临时豁免并设置过期时间建议与 MQ 类别下的常规日志、公网访问控制检查项配套使用形成完整的 Amazon MQ 安全基线。如需深入了解 tfsec 的安装、参数与配置可继续阅读仓库中的 docs/guides/quickstart.md、docs/guides/usage.md 与 docs/guides/configuration/config.md。赞分享应用安全SASTIaC【免费下载链接】tfsecTfsec is now part of Trivy项目地址https://gitcode.com/gh_mirrors/tf/tfsec点击查看免费下载相关推荐Nanobot OpenAI 兼容 API 完整指南用 /v1/chat/completions 把本地 Agent 接入任何应用Nanobot OpenAI 兼容 API 完整指南用 /v1/chat/completions 把本地 Agent 接入任何应用 Nanobot 内置了一套应用安全SASTIaCtfsec AWS Kinesis 检查详解Kinesis 流传输加密aws-kinesis-enable-in-transit-encryptiontfsec AWS Kinesis 检查详解Kinesis 流传输加密aws kinesis enable in transit encryption 本应用安全SASTIaCtfsec 检查规则详解启用 AWS ECR 镜像扫描aws-ecr-enable-image-scanstfsec 检查规则详解启用 AWS ECR 镜像扫描aws ecr enable image scans 本篇技术指南围绕 tfsec 内置检查规则 a应用安全SASTIaC上一篇Bilibili-Evolved 视频缩放组件播放器画面显示比例自定义配置全解析下一篇BFE mod_unified_waf 统一 WAF 接入实战基于 BFE Mock WAF Server 的完整配置与检测流程解析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?