跳转到内容
搜索文档

Terraform 配置示例

最后更新 查看 MarkdownAgent 设置

以下 Terraform 配置示例介绍了用于管理、配置和使用泄露凭据检测的常见场景。

更多信息请参阅 Terraform Cloudflare provider 文档

如果您使用的是 Cloudflare API,请参阅 常用 API 调用

启用泄露凭据检测

使用 cloudflare_leaked_credential_check 资源来为区域启用泄露凭据检测。例如:

resource "cloudflare_leaked_credential_check" "zone_lcc_example" {
	zone_id = var.cloudflare_zone_id
	enabled = true
}

配置自定义检测位置

使用 cloudflare_leaked_credential_check_rule 资源来添加自定义检测位置。例如:

resource "cloudflare_leaked_credential_check_rule" "custom_location_example" {
	zone_id = var.cloudflare_zone_id
	username = "lookup_json_string(http.request.body.raw, \"user\")"
	password = "lookup_json_string(http.request.body.raw, \"secret\")"
}

在自定义检测位置中,您只需要为用户名提供表达式即可。

添加自定义规则来对包含泄露凭据的请求进行质询验证

本示例添加了一条 自定义规则,通过在规则表达式中使用 泄露凭据字段 来对包含泄露凭据的请求进行质询验证(Challenge)。

要使用 cf.waf.credential_check.username_and_password_leaked 字段,您必须 启用泄露凭据检测

需要的 API 令牌权限

需要满足以下至少一种 令牌权限

  • Zone WAF Write

配置 cloudflare_ruleset 资源:

resource "cloudflare_ruleset" "zone_custom_firewall_leaked_creds" {
  zone_id     = var.cloudflare_zone_id
  name        = "Phase entry point ruleset for custom rules in my zone"
  description = ""
  kind        = "zone"
  phase       = "http_request_firewall_custom"

  rules = [{
    ref         = "challenge_leaked_username_password"
    description = "Challenge requests with a leaked username and password"
    expression  = "(cf.waf.credential_check.username_and_password_leaked)"
    action      = "managed_challenge"
  }]
}
resource "cloudflare_ruleset" "zone_custom_firewall_leaked_creds" {
  zone_id     = var.cloudflare_zone_id
  name        = "Phase entry point ruleset for custom rules in my zone"
  description = ""
  kind        = "zone"
  phase       = "http_request_firewall_custom"

  rules {
    ref         = "challenge_leaked_username_password"
    description = "Challenge requests with a leaked username and password"
    expression  = "(cf.waf.credential_check.username_and_password_leaked)"
    action      = "managed_challenge"
  }
}

更多资源

如需其他 Terraform 配置示例,请参阅 使用 Terraform 配置 WAF 自定义规则

这篇文档对您有帮助吗?