← Cloudflare One / cloudflare-one / traffic-policies / http-policies
Časté zásady
Následující zásady se běžně používají k zabezpečení provozu HTTP. Zásady HTTP se vyhodnocují v pořadí shora dolů a uplatní se první odpovídající zásada, s výjimkou Do Not Inspect zásady, které se vždy vyhodnocují jako první.
Základní sadu doporučených zásad najdete v Zabezpečení internetového provozu a aplikací SaaS.
Viz Stránka zásad HTTP pro úplný seznam dalších selektorů, operátorů a akcí.
Blokovat weby
Blokujte pokusy o přístup na weby podle hostitele nebo cesty URL. V závislosti na struktuře webu může být potřeba různý přístup.
Blokovat weby podle hostitele
Blokujte všechny subdomény, které používají daného hostitele.
| Selektor | Operátor | Hodnota | Akce |
|---|---|---|---|
| Host | matches regex | .*example\.com |
Block |
V následujících příkladech API filters: ["http"] znamená, že se jedná o zásadu HTTP (vrstva 7).
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Block sites by hostname",
"description": "Block all subdomains that use a specific hostname",
"enabled": true,
"action": "block",
"filters": [
"http"
],
"traffic": "http.request.host matches \".*example.com\"",
"identity": "",
"device_posture": ""
}'Blokovat weby podle URL
Blokujte část webu, aniž byste blokovali celý web. Můžete tak například blokovat konkrétní subreddit, jako je reddit.com/r/gaming, bez blokování reddit.com.
| Selektor | Operátor | Hodnota | Akce |
|---|---|---|---|
| URL | matches regex | /r/gaming |
Block |
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Block sites by URL",
"description": "Block specific parts of a site without blocking the hostname",
"enabled": true,
"action": "block",
"filters": [
"http"
],
"traffic": "http.request.uri matches \"/r/gaming\"",
"identity": "",
"device_posture": ""
}'Blokovat kategorie obsahu
Blokujte kategorie obsahu, které jsou v rozporu se zásadami přijatelného použití vaší organizace.
| Selektor | Operátor | Hodnota | Akce |
|---|---|---|---|
| Content Categories | v | Questionable Content, Bezpečnostní rizika, Různé, Adult Themes, Hazardní hry | Block |
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "All-HTTP-ContentCategories-Blocklist",
"description": "Block access to questionable content and potential security risks",
"precedence": 40,
"enabled": true,
"action": "block",
"filters": [
"http"
],
"traffic": "any(http.request.uri.content_category[*] in {17 85 87 102 157 135 138 180 162 32 169 177 128 15 115 119 124 141 161 2 67 125 133 99})",
"identity": "",
"device_posture": ""
}'resource "cloudflare_zero_trust_gateway_policy" "block_unauthorized_apps" {
account_id = var.cloudflare_account_id
name = "All-HTTP-ContentCategories-Blocklist"
description = "Block access to questionable content and potential security risks"
precedence = 40
enabled = true
action = "block"
filters = ["http"]
traffic = "any(http.request.uri.content_category[*] in {17 85 87 102 157 135 138 180 162 32 169 177 128 15 115 119 124 141 161 2 67 125 133 99})"
identity = ""
device_posture = ""
}Blokovat neautorizované aplikace
Chcete-li minimalizovat riziko Shadow IT, některé organizace se rozhodnou omezit svým uživatelům přístup k určitým webovým nástrojům a aplikacím. Následující zásada například blokuje známé nástroje AI:
| Selektor | Operátor | Hodnota | Akce |
|---|---|---|---|
| Aplikace | v | Umělá inteligence | Block |
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "All-HTTP-Application-Blocklist",
"description": "Limit access to shadow IT by blocking web-based tools and applications",
"precedence": 60,
"enabled": true,
"action": "block",
"filters": [
"http"
],
"traffic": "any(app.type.ids[*] in {25})",
"identity": "",
"device_posture": ""
}'resource "cloudflare_zero_trust_gateway_policy" "all_http_application_blocklist" {
account_id = var.cloudflare_account_id
name = "All-HTTP-Application-Blocklist"
description = "Limit access to shadow IT by blocking web-based tools and applications"
precedence = 60
enabled = true
action = "block"
filters = ["http"]
traffic = "any(app.type.ids[*] in {25})"
identity = ""
device_posture = ""
}Zkontrolujte identitu uživatele
Nakonfigurujte přístup pro jednotlivé uživatele nebo skupiny přidáním podmínky založené na identitě do vašich zásad.
| Selektor | Operátor | Hodnota | Logika | Akce |
|---|---|---|---|---|
| Aplikace | v | Salesforce | And | Block |
| User Group Names | v | Dodavatelé |
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Check user identity",
"description": "Block access to Salesforce by temporary employees and contractors",
"enabled": true,
"action": "block",
"filters": [
"http"
],
"traffic": "any(app.ids[] in {606})",
"identity": "any(identity.groups.name[] in {\"Contractors\"})",
"device_posture": ""
}'Přeskočit kontrolu pro skupiny aplikací
Některé klientské aplikace, například Zoom nebo služby Apple, používají připnutí certifikátu (certificate pinning). Tyto aplikace ověřují, že se připojují přímo ke svým vlastním serverům, a certifikát TLS inspekce Gateway odmítnou. Abyste se vyhnuli chybám připojení, musíte pro tyto aplikace přidat zásadu HTTP typu Do Not Inspect.
Gateway nejprve vyhodnotí zásady Do Not Inspect, bez ohledu na jejich pozici v seznamu zásad. Cloudflare doporučuje přesunout zásady Do Not Inspect na začátek seznamu, aby se předešlo nejasnostem.
| Selektor | Operátor | Hodnota | Akce |
|---|---|---|---|
| Aplikace | v | Do Not Inspect | Do Not Inspect |
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Bypass incompatible applications",
"description": "Skip TLS decryption for applications that are incompatible with Gateway",
"enabled": true,
"action": "off",
"filters": [
"http"
],
"traffic": "any(app.type.ids[*] in {16})",
"identity": "",
"device_posture": ""
}'Zkontrolujte posturu zařízení
Vyžadujte, aby zařízení měla nainstalovaný určitý software nebo splňovala jiné konfigurační atributy. Pokyny k nastavení kontroly stavu zařízení najdete v Vynucujte stav zařízení.
Vynuťte minimální verzi OS
Proveďte Kontrola verze OS zajistit, že uživatelé používají alespoň minimální verzi.
| Selektor | Operátor | Hodnota | Akce |
|---|---|---|---|
| Splněné kontroly stavu zařízení | v | Minimální verze OS | Allow |
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Require OS version",
"description": "Perform an OS version check for minimum version",
"enabled": true,
"action": "allow",
"filters": [
"http"
],
"traffic": "",
"identity": "",
"device_posture": "any(device_posture.checks.passed[*] in {\"<POSTURE_CHECK_UUID>\"})"
}'Chcete-li získat UUID svých kontrol stavu zařízení, použijte Seznam pravidel stavu zařízení koncový bod.
Zkontrolujte konkrétní soubor
Proveďte kontrola souboru zajistit, že uživatelé mají na svém zařízení určitý soubor.
Cesta k souboru se pro každý operační systém liší, proto můžete pro každý systém nakonfigurovat vlastní kontrolu souboru a použít Nebo logický operátor, aby stačilo, když projde jen jedna z kontrol.
| Selektor | Operátor | Hodnota | Logika | Akce |
|---|---|---|---|---|
| Splněné kontroly stavu zařízení | v | macOS File Check | Nebo | Allow |
| Splněné kontroly stavu zařízení | v | Linux File Check |
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Check for specific file",
"description": "Ensure users have a specific file on their device regardless of operating system",
"enabled": true,
"action": "allow",
"filters": [
"http"
],
"traffic": "",
"identity": "",
"device_posture": "any(device_posture.checks.passed[] in {\"<POSTURE_CHECK_1_UUID>\"}) or any(device_posture.checks.passed[] in {\"<POSTURE_CHECK_2_UUID>\"})"
}'Chcete-li získat UUID svých kontrol stavu zařízení, použijte Seznam pravidel stavu zařízení koncový bod.
Vynucujte dobu trvání relace
Vyžadovat opětovné ověření uživatelů po uplynutí určité doby.
Izolovat rizikové weby ve vzdáleném prohlížeči
Pokud používáte doplněk Browser Isolation, projděte si náš seznam běžné zásady Isolate.
Obejít kontrolu self-signed certifikátů
Pokud přistupujete k origin serverům s certifikáty, které nejsou podepsané veřejnou certifikační autoritou, musíte obejít dešifrování TLS.
| Selektor | Operátor | Hodnota | Akce |
|---|---|---|---|
| Doména | v | internal.example.com |
Do Not Inspect |
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Bypass internal site inspection",
"description": "Bypass TLS decryption for internal sites with self-signed certificates",
"enabled": true,
"action": "off",
"filters": [
"http"
],
"traffic": "any(http.request.domains[*] in {\"internal.example.com\"})",
"identity": "",
"device_posture": ""
}'Blokovat typy souborů
Blokujte nahrávání nebo stahování souborů podle jejich typu.
| Selektor | Operátor | Hodnota | Logika | Akce |
|---|---|---|---|---|
| Upload File Types | v | Dokument Microsoft Office Word (docx) | And | Block |
| Download File Types | v | PDF (pdf) |
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Block file types",
"description": "Block the upload or download of files based on their type",
"enabled": true,
"action": "block",
"filters": [
"http"
],
"traffic": "any(http.upload.file.types[*] in {\"docx\"}) and any(http.download.file.types[*] in {\"pdf\"})",
"identity": "",
"device_posture": ""
}'Další informace o podporovaných typech souborů najdete v Download and Upload File Types.
Izolovat nebo blokovat aplikace shadow IT
Izolovat aplikace shadow IT zjištěné pomocí Knihovna aplikací které ještě nebyly zkontrolovány nebo se právě kontrolují, a blokujte aplikace, které vaše organizace neschválila.
Další informace o kontrole aplikací shadow IT najdete v Zkontrolujte aplikace.
1. Izolujte nezkontrolované nebo kontrolované aplikace
Izolovat aplikace, pokud je jejich stav schválení Nezkontrolováno nebo In review.
| Selektor | Operátor | Hodnota | Logika | Akce |
|---|---|---|---|---|
| Stav aplikace | je | Nezkontrolováno | Nebo | Isolate |
| Stav aplikace | je | In review |
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Isolate unreviewed or in review application status",
"description": "Isolate Shadow IT applications that have not been reviewed or are in review in the Application Library",
"enabled": true,
"action": "isolate",
"filters": [
"http"
],
"traffic": "any(app.statuses[*] == \"unreviewed\") or any(app.statuses[*] == \"in review\")",
"identity": "",
"device_posture": ""
}'2. Zablokujte neschválené aplikace
Blokovat aplikace, pokud je jejich stav schválení Unapproved.
| Selektor | Operátor | Hodnota | Akce |
|---|---|---|---|
| Stav aplikace | je | Unapproved | Block |
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Block unapproved application status",
"description": "Block Shadow IT applications that have been marked as unapproved in the Application Library",
"enabled": true,
"action": "block",
"filters": [
"http"
],
"traffic": "any(app.statuses[*] == \"unapproved\")",
"identity": "",
"device_posture": ""
}'Blokovat služby Google
Chcete-li povolit kontrolu Gateway pro provoz Google Drive, musíte přidejte certifikát Cloudflare do Google Drive.
Blokovat stahování z Google Drive
Blokujte stahování souborů z Google Drive.
| Selektor | Operátor | Hodnota | Logika | Akce |
|---|---|---|---|---|
| Aplikace | v | Google Drive | And | Block |
| URL Path & Query | matches regex | .*(e=download|export).* |
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Block Google Drive downloads",
"description": "Block file downloads from Google Drive",
"enabled": true,
"action": "block",
"filters": [
"http"
],
"traffic": "any(app.ids[] in {554}) and http.request.uri.path_and_query matches \".(e=download|export).*\"",
"identity": "",
"device_posture": ""
}'Blokovat nahrávání na Google Drive
Blokujte nahrávání souborů z Google Drive.
| Selektor | Operátor | Hodnota | Logika | Akce |
|---|---|---|---|---|
| Aplikace | v | Google Drive | And | Block |
| Upload Mime Type | matches regex | .* |
And | |
| Host | není | drivefrontend-pa.clients6.google.com |
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Block Google Drive uploads",
"description": "Block file uploads to Google Drive",
"enabled": true,
"action": "block",
"filters": [
"http"
],
"traffic": "any(app.ids[] in {554}) and http.upload.mime matches \".\" and not(http.request.host == \"drivefrontend-pa.clients6.google.com\")",
"identity": "",
"device_posture": ""
}'Blokovat stahování z Gmailu
Blokujte stahování souborů z Gmailu.
| Selektor | Operátor | Hodnota | Logika | Akce |
|---|---|---|---|---|
| Host | je | mail-attachment.googleusercontent.com |
And | Block |
| URL Path & Query | je | /attachment/u/0 |
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Block Gmail downloads",
"description": "Block file downloads from Gmail",
"enabled": true,
"action": "block",
"filters": [
"http"
],
"traffic": "http.request.host == \"mail-attachment.googleusercontent.com\" and http.request.uri.path_and_query matches \"/attachment/u/0\"",
"identity": "",
"device_posture": ""
}'Blokovat proxy Google Translate
Blokujte používání Google Translate k překladu celých webových stránek.
Při překladu webu Google Translate směruje webové stránky přes proxy s translate.goog doména. Vaši uživatelé by mohli tuto službu použít k obejití jiných zásad Gateway. Pokud zablokujete translate.goog, uživatelé budou moci nadále používat další funkce Google Translate.
| Selektor | Operátor | Hodnota | Akce |
|---|---|---|---|
| Doména | matches regex | ^(.+\.)?translate\.goog$ |
Block |
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Block Google Translate for websites",
"description": "Block use of Google Translate to translate entire webpages",
"enabled": true,
"action": "block",
"filters": [
"http"
],
"traffic": "any(http.request.domains[*] matches \"^(.+\\.)?translate\\.goog$\")",
"identity": "",
"device_posture": ""
}'Filtrovat provoz WebSocket
Gateway nekontroluje ani nezaznamenává WebSocket ↗ provoz. Místo toho bude Gateway protokolovat pouze detaily HTTP použité k navázání spojení WebSocket, a také informace o síťové relaci. Chcete-li filtrovat provoz WebSocket, vytvořte zásadu s 101 kód odpovědi HTTP.
| Selektor | Operátor | Hodnota | Akce |
|---|---|---|---|
| Odpověď HTTP | je | 101 SWITCHING_PROTOCOLS | Allow |
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Filter WebSocket",
"description": "Filter WebSocket traffic with HTTP response code 101",
"enabled": true,
"action": "allow",
"filters": [
"http"
],
"traffic": "http.response.status_code == 101",
"identity": "",
"device_posture": ""
}'