INTEGRITY Dokumentace

GraphQL Analytics

Pomocí GraphQL Analytics API zkontrolujte data o síťovém provozu Cloudflare Network Firewall souvisejícím s pravidly odpovídajícími vašemu provozu. Patří sem jak pravidla, která jste nakonfigurovali v dashboardu Cloudflare Network Firewall, tak pravidla spravovaná Cloudflare v rámci Spravovaná pravidla Cloudflare Network Firewall a Cloudflare Network Firewall IDS funkce.

Než začnete, musíte mít API token. Další nápovědu k začátkům práce s GraphQL Analytics najdete v GraphQL Analytics API.

Získat ID účtu Cloudflare

Chcete-li sestavit GraphQL dotaz Network Firewall pro objekt, budete potřebovat Cloudflare Account ID

Získejte ID účtu Cloudflare

  1. Přihlaste se do Cloudflare dashboard, a vyberte svůj účet.
  2. Adresa URL v panelu adresy prohlížeče by měla zobrazovat https://dash.cloudflare.com/ následovaný hexadecimálním řetězcem. Tento hexadecimální řetězec je vaše Cloudflare Account ID.

Získat ID pravidla brány firewall

Chcete-li sestavit dotazy pro shromažďování analytických dat pro konkrétní pravidlo, potřebujete ID pravidla pro každé pravidlo firewallu.

  1. V dashboardu Cloudflare přejděte na Cloudflare Network Firewall stránce.

    Přejděte na Zásady brány firewall ↗
  2. V Custom rules kartě v seznamu najděte pravidlo, jehož ID potřebujete, a vyberte tři tečky > Úprava.

  3. Najděte ID pravidla a vyberte tlačítko kopírovat.

  4. Vyberte Zrušit a vrátit se na Cloudflare Network Firewall stránce.

Prozkoumejte schéma GraphQL na příkladu dotazu Cloudflare Network Firewall

V této části spustíte testovací dotaz, který získá pětiminutové počty všech nakonfigurovaných pravidel Cloudflare Network Firewall v pětiminutových intervalech. Níže uvedený kód můžete zkopírovat a vložit do GraphiQL.

Další informace o schématu Analytics najdete v Prozkoumejte schéma Analytics pomocí GraphiQL.

query MagicFirewallExample($accountTag: string!, $start: Time, $end: Time) {
	viewer {
		accounts(filter: { accountTag: $accountTag }) {
			magicFirewallSamplesAdaptiveGroups(
				filter: { datetime_geq: $start, datetime_leq: $end }
				limit: 2
				orderBy: [datetimeFiveMinute_DESC]
			) {
				sum {
					bits
					packets
				}
				dimensions {
					datetimeFiveMinute
					ruleId
				}
			}
		}
	}
}

Příklady dotazů pro Cloudflare Network Firewall

Získat statistiku pro konkrétní pravidlo

Pomocí níže uvedeného příkladu zobrazte celkový počet paketů a bitů pro deset nejpodezřelejších škodlivých datových toků za poslední hodinu. Po obdržení výsledků je můžete seřadit podle rychlosti paketů s pětiminutovým průměrem.

U každého streamu zobrazte:

query MagicFirewallObtainRules(
	$accountId: string!
	$ruleId: string
	$start: Time
	$end: Time
) {
	viewer {
		accounts(filter: { accountTag: $accountId }) {
			magicFirewallNetworkAnalyticsAdaptiveGroups(
				filter: { ruleId: $ruleId, datetime_geq: $start, datetime_leq: $end }
				limit: 10
				orderBy: [avg_packetRateFiveMinutes_DESC]
			) {
				sum {
					bits
					packets
				}
				dimensions {
					coloCity
					ipDestinationAddress
					ipSourceAddress
					outcome
				}
			}
		}
	}
}

Získat statistiku IDS

Pomocí níže uvedeného příkladu zobrazte celkový počet paketů a bitů pro 10 nejvytíženějších datových toků, které Cloudflare Network Firewall IDS zjistil za poslední hodinu.

Nastavením verdict na drop a outcome jako pass, filtrujeme provoz, který byl označen jako detekce (tedy verdikt byl drop), ale nebyl zahozen (například výsledek byl pass). Je to proto, že Cloudflare Network Firewall IDS v současnosti škodlivý provoz pouze detekuje, ale nezahazuje ho.

U každého streamu zobrazte:

query MagicFirewallObtainIDS($accountTag: string!, $start: Time, $end: Time) {
	viewer {
		accounts(filter: { accountTag: $accountTag }) {
			magicIDPSNetworkAnalyticsAdaptiveGroups(
				filter: {
					datetime_geq: $start
					datetime_leq: $end
					verdict: drop
					outcome: pass
				}
				limit: 10
				orderBy: [avg_packetRateFiveMinutes_DESC]
			) {
				sum {
					bits
					packets
				}
				dimensions {
					coloCity
					ipDestinationAddress
					ipSourceAddress
				}
			}
		}
	}
}

Případně lze pro kontrolu veškerého analyzovaného provozu, rozděleného na škodlivý provoz a ostatní provoz, použít níže uvedený příklad. Odpověď bude obsahovat dva záznamy pro každou pětiminutovou časovou značku. verdict bude nastaveno na drop na škodlivý provoz a verdict bude nastaveno na pass pro provoz, který neodpovídal žádnému z pravidel IDS.

query MagicFirewallTraffic($accountTag: string!, $start: Time, $end: Time) {
	viewer {
		accounts(filter: { accountTag: $accountTag }) {
			magicIDPSNetworkAnalyticsAdaptiveGroups(
				filter: { datetime_geq: $start, datetime_leq: $end }
				limit: 10
				orderBy: [avg_packetRateFiveMinutes_DESC]
			) {
				sum {
					bits
					packets
				}
				dimensions {
					coloCity
					ipDestinationAddress
					ipSourceAddress
					verdict
				}
			}
		}
	}
}