应用安全SASTIaC【免费下载链接】tfsecTfsec is now part of Trivy项目地址https://gitcode.com/gh_mirrors/tf/tfsec点击查看免费下载本篇技术指南围绕 tfsec 内置检查项aws-mq-enable-general-logging展开说明该规则针对 AWSaws_mq_broker资源中logs.general配置的判定逻辑、默认严重级别与误报规避方式。读者将掌握如何在 Terraform 中正确开启 MQ Broker 常规日志并能在本地运行 tfsec 验证配置是否通过该检查。检查项概览tfsec 对 AWS MQ 服务共提供三项内置检查本文讨论的是其中的常规日志general logging检查项检查 ID检查名称默认严重级别关联文档aws-mq-enable-general-loggingMQ Broker should have general logging enabledlowenable-general-loggingaws-mq-enable-audit-loggingMQ Broker should have audit logging enabledmediumenable-audit-loggingaws-mq-no-public-accessEnsure MQ Broker is not publicly exposedhighno-public-access上述规则归属信息可从 docs/checks/aws/mq/index.md 一览页确认。其中aws-mq-enable-general-logging的默认严重级别为low属于“默认开启但通常不阻塞发布”的低风险提示类检查。检查项完整信息检查 IDaws-mq-enable-general-logging默认严重级别low适用资源aws_mq_broker核心配置字段logs.general检查逻辑logs.general必须显式设置为true否则判定失败为什么需要常规日志原文档 enable-general-logging/index.md 中给出的核心理由是Logging should be enabled to allow tracing of issues and activity to be investigated more fully. Logs provide additional information and context which is often invaluable during investigation.即日志应保持开启以便在排障时能够更完整地追踪问题与活动日志提供的额外信息和上下文在调查过程中往往价值极高。对 Amazon MQ兼容 ActiveMQ / RabbitMQ 的托管消息代理服务而言general日志对应 broker 运行层面的常规日志输出包含连接、会话、主题/队列操作等运行时活动。开启常规日志的意义主要体现在可观测性出现消息积压、连接异常等问题时可通过日志还原时间线定位根因审计留痕常规日志与 enable-audit-logging 检查项所强调的 audit 日志互补——前者侧重运行活动后者侧重管理操作的审计记录与 CloudWatch Logs 联动启用后日志可投递至 Amazon CloudWatch Logs便于集中检索与告警。可能的影响Possible Impact未开启日志时问题难以追踪排障成本显著上升。建议的修复方式Suggested Resolution在logs块中显式开启general true。不安全示例会触发检查失败原文档给出的失败示例直接复刻如下。该配置中logs.general false将导致aws-mq-enable-general-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 { general false } }从代码结构看该检查主要面向ActiveMQ 引擎示例中engine_type ActiveMQ。在 Amazon MQ 中logs块下的general参数正是用于开启 ActiveMQ broker 的常规日志。如果general缺失或为false都会命中此规则。安全示例通过检查将logs.general显式设置为true即可通过检查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 { general true } }关键字段说明字段位置含义检查期望generallogs块内是否启用 broker 常规运行活动日志必须为trueauditlogs块内是否启用审计日志管理操作记录由aws-mq-enable-audit-logging单独检查publicly_accessible资源顶层是否允许公网访问由aws-mq-no-public-access单独检查注意logs块内general与audit是两个独立参数分别对应 tfsec 中两个独立的检查项。若你的 broker 同时需要满足可观测与审计要求应同时设置general true与audit true参见 enable-audit-logging/index.md。如何运行 tfsec 验证基本用法tfsec 可以直接对当前目录执行扫描详见 docs/guides/usage.mdtfsec .若当前目录下存在上述不安全示例输出中会出现aws-mq-enable-general-logging检查失败项修复为安全示例后再次扫描则该检查不再报出。过滤与排除仅关注 MQ 相关检查tfsec . --filter-results aws-mq-enable-general-logging在 CI 中排除该低危检查不推荐仅在确认风险可接受时使用tfsec . --exclude aws-mq-enable-general-logging通过--minimum-severity提升告警门槛忽略 low 级别tfsec . --minimum-severity medium--minimum-severity支持CRITICAL、HIGH、MEDIUM、LOW四档此命令可将aws-mq-enable-general-logginglow这类低危提示过滤在报告之外但若你的安全基线要求“日志必须开启”仍应保留该检查并使用--include-passed确认配置已合规。输出格式tfsec 支持lovely、json、csv、checkstyle、junit、sarif、text、markdown、html、gif等多种输出格式可通过--format/-f指定例如输出 SARIF 供 GitHub Code Scanning 使用tfsec . -f sarif --out mq-scan.sarif完整参数列表可运行tfsec --help查看详见 docs/guides/usage.md。历史 ID 与迁移tfsec 早期版本使用形如AWS0xx的短编号作为检查 ID。当前仓库的 internal/pkg/legacy/map.go 中记录了新旧 ID 的映射关系例如AWS061→aws-api-gateway-enable-access-loggingAWS059→aws-athena-enable-at-rest-encryption需要说明的是在 internal/pkg/legacy/map.go 与 internal/pkg/ignores/migration.go 的当前版本映射表中并未收录aws-mq-enable-general-logging对应的旧编号条目说明该 MQ 检查项以aws-mq-enable-general-logging这样的长 ID 形式为主。如果你的旧配置文件如.tfsec.json中的 ignore 规则使用了历史短编号可借助 tfsec 的--migrate-ignores参数将 ignore 代码迁移到新的 ID 结构相关说明同样记录于 docs/guides/usage.md。关联检查与最佳实践审计日志logs.audit true对应aws-mq-enable-audit-logging默认 medium详见 enable-audit-logging/index.md公网暴露publicly_accessible false对应aws-mq-no-public-access默认 high详见 no-public-access/index.md完整规则索引AWS 全部服务的检查项索引见 docs/checks/aws/index.mdMQ 服务下所有规则见 docs/checks/aws/mq/index.md。建议在真实项目中同时开启 general 与 audit 日志并结合publicly_accessible false收敛暴露面形成 MQ broker 的“日志 审计 访问控制”三重防护基线。赞分享应用安全SASTIaC【免费下载链接】tfsecTfsec is now part of Trivy项目地址https://gitcode.com/gh_mirrors/tf/tfsec点击查看免费下载相关推荐tfsec 检查项详解AWS MQ Broker 审计日志aws-mq-enable-audit-loggingtfsec 检查项详解AWS MQ Broker 审计日志aws mq enable audit logging 本指南围绕 tfsec 内置检查项 aw应用安全SASTIaCtfsec 检查规则详解启用 AWS ECR 镜像扫描aws-ecr-enable-image-scanstfsec 检查规则详解启用 AWS ECR 镜像扫描aws ecr enable image scans 本篇技术指南围绕 tfsec 内置检查规则 a应用安全SASTIaCtfsec 检查详解为 AWS EMR 集群启用本地磁盘加密aws-emr-enable-local-disk-encryptiontfsec 检查详解为 AWS EMR 集群启用本地磁盘加密aws emr enable local disk encryption 本文是 tfsec应用安全SASTIaC上一篇Navicat试用期重置终极指南3步告别14天限制Mac版无限试用如此简单下一篇B站视频下载的另一种打开方式大会员4K和充电专属一次配置就能离线看创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考