You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/docs/bots/concepts/bot/verified-bots/web-bot-auth.mdx
+12-4Lines changed: 12 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -48,9 +48,17 @@ You need to host a key directory which creates a way for Cloudflare to authentic
48
48
/.well-known/http-message-signatures-directory/
49
49
```
50
50
2. Serve the web page over HTTPS (not HTTP).
51
-
3. Sign your HTTP response using the HTTP message signature specification by attaching one signature per key in your key directory. This ensures no one else can mirror your directory and attempt to register on your behalf. Your response must include the following headers:
52
-
-`Signature`: TBD
53
-
-`Signature-Input`: TBD
51
+
3.[Calculate the base64 URL-encoded JWK thumbprint](https://www.rfc-editor.org/rfc/rfc8037.html#appendix-A.3) associated with your Ed25519 public key.
52
+
4. Sign your HTTP response using the HTTP message signature specification by attaching one signature per key in your key directory. This ensures no one else can mirror your directory and attempt to register on your behalf. Your response must include the following headers:
53
+
-`Signature`: Construct a [`Signature` header](https://www.rfc-editor.org/rfc/rfc9421#name-the-signature-http-field) over your chosen components.
54
+
-`Signature-Input`: Construct a [`Signature-Input` header](https://www.rfc-editor.org/rfc/rfc9421#name-the-signature-input-http-fi) over your chosen components. The header must meet the following requirements.
Copy file name to clipboardExpand all lines: src/content/docs/bots/frequently-asked-questions.mdx
+70-14Lines changed: 70 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,32 +3,32 @@ pcx_content_type: faq
3
3
title: FAQ
4
4
structured_data: true
5
5
sidebar:
6
-
order: 3
6
+
order: 11
7
7
---
8
8
9
9
import { Render, RuleID } from"~/components";
10
10
11
11
## Bots
12
12
13
-
## How does Cloudflare detect bots?
13
+
###How does Cloudflare detect bots?
14
14
15
15
Cloudflare uses multiple methods to detect bots, but these vary by plan. For more details, refer to [Plans](/bots/plans).
16
16
17
17
---
18
18
19
-
## How do I know what is included in my plan?
19
+
###How do I know what is included in my plan?
20
20
21
21
To know what's included in your plan, refer to our [Plans](/bots/plans).
22
22
23
23
---
24
24
25
-
## How do I set up my bot product?
25
+
###How do I set up my bot product?
26
26
27
27
To learn how to set up your bot product, refer to [Get started](/bots/get-started).
28
28
29
29
---
30
30
31
-
## Yandex bot unexpectedly blocked by the WAF managed rule with ID `...f6cbb163`
31
+
###Yandex bot unexpectedly blocked by the WAF managed rule with ID `...f6cbb163`
32
32
33
33
Yandex updates their bots very frequently, you may see more false positives while these changes are propagated. New and recently updated bots will occasionally be blocked by a Cloudflare WAF managed rule, as the IP list of Yandex bots has not yet synced with Yandex's most recent changes.
34
34
@@ -45,7 +45,7 @@ Once the new Yandex IP is propagated to our system, the requests will not be blo
45
45
46
46
---
47
47
48
-
## How does machine learning work?
48
+
###How does machine learning work?
49
49
50
50
Supervised machine learning takes certain variables (X) like gender and age and predicts another variable (Y) like income.
51
51
@@ -55,7 +55,7 @@ Cloudflare uses data from millions of requests and re-train the system on a peri
55
55
56
56
---
57
57
58
-
## Why am I seeing a Managed Challenge action for WAF rules?
58
+
###Why am I seeing a Managed Challenge action for WAF rules?
59
59
60
60
When you choose to challenge different bot categories with Bot Fight Mode or Super Bot Fight Mode, you will see Security Events with an **Action Taken** of **Managed Challenge**.
61
61
@@ -65,13 +65,13 @@ This does not mean that your traffic was blocked. It is the challenge sent to yo
65
65
66
66
To understand if the result of the challenge was a success or a failure, you can verify using [Logpush](/logs/about/).
67
67
68
-
## Does the WAF run before Super Bot Fight Mode?
68
+
###Does the WAF run before Super Bot Fight Mode?
69
69
70
70
Yes. WAF rules are executed before Super Bot Fight Mode. If a WAF custom rule performs a [terminating action](/ruleset-engine/rules-language/actions/) such as _Block_, your Super Bot Fight Mode configuration will not be evaluated.
71
71
72
72
---
73
73
74
-
## What is cf.bot_management.verified_bot?
74
+
###What is cf.bot_management.verified_bot?
75
75
76
76
A request's _cf.bot_management.verified_bot_ value is a boolean indicating whether such request comes from a Cloudflare allowed bot.
77
77
@@ -83,21 +83,21 @@ To allow traffic from good bots, use the [Verified Bot](/ruleset-engine/rules-la
83
83
84
84
---
85
85
86
-
## Why might the ja3hash or JA4 be empty in HTTP logs?
86
+
###Why might the ja3hash or JA4 be empty in HTTP logs?
87
87
88
88
<Renderfile="ja3-ja4-null" />
89
89
90
90
---
91
91
92
-
## I run a good bot and want for it to be added to the allowlist (cf.bot_management.verified_bot). What should I do?
92
+
###I run a good bot and want for it to be added to the allowlist (cf.bot_management.verified_bot). What should I do?
93
93
94
94
Cloudflare maintains a sample list of verified bots in [Cloudflare Radar](https://radar.cloudflare.com/verified-bots).
95
95
96
96
As a bot operator, in order to be listed by Cloudflare as a Verified Bot, your bot must conform with our [verified bot public policy](/bots/concepts/bot/verified-bots/policy/). If your bot meets this criteria, submit this [online application](https://docs.google.com/forms/d/e/1FAIpQLSdqYNuULEypMnp4i5pROSc-uP6x65Xub9svD27mb8JChA_-XA/viewform?usp=sf_link).
97
97
98
98
---
99
99
100
-
## What information do I need to troubleshoot my bot issues?
100
+
###What information do I need to troubleshoot my bot issues?
101
101
102
102
If you are experiencing errors with your bot solution and need to submit a Support request, include the following information:
103
103
@@ -124,7 +124,7 @@ Please follow instructions in the following questions on how to disable BFM and
124
124
125
125
---
126
126
127
-
## What should I do if I am getting False positives caused by Bot Fight Mode (BFM) or Super Bot Fight Mode (SBFM)?
127
+
###What should I do if I am getting False positives caused by Bot Fight Mode (BFM) or Super Bot Fight Mode (SBFM)?
128
128
129
129
:::caution[Important considerations you need to be aware of before turning on BFM or SBFM]
130
130
@@ -150,7 +150,7 @@ Bot Fight Mode can still trigger if you have IP Access rules, but it cannot trig
150
150
151
151
---
152
152
153
-
## Super Bot Fight Mode feature (SBFM) is still blocking requests even though the feature is turned off, why?
153
+
###Super Bot Fight Mode feature (SBFM) is still blocking requests even though the feature is turned off, why?
154
154
155
155
This is a known issue the Bots team is working to resolve in the near future. In the meantime, there is a workaround to resolve such issue. You will need to run the following API command to check and remove the SBFM ruleset:
156
156
@@ -171,3 +171,59 @@ This is a known issue the Bots team is working to resolve in the near future. In
171
171
```
172
172
173
173
Note that you need to replace `<API_TOKEN>` with your own [API token](/fundamentals/api/get-started/create-token/).
174
+
175
+
---
176
+
177
+
## Web Bot Auth
178
+
179
+
### What key algorithms does Cloudflare support?
180
+
181
+
Cloudflare does not support key algorithms other than Ed25519.
182
+
183
+
---
184
+
185
+
### What `web-bot-auth` features from the spec are not supported?
186
+
187
+
The following derived components are not supported, and we will fail to verify a message if they are included:
188
+
189
+
-`@query-params`: Cloudflare recommends signing the whole query instead of an individual parameter.
190
+
-`@status`: This is not possible to include in the request path.
191
+
192
+
The following component parameters defined in IETF RFC 9421 are not supported, and Cloudflare will fail to verify a message if they are included:
193
+
194
+
-`sf` (for HTTP header fields)
195
+
-`bs` (for HTTP header fields)
196
+
-`key` (for HTTP header fields)
197
+
-`req` (for HTTP header fields or derived components)
198
+
-`name` (for `@query-param` support - this requires `@query-param` support)
199
+
200
+
---
201
+
202
+
### Should I supply a `nonce` parameter in `Signature-Input`?
203
+
204
+
The `nonce` parameter allows you to supply a `nonce` to prevent attackers from replaying past messages against a server.
205
+
206
+
While Cloudflare recommends including it, there is currently no `nonce` validation, nor does Cloudflare guard against replay attacks using a database of seen `nonces`.
207
+
208
+
Instead, Cloudflare recommends short `expires` as a protection against replay attacks. A minute is often sufficient.
209
+
210
+
---
211
+
212
+
### How do I know my JSON Web Key set directory will be accepted?
213
+
214
+
Cloudflare uses [`http-signature-directory` tool](https://crates.io/crates/http-signature-directory) to validate your directory. Please your this works before submitting a verification request.
215
+
216
+
---
217
+
218
+
### My message is failing validation. What could be the cause?
219
+
220
+
- Ensure you have a [`Signature-Agent` header](/bots/concepts/bot/verified-bots/web-bot-auth/#signature-agent-header), and that its value in double-quotes.
221
+
- Ensure you include `signature-agent` in the component list in your [`Signature-Input` header](/bots/concepts/bot/verified-bots/web-bot-auth/#signature-agent-header).
222
+
- Ensure your `expires` timestamp is not too short, such that, by the time it arrives at Cloudflare servers, it has already expired. A minute is often sufficient.
223
+
- Ensure you are not signing components containing non-ASCII values, or on the unsupported list.
224
+
225
+
---
226
+
227
+
### I want to use HTTP message signatures / Web Bot Auth on my zone, and do not want Cloudflare's verification to intervene. What do I do?
228
+
229
+
You can request the Web Bot Auth feature be disabled for your zone by contacting Cloudflare support. This will disable usage of Web Bot Auth specifically with Cloudflare, and verified bots will fallback to other modes to validate traffic.
0 commit comments