跳转到内容
搜索文档

快速入门

最后更新 查看 MarkdownAgent 设置

1. 开启检测

  1. 在 Cloudflare 仪表板中,前往 Security Settings(设置) 页面。

    Go to Settings ↗
  2. (可选)按 Detection tools(检测工具) 筛选。

  3. 开启 Malicious uploads detection(恶意上传检测)

  1. 登录 Cloudflare 仪表板,并选择您的账户和域名。
  2. 前往 Security(安全性) > Settings(设置)
  3. Incoming traffic detections(传入流量检测) 下,开启 Malicious uploads(恶意上传)

使用类似如下的 POST 请求:

Required API token permissions

At least one of the following token permissions is required:
  • Zone WAF Write
  • Account WAF Write
Enable Content Scanningbash
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/content-upload-scan/enable" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"

使用 cloudflare_content_scanning 资源来为区域启用内容扫描。例如:

resource "cloudflare_content_scanning" "zone_content_scanning_example" {
	zone_id = var.cloudflare_zone_id
	enabled = true
}

2. 验证内容扫描行为

使用 Security Analytics 和 HTTP 日志,验证恶意内容对象是否被正确检测。

您可以使用 EICAR 反恶意软件测试文件 来测试内容扫描(选择 ZIP 格式)。

或者,如下一步所述创建自定义规则,但使用 Log 操作,而不是 Block 等缓解操作。此规则将生成安全事件,便于验证配置。

3. 创建自定义规则

创建自定义规则,阻止上传到应用中的已检测到的恶意内容对象。

例如,创建一条使用 Block 操作且具有以下表达式的自定义规则:

字段 运算符
Has malicious content object equals True

如果使用 Expression Editor,请输入以下表达式:

(cf.waf.content_scan.has_malicious_obj)

规则操作:Block

此规则将匹配 Cloudflare 检测到可疑或恶意内容对象的请求。有关 WAF 内容扫描提供的字段列表,请参阅 内容扫描字段

可选:与其他规则语言字段组合

您可以将上述表达式与规则语言的其他字段函数组合。这样可以自定义规则范围,或将内容扫描与其他安全功能结合。例如:

  • 以下表达式将匹配上传到特定端点的含恶意内容对象的请求:

    字段 运算符 逻辑
    Has malicious content object equals True And
    URI Path contains upload.php

    使用编辑器时的表达式:

    (cf.waf.content_scan.has_malicious_obj and http.request.uri.path contains "upload.php")
  • 以下表达式将匹配机器人上传内容对象的请求:

    字段 运算符 逻辑
    Has content object equals True And
    Bot Score less than 10

    使用编辑器时的表达式:

    (cf.waf.content_scan.has_obj and cf.bot_management.score lt 10)

更多示例请参阅 示例规则

4. (可选)配置自定义扫描表达式

若要以默认配置未覆盖的方式检查上传内容,请添加自定义扫描表达式

  1. 在 Cloudflare 仪表板中,前往 Security Settings(设置) 页面。

    Go to Settings ↗
  2. (可选)按 Detection tools(检测工具) 筛选。

  3. Malicious uploads detection(恶意上传检测) > Configurations(配置) 下,选择编辑图标。

  4. 选择 Add content location(添加内容位置)

  5. Content location(内容位置) 中,输入自定义扫描表达式。例如:

    lookup_json_string(http.request.body.raw, "file")
  6. 选择 Save(保存)

  1. 登录 Cloudflare 仪表板,并选择您的账户和域名。

  2. 前往 Security(安全性) > Settings(设置)

  3. Incoming traffic detections(传入流量检测) 下,选择 Malicious uploads(恶意上传)

  4. 选择 Add content object location(添加内容对象位置)

  5. Content location(内容位置) 中,输入自定义扫描表达式。例如:

    lookup_json_string(http.request.body.raw, "file")
  6. 选择 Save(保存)

使用类似如下的 POST 请求:

Required API token permissions

At least one of the following token permissions is required:
  • Zone WAF Write
  • Account WAF Write
Add Custom Scan Expressionsbash
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/content-upload-scan/payloads" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '[
		{
				"payload": "lookup_json_string(http.request.body.raw, \"file\")"
		}
	]'

上述请求会将以下表达式添加到当前自定义扫描表达式列表中:

lookup_json_string(http.request.body.raw, "file")

使用 cloudflare_content_scanning_expression 资源来添加自定义扫描表达式。例如:

resource "cloudflare_content_scanning_expression" "my_custom_scan_expression" {
  zone_id = var.cloudflare_zone_id
  payload = "lookup_json_string(http.request.body.raw, \"file\")"
}

更多信息请参阅 自定义扫描表达式

这篇文档对您有帮助吗?