关于 alibabacloud-ddoscoo-intercept-query
用于排查 Alibaba Cloud DDoS Pro 拦截事件的 Agent Skill,通过 SLS 全量日志按 Request ID 查询,并分析规则、生成报告和建议。
主要功能
- 01发现 DDoS Pro 实例和域名
- 02检查 SLS 与全量日志配置
- 03按 Request ID 查询拦截日志
- 04分析规则并生成报告
- 05脱敏日志中的敏感数据
适用场景
- 01排查 DDoS Pro 拦截页面
- 02通过 Request ID 追踪请求
- 03检查全量日志是否已启用
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ aliyun/ alibabacloud-aiops-skills --skill alibabacloud-ddoscoo-intercept-query安装后在 Claude Code 中输入/alibabacloud-ddoscoo-intercept-query确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/acceptance-criteria.mdcli-installation-guide.mdcommon-block-reasons.mddomain-security-policy.mdram-policies.mdrelated-commands.mdrule-config-details.mdrule-operations.mdverification-method.mdscripts/get_ddos_logs.py详细介绍
DDoS Pro(Anti-DDoS Pro)拦截查询
场景描述
使用 SLS 全量日志和 ddoscoo CLI 命令查询并分析 DDoS Pro(ddoscoo)拦截事件。当用户报告被 DDoS Pro 拦截或遇到拦截页面时,此技能会发现 DDoS 实例、检查全量日志配置、按 Request ID 查询 SLS 日志、获取规则详情,并输出包含建议的结构化分析报告。
架构:DDoS Pro Instance → Full Log (SLS) → Log Query → Rule Analysis → Report
安装
预检查:需要 Aliyun CLI >= 3.3.3
运行
aliyun version验证版本是否 >= 3.3.3。如果尚未安装或版本过低, 请参阅 references/cli-installation-guide.md 获取安装说明。
预检查:需要更新 Aliyun CLI 插件
[MUST] 运行
aliyun configure set --auto-plugin-install true以启用自动安装插件。 [MUST] 运行aliyun plugin update,确保所有现有插件始终保持最新。
预检查:AI-Mode 生命周期
在核心工作流开始时(调用任何 CLI 命令之前): [MUST] 启用 AI-Mode — Agent 技能执行需要 AI-mode。 调用任何 CLI 命令之前,运行以下命令:
aliyun configure ai-mode enable aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query"[MUST] 在每个退出点禁用 AI-Mode — 无论出于何种原因(工作流成功、失败、出错、用户取消或会话结束),在发送最终回复之前,务必先禁用 AI-mode。AI-mode 仅用于 Agent 技能调用场景,技能停止运行后不得继续保持启用状态。
aliyun configure ai-mode disable
预检查:需要 SLS CLI 插件
[MUST] 在执行任何日志查询操作之前安装 SLS CLI 插件:
aliyun component install sls验证插件是否可用:
aliyun sls --help如果
aliyun component install不可用,请使用旧版命令:aliyun plugin install --names aliyun-cli-sls
环境变量
无需其他环境变量。身份验证通过 Aliyun CLI 凭证链处理。
身份验证
预检查:需要 Alibaba Cloud 凭证
安全规则:
- 绝不可读取、回显或打印 AK/SK 值(例如,禁止运行
echo $ALIBABA_CLOUD_ACCESS_KEY_ID)- 绝不可要求用户在对话或命令行中直接输入 AK/SK
- 绝不可使用
aliyun configure set和明文凭证值- 只能使用
aliyun configure list检查凭证状态aliyun configure list检查输出中是否存在有效配置文件(AK、STS 或 OAuth 身份)。
如果不存在有效配置文件,请在此处停止。
- 从 Alibaba Cloud Console 获取凭证
- 在此会话之外配置凭证(在终端中运行
aliyun configure,或在 shell 配置文件中设置环境变量)- 返回并重新运行;
aliyun configure list显示有效配置文件后再继续关于 401 Unauthorized 错误的说明:出现
401 The security token has expired错误表示 STS 临时凭证已过期,并非 RAM 权限问题。请用户在此会话之外通过aliyun configure刷新凭证,然后重试。
RAM 策略
完整的必需权限列表请参阅 references/ram-policies.md。
[MUST] 权限失败处理: 执行期间,任何命令或 API 调用因权限错误而失败时,请遵循以下流程:
- 阅读
references/ram-policies.md,获取此 SKILL 所需的完整权限列表- 使用
ram-permission-diagnoseskill 引导用户申请所需权限- 暂停操作,等待用户确认已授予所需权限
参数确认
重要提示:参数确认 — 执行任何命令或 API 调用之前, 必须与用户确认所有可由用户自定义的参数(例如 RegionId、实例名称、CIDR 块、 密码、域名、资源规格等)。未经用户明确批准,不得假设或使用默认值。
| 参数名称 | 必需/可选 | 说明 | 默认值 |
|---|---|---|---|
| Request ID | 必需 | DDoS Pro 拦截响应页面中的 traceid | 无 |
| Domain | 可选 | 在 DDoS Pro 中配置的网站域名(未提供时自动发现) | 自动发现 |
| DDoS Instance ID | 可选 | DDoS Pro 实例 ID(未提供时自动发现) | 自动发现 |
| SLS Project | 可选 | SLS Project 名称(未提供时自动发现) | 自动发现 |
| SLS Logstore | 可选 | SLS Logstore 名称(未提供时自动发现) | 自动发现 |
| RegionId | 可选 | DDoS Pro 区域:cn-hangzhou(中国大陆)或 ap-southeast-1(国际) | cn-hangzhou |
核心工作流
[MUST] 必需的 API 调用顺序 — 每次调用此 skill 时,必须按顺序执行以下 API 调用。即使你认为已提前知道结果,也不得跳过任何步骤:
- 步骤 2a →
ddoscoo DescribeInstances(两个区域)+ 如果域名未知:仅用于发现域名的DescribeWebAccessLogDispatchStatus- 步骤 2b →
ddoscoo DescribeSlsOpenStatus+DescribeLogStoreExistStatus+DescribeSlsLogstoreInfo- 步骤 2c → 仅调用
ddoscoo DescribeWebAccessLogStatus(域名必须由用户提供或通过步骤 2a 获取;此处不允许调用DescribeWebAccessLogDispatchStatus)- 步骤 3 →
sls GetLogs(按 Request ID 查询拦截日志)- 步骤 5 → 输出分析报告
[MUST] User-Agent 标头 — 此 skill 中的每个
aliyunCLI 命令都必须包含--header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query,以标识调用方。
[MUST] 敏感数据脱敏 — 全局规则,贯穿所有输出 — 以下规则适用于整个工作流的所有输出,包括最终报告、中间分析、日志引用和补充说明中的任何段落;不得在任何位置还原已脱敏的数据:
- 客户端 IP:仅保留第一段,其余部分用
*替代。适用于所有输出格式(JSON 字段和纯文本段落均须脱敏):
- 纯文本段落:
140.205.11.30→140.*.*.*;“来自 IP 140.205.11.30 的请求” → “来自 IP 140...* 的请求”- JSON 字段引用:
"real_client_ip": "140.205.11.30"→"real_client_ip": "140.*.*.*"- Cookie / Authorization / Token:整个值替换为
[MASKED],包括引用原始日志字段时- 查询参数:所有参数值替换为
***。示例:?token=abc&name=test→?token=***&name=***- User-Agent 字符串:截取前 32 个字符
步骤 1:信息收集
向用户确认 Request ID(traceid)。引导用户通过以下方式获取:
- 浏览器中显示的拦截页面(会直接显示 Request ID)
- DDoS Pro 拦截响应的 HTML 正文(包含 traceid)
如果用户知道被拦截的网站,也可以收集其域名。
步骤 2:发现 DDoS Pro 实例并验证完整日志服务
Step 2a:发现 DDoS Pro 实例和受保护的域名
# Query DDoS Pro instances (API endpoint region: cn-hangzhou for China, ap-southeast-1 for International)
aliyun ddoscoo describe-instances --page-number 1 --page-size 50 --region cn-hangzhou --header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query
aliyun ddoscoo describe-instances --page-number 1 --page-size 50 --region ap-southeast-1 --header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query
[MUST] 实例发现验证 — 调用
describe-instances后,检查响应:
- 如果
Instances是非空数组 → 记录实例并继续执行 Step 2b。- 如果某个地域的
Instances为空([])→ 先重试另一个地域,再继续。- 如果两个地域返回的结果都为空 → 停止并告知用户:“此账号下未找到 DDoS Pro 实例。请验证凭据和地域。”
- 如果
describe-instances未返回任何结果,请勿继续执行 Step 2b 或后续步骤。 实例列表为空意味着后续的 SLS 和日志查询也会失败,继续执行将生成空报告或错误报告。
[MUST] 域名发现 — Step 2c 需要已知域名才能调用
describe-web-access-log-status。如果用户在消息中没有提供域名,请在继续之前于此处的 Step 2a 中发现域名:# 发现所有受保护的域名(仅用于发现域名——请勿使用此响应中的日志状态) aliyun ddoscoo describe-web-access-log-dispatch-status --page-number 1 --page-size 10 --region <region-id> --header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query从响应中提取域名并记录下来。此 API 仅用于发现域名,不用于检查日志状态。实际的日志状态检查会在 Step 2c 中使用
describe-web-access-log-status进行。
[MUST] 国际地域 API 错误恢复:如果任何
ap-southeast-1API 调用返回InvalidRosettaRegionId、400 Bad Request或类似的地域级错误:
- 请勿放弃工作流——继续使用可用数据
- 对于 SLS 相关操作:国际版 DDoS Pro 的 SLS 项目通常托管在
cn-hangzhou(而非ap-southeast-1),项目名称类似ddosdip-project-<uid>-ap-southeast-1。始终将cn-hangzhou作为 SLS 地域尝试。- 对于规则查询 API(例如
describe-web-precise-access-rule、describe-l7-global-rule):如果ap-southeast-1调用失败,请使用cn-hangzhou端点重试相同的 API 调用- [MUST] 切勿因地域 API 错误而跳过用户请求的查询步骤——在报告失败前,务必先尝试通过备用地域恢复
Step 2b:检查 SLS 和完整日志状态
首先检查是否已开通 SLS 且日志库存在:
aliyun ddoscoo describe-sls-open-status --region <region-id> --header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query
aliyun ddoscoo describe-log-store-exist-status --region <region-id> --header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query
然后获取 SLS 日志库信息(项目、日志库、容量、TTL):
aliyun ddoscoo describe-sls-logstore-info --region <region-id> --header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query
[IMPORTANT] SLS 信息获取失败时的回退方案:如果
describe-sls-logstore-info返回错误(例如ap-southeast-1中的400 InvalidRosettaRegionId),请按以下顺序使用回退方法:回退方法 1 — 从域名日志状态中获取 SLS 信息(需要知道域名):
aliyun ddoscoo describe-web-access-log-status --domain '<domain>' --region <region-id> --header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query从响应中提取
SlsProject和SlsLogstore。回退方法 2 — 列出所有 SLS 项目并找到 ddoscoo 项目:
aliyun sls list-project --region cn-hangzhou --header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query查找名称中包含
ddoscoo或ddosdip的项目。注意:国际版 DDoS Pro 的 SLS 项目也可能托管在cn-hangzhou。
Step 2c:检查域名全量日志状态
⛔ 禁止:本步骤不使用
describe-web-access-log-dispatch-status。 域名发现已在 Step 2a 中完成。本步骤仅允许调用一次 API。
此时必须已知域名(由用户提供,或在 Step 2a 中发现)。调用:
aliyun ddoscoo describe-web-access-log-status --domain '<domain>' --region <region-id> --header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query
- 若返回
SlsConfigStatus=true,说明已开启,直接进入 Step 3。 - 若未开启,告知用户并征得同意后再开启:
aliyun ddoscoo enable-web-access-log-config --domain '<domain>' --region <region-id> --header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query
约束:此技能仅支持开启全量日志(
enable-web-access-log-config)。此技能不允许禁用。切勿调用disable-web-access-log-config。
[IMPORTANT] 开启失败时的错误处理:如果
enable-web-access-log-config返回错误:
DomainDoNotBelongToYou— 此域名未配置在此 DDoS Pro 实例中。请确认域名属于此实例,或尝试另一个地域(cn-hangzhou↔ap-southeast-1)。403 Forbidden/ RAM 权限错误 — 请参阅 references/ram-policies.md。[IMPORTANT] 历史日志:开启全量日志后,只会记录之后的请求。如果拦截事件发生在开启之前,则 SLS 中不会存在该 Request ID 的日志。请告知用户:“全量日志已开启,但无法通过 SLS 查询历史拦截事件。请重新触发拦截,并使用新的 Request ID 重试。”
Step 3:查询 SLS 日志
[MUST] 所有日志查询都必须使用 SLS CLI 插件(
aliyun sls get-logs)。
使用 Step 2 中获取的 SLS 项目/日志库查询拦截日志:
# Query SLS logs via plugin-mode call
TO_TIME=$(python3 -c "import time; print(int(time.time()))")
FROM_TIME=$((TO_TIME - 86400))
aliyun sls get-logs \
--project <project-name> \
--logstore <logstore-name> \
--from $FROM_TIME \
--to $TO_TIME \
--query "<request-id>" \
--reverse true \
--lines 100 \
--region <sls-region> \
--header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query
如果过去 24 小时内没有找到结果,请逐步扩大时间范围:
- 最近 3 天:
FROM_TIME=$((TO_TIME - 86400 * 3)) - 最近 7 天:
FROM_TIME=$((TO_TIME - 86400 * 7)) - 最近 30 天:
FROM_TIME=$((TO_TIME - 86400 * 30)) - 最大范围(取决于 TTL):
FROM_TIME=$((TO_TIME - 86400 * <ttl_days>))
备用方法 — 如果上述 SLS 插件命令失败(例如插件未安装),请使用 Python 脚本:
python3 scripts/get_ddos_logs.py \ --project <project-name> \ --logstore <logstore-name> \ --request-id <request-id> \ --region <sls-region>
注意:DDoS Pro 全量日志的 SLS 地域映射:
- 中国大陆实例(
cn-hangzhou):SLS 项目位于cn-hangzhou - 国际实例(
ap-southeast-1):SLS 项目通常也位于cn-hangzhou(而非ap-southeast-1),项目名称类似ddosdip-project-<uid>-ap-southeast-1
[MUST] 不要猜测 SLS 项目名称。始终使用从 Step 2b(
describe-sls-logstore-info或其备用方法)获取的确切项目/日志库值。如果两个 API 都失败,请使用aliyun sls list-project --region cn-hangzhou --header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query查找包含ddoscoo或ddosdip的项目。
Step 4:查询规则详情
获取 SLS 日志后,提取关键字段以确定拦截类型,并查询相应的规则配置。
步骤 4a:根据日志字段识别拦截类型
识别拦截类型时,最重要的两个日志字段是:
cc_phase— 标识触发拦截的防护模块last_owner— 格式为<rule_name>|<source>,其中source为manual(用户创建)或clover(自动生成)
cc_phase → 拦截类型 → 查询 API 映射:
cc_phase 值 | 拦截类型 | 规则详情查询命令 |
|---|---|---|
gfcc / cc | CC 防护(频率控制自定义规则) | describe-web-cc-rules-v2 |
gfacl / acl | 精准访问控制 | describe-web-precise-access-rule |
gfai / ai | AI 智能防护 | describe-web-cc-protect-switch |
gfglobal / global / gf_rule | 全局防护策略 | describe-l7-global-rule |
gfbwip / blacklist | IP 黑名单 | describe-web-rules(BlackList 字段) |
gfareaban / region / geo | 区域封禁 | describe-web-area-block-configs |
其他有用的日志字段:
| 日志字段 | 描述 |
|---|---|
cc_action | 执行的操作:block、captcha、close、watch |
cc_rule_id | 触发拦截的特定规则 ID |
cc_blocks | 请求是否被拦截(1 = 是) |
final_action | 对请求执行的最终操作 |
final_plugin | 拦截插件标识符 |
traceid | 请求跟踪 ID(与拦截页面中的 Request ID 相同) |
matched_host | 与请求匹配的域名 |
host | 请求中的 Host 标头 |
real_client_ip | 客户端的真实 IP 地址 |
last_owner | <rule_name>|<source> — 标识规则及其来源 |
isp_line | DDoS Pro 接入线路(如:电信、联通、移动、香港、海外等)。注意:此字段反映的是 DDoS Pro 的接入线路,不等同于客户端的物理位置。报告中应表述为“请求经由 {isp_line} 线路接入”,不可将其直接等同于客户端所在地区 |
步骤 4b:查询策略开关状态(策略预检)
[MUST] 查询具体规则前,先检查哪些防护模块已启用:
aliyun ddoscoo describe-web-cc-protect-switch --domains.1 '<domain>' --region <region-id> --header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query
这会返回所有开关状态。关键字段:
| 字段 | 描述 | 值 |
|---|---|---|
CcEnable | CC 防护总开关 | 0(关闭)/ 1(开启) |
CcCustomRuleEnable | CC 自定义规则开关 | 0 / 1 |
PreciseRuleEnable | 精准访问控制(ACL)开关 | 0 / 1 |
CcGlobalSwitch | 全局防护开关 | close / open |
AiRuleEnable | AI 智能防护开关 | 0 / 1 |
AiMode | AI 模式 | watch / defense |
AiTemplate | AI 级别 | level30 / level60 / level90 |
BlackWhiteListEnable | IP 黑白名单开关 | 0 / 1 |
RegionBlockEnable | 区域封禁开关 | 0 / 1 |
步骤 4c:查询特定规则详情
根据 cc_phase,调用对应的 API 获取规则配置。
如果 cc_phase = cc → CC 防护规则:
# Query all CC rules for the domain; use --owner manual for user rules, clover for auto rules
aliyun ddoscoo describe-web-cc-rules-v2 --domain '<domain>' --offset 0 --page-size 30 --region <region-id> --header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query
然后将 last_owner 的规则名称(| 前的部分)与响应中规则的 name 字段进行匹配,找出特定规则。
如果 cc_phase = gfacl → 精准访问控制(ACL)规则:
aliyun ddoscoo describe-web-precise-access-rule --domains.1 '<domain>' --region <region-id> --header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query
然后将 last_owner 的规则名称与响应中规则的 Name 字段进行匹配,找出特定规则。
如果 cc_phase = ai → AI 智能防护:
# AI protection has no individual rules; check mode and level from switch status
aliyun ddoscoo describe-web-cc-protect-switch --domains.1 '<domain>' --region <region-id> --header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query
报告 AiMode(watch/defense)、AiTemplate(level30/60/90)和 AiRuleEnable 状态。
如果 cc_phase = global 或 gf_rule → 全局防护策略:
# Get global rule list with RuleId, Action, Enabled, Description
aliyun ddoscoo describe-l7-global-rule --domain '<domain>' --region <region-id> --header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query
如果 cc_phase = blacklist → IP 黑名单/白名单:
# Get blacklist and whitelist IPs from domain web rules
aliyun ddoscoo describe-web-rules --domain '<domain>' --region <region-id> --header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query
从响应中提取 BlackList 和 WhiteList 数组。
如果 cc_phase = region 或 geo → 区域封禁:
aliyun ddoscoo describe-web-area-block-configs --domains.1 '<domain>' --region <region-id> --header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query
检查哪些区域的 Block = 1。
[IMPORTANT] 未找到域名:如果域名查询返回
DomainNotExist,则该域名可能已在拦截事件发生后从 DDoS Pro 中移除。请向用户报告此情况——日志仍然有效,但无法检索规则详情。
有关完整的域名安全策略管理参考(包括规则创建、修改、删除和字段参考表),请参阅 references/domain-security-policy.md。
步骤 5:输出分析报告
[MUST] 敏感数据脱敏 — 对本报告中的所有字段(包括任何补充段落)应用核心工作流中定义的全局脱敏规则。不得在任何部分还原已脱敏的数据。
## DDoS Pro Intercept Analysis Report
### Request Information
- Request ID: {request_traceid}
- Block Time: {time}
- Client IP: {masked_real_client_ip, e.g. 192.***.***.***}
- ISP Line: {isp_line}(DDoS Pro 接入线路,非客户端实际位置)
- Domain: {matched_host}
- Request URL: {host}{request_path}?{masked_query_params}
### Block Details
- Rule ID: {final_rule_id 或 cc_rule_id;若日志中两个字段均不存在,输出 "N/A - 日志中未记录规则 ID",不可省略此行}
- Block Type: {final_plugin / cc_phase}
- Action: {final_action or cc_action}
### Recommendations
{Based on block type, refer to references/common-block-reasons.md}
故障排除
未找到日志
- 重新检查 SLS 和日志存储状态(步骤 2b)
- 检查域名完整日志开关:
aliyun ddoscoo describe-web-access-log-status --domain '<domain>' --region <region-id> --header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query - 如果已禁用,则启用(先检查再操作):
aliyun ddoscoo enable-web-access-log-config --domain '<domain>' --region <region-id> --header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query - 检查所有域名的日志分发状态:
aliyun ddoscoo describe-web-access-log-dispatch-status --page-number 1 --page-size 50 --region <region-id> --header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query
未找到 Request ID
- 验证 Request ID 格式(通常为 30 个以上的十六进制字符)
- 脚本会自动将搜索范围扩展至最多 90 天
- 尝试查询两个区域(
cn-hangzhou和ap-southeast-1) - 通过
describe-sls-logstore-info检查日志保留期(TTL)
多实例场景
DDoS Pro 实例可能分布在两个区域。请查询所有已发现的 SLS 项目,直至找到 Request ID。
规则操作限制
详细说明请参阅 references/rule-operations.md。
当用户请求禁用规则时:
- 先检查当前状态(幂等的先检查再操作)
- 只允许执行禁用操作;绝不删除规则
- 执行前先征得用户确认
禁用 CC 规则:
aliyun ddoscoo disable-web-cc-rule --domain '<domain>' --region <region-id> --header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query
禁用精准访问控制:
aliyun ddoscoo modify-web-precise-access-switch --domain '<domain>' --config '{"PreciseRuleEnable": 0}' --region <region-id> --header User-Agent=AlibabaCloud-Agent-Skills/alibabacloud-ddoscoo-intercept-query
成功验证方法
详细验证步骤请参阅 references/verification-method.md。
预期结果:生成拦截分析报告,其中包含完整的请求信息、规则详情和可执行的建议。
验证方式:使用已知的 Request ID 查询后,输出应包含报告模板中的所有字段。
清理
此技能默认只读,不会创建持久化资源。除以下情况外,无需清理:
- 执行期间为某个域名启用了完整日志(请告知用户;此技能只会启用,不会禁用)
- 禁用了 CC 规则(可通过
enable-web-cc-rule重新启用)
最佳实践
- 发现实例时,始终同时查询两个地域(
cn-hangzhou和ap-southeast-1) - [MUST] 查询 SLS 日志时,使用
aliyun sls get-logs(插件模式,kebab-case) - 切勿猜测 SLS 项目或日志库名称——始终通过
describe-sls-logstore-info或describe-web-access-log-status获取 - 查询前检查域名完整日志状态,以避免结果为空
- [MUST] 在输出报告中对敏感数据进行脱敏:客户端 IP →
first_octet.*.*.*,查询参数 →***,Cookie/令牌 →[MASKED] - 进行任何写入操作前,使用幂等的先检查后执行模式
- 切勿删除规则——仅允许禁用/启用操作
参考链接
| 参考 | 描述 |
|---|---|
| references/ram-policies.md | RAM 权限要求 |
| references/common-block-reasons.md | 常见拦截原因和建议 |
| references/rule-config-details.md | 规则配置字段说明 |
| references/rule-operations.md | 规则操作策略和限制 |
| references/domain-security-policy.md | 域名安全策略管理(查询、创建、修改、删除规则) |
| references/related-commands.md | 此技能中使用的所有 CLI 命令 |
| references/verification-method.md | 成功验证步骤 |
| references/cli-installation-guide.md | Aliyun CLI 安装和升级指南 |