← Cloudflare One / cloudflare-one / tutorials
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
- Přihlaste se do Cloudflare dashboard ↗, a vyberte svůj účet.
- 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.
-
V dashboardu Cloudflare přejděte na Cloudflare Network Firewall stránce.
Přejděte na Zásady brány firewall ↗ -
V Custom rules kartě v seznamu najděte pravidlo, jehož ID potřebujete, a vyberte tři tečky > Úprava.
-
Najděte ID pravidla a vyberte tlačítko kopírovat.
-
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:
- Zdrojové a cílové IP adresy
- Ingress datacentra Cloudflare, která ho přijala
- Celkový objem provozu v bitech a paketech přijatých během dané hodiny
- Akce provedené pravidlem firewallu
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:
- Zdrojové a cílové IP adresy.
- Ingress datacentra Cloudflare, která ho přijala.
- Celkový objem provozu v bitech a paketech přijatých během dané hodiny.
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
}
}
}
}
}