Trafikfilterregler inklusive WAF-regler traffic-filter-rules-including-waf-rules
Trafikfilterregler kan användas för att blockera eller tillåta förfrågningar i CDN-lagret, vilket kan vara användbart i scenarier som:
- Begränsa åtkomsten till specifika domäner till intern företagstrafik innan en ny webbplats publiceras
- Fastställande av hastighetsgränser som är mindre mottagliga för volymetriska DoS-attacker
- Förhindra att IP-adresser som du vet är skadliga riktas mot dina sidor
De flesta av dessa trafikfilterregler är tillgängliga för alla AEM as a Cloud Service Sites- och Forms-kunder. De arbetar huvudsakligen med egenskaper för begäran och begäranrubriker, inklusive IP, värdnamn, sökväg och användaragent.
En underkategori av trafikfilterregler kräver antingen en förbättrad säkerhetslicens eller en WAF-DDoS-skyddslicens. Dessa kraftfulla regler kallas trafikfilterregler för WAF (Web Application Firewall) (eller WAF-regler för kort) och har tillgång till de WAF-flaggor som beskrivs senare i den här artikeln.
Trafikfilterregler kan driftsättas via Cloud Manager konfigureringsrörledningar för olika typer av dev-, stage- och produktionsmiljöer. Konfigurationsfilen kan distribueras till Rapid Development Environment (RDE) med kommandoradsverktyg.
Följ igenom en självstudiekurs för att snabbt bygga upp konkreta expertkunskaper om den här funktionen.
Hur den här artikeln ordnas how-organized
Den här artikeln är indelad i följande avsnitt:
- Trafikskydd - översikt: Lär dig hur du skyddas från skadlig trafik.
- Föreslagen process för konfigurering av regler: Läs om en högnivåmetod för skydd av din webbplats.
- Installation: Upptäck hur du konfigurerar, konfigurerar och distribuerar trafikfilterregler, inklusive de avancerade WAF-reglerna.
- Regelsyntax: Läs om hur du deklarerar trafikfilterregler i konfigurationsfilen
cdn.yaml
. Detta omfattar både trafikfilterreglerna som är tillgängliga för alla Sites- och Forms-kunder och underkategorin WAF-regler för dem som licensierar den funktionen. - Regelexempel: Se exempel på deklarerade regler för att du ska komma igång.
- Regler för hastighetsbegränsning: Lär dig hur du använder regler för hastighetsbegränsning för att skydda din webbplats från attacker med stora volymer.
- Varningar om trafikfilterregler Konfigurera varningar som ska meddelas när reglerna aktiveras.
- Standardtrafikspik vid ursprungsvarning Få meddelande när det finns en trafiktoppning vid det ursprung som tyder på en DDoS-attack.
- CDN-loggar: Se vad som deklarerats och WAF Flags matchar trafiken.
- Kontrollpanelsverktyg: Analysera CDN-loggarna för att hitta nya trafikfilterregler.
- Rekommenderade startregler: En uppsättning regler att komma igång med.
- Självstudiekurs: Praktiska kunskaper om funktionen, inklusive hur du använder instrumentpanelsverktyg för att deklarera rätt regler.
Adobe inbjuder dig att ge feedback eller ställa frågor om trafikfilterregler genom att skicka ett e-postmeddelande till aemcs-waf-adopter@adobe.com.
Trafikskydd - översikt traffic-protection-overview
I det digitala landskapet är skadlig trafik ett hot som aldrig tidigare förekommit. Adobe inser hur allvarlig risken är och erbjuder flera olika strategier för att skydda kundtillämpningar och mildra attacker när de inträffar.
I utkanten absorberar Adobe Managed CDN DoS-attacker i nätverkslagret (lager 3 och 4), inklusive översvämnings- och speglings-/amplifieringsattacker.
Som standard vidtar Adobe åtgärder för att förhindra prestandaförsämring på grund av oväntat höga trafikanter över ett visst tröskelvärde. Om det inträffar en DoS-attack som påverkar webbplatsens tillgänglighet får Adobe ledningsgrupper varningar och vidtar åtgärder för att minska risken.
Kunderna kan vidta förebyggande åtgärder för att mildra attacker i programlager (lager 7) genom att konfigurera regler i olika lager i innehållsleveransflödet.
På exempelvis Apache-lagret kan kunderna konfigurera antingen Dispatcher-modulen eller ModSecurity för att begränsa åtkomsten till visst innehåll.
Som beskrivs i den här artikeln kan trafikfilterregler distribueras till det hanterade CDN-nätverket i Adobe med hjälp av Cloud Manager config pipelines. Utöver trafikfilterregler som baseras på egenskaper som IP-adress, sökväg och rubriker, eller regler som baseras på att hastighetsgränser anges, kan kunder även licensiera en kraftfull underkategori av trafikfilterregler som kallas WAF-regler.
Föreslagen process suggested-process
Nedan följer en högnivårekommenderad process från början till slut för att komma fram till rätt trafikfilterregler:
- Konfigurera pipelines för icke-produktion och produktionskonfiguration enligt beskrivningen i avsnittet Inställningar.
- Kunder som har licensierat underkategorin till WAF trafikfilterregler bör aktivera dem i Cloud Manager.
- Läs igenom och prova självstudiekursen för att få en större förståelse för hur man använder trafikfilterregler, inklusive WAF-regler om de har licensierats. I självstudiekursen får du hjälp med att distribuera regler till en utvecklingsmiljö, simulera skadlig trafik, hämta CDN-loggarna och analysera dem i instrumentpanelsverktyget.
- Kopiera de rekommenderade startreglerna till
cdn.yaml
och distribuera konfigurationen till produktionsmiljön i loggläge. - När du har samlat in trafik analyserar du resultatet med instrumentpanelsverktyget för att se om det finns några matchningar. Leta upp felaktiga positiva inställningar och gör eventuella nödvändiga justeringar för att aktivera startreglerna i blockläge.
- Lägg till anpassade regler baserat på analys av CDN-loggarna, först testning med simulerad trafik i utvecklingsmiljöer innan driftsättning i scen- och produktionsmiljöer i loggläge, sedan blockläge.
- Övervaka trafiken kontinuerligt och ändra reglerna allteftersom hotbilden utvecklas.
Inställningar setup
-
Skapa en fil
cdn.yaml
med en uppsättning trafikfilterregler, inklusive WAF-regler.code language-none kind: "CDN" version: "1" metadata: envTypes: ["dev"] data: trafficFilters: rules: # Block simple path - name: block-path when: allOf: - reqProperty: tier matches: "author|publish" - reqProperty: path equals: '/block/me' action: block
Se Använda konfigurationsförlopp för en beskrivning av egenskaperna ovanför noden
data
. Egenskapsvärdetkind
ska anges till CDN och versionen ska anges till1
. -
Om WAF-regler är licensierade bör du aktivera funktionen i Cloud Manager enligt beskrivningen nedan för både nya och befintliga programscenarier.
-
Om du vill konfigurera WAF för ett nytt program markerar du kryssrutan WAF-DDOS Protection på fliken Säkerhet när du lägger till ett produktionsprogram.
-
Om du vill konfigurera WAF för ett befintligt program redigerar du programmet och avmarkerar eller markerar alternativet WAF-DDOS när som helst på fliken Säkerhet .
-
-
Skapa en konfigurationspipeline i Cloud Manager, enligt beskrivningen i konfigurationsförsäljningsartikeln. Pipelinen kommer att referera till en
config
-mapp på den översta nivån där filencdn.yaml
placeras någonstans under. Mer information finns i Använda konfigurationsförlopp.
Syntax för trafikfilterregler rules-syntax
Du kan konfigurera trafikfilterregler så att de matchar på mönster som IP, användaragent, begäranrubriker, värdnamn, geo och url.
Kunder som licensierar erbjudandet Förbättrat skydd eller WAF-DDoS-skydd kan även konfigurera en särskild kategori av trafikfilterregler som kallas WAF trafikfilterregler (eller WAF-regler för kort) som refererar till en eller flera WAF-flaggor.
Här är ett exempel på en uppsättning trafikfilterregler, som även innehåller en WAF-regel.
kind: "CDN"
version: "1"
metadata:
envTypes: ["dev"]
data:
trafficFilters:
rules:
- name: "path-rule"
when:
allOf:
- { reqProperty: path, equals: /block-me }
- { reqProperty: tier, equals: publish }
action:
type: block
- name: "Enable-SQL-Injection-and-XSS-waf-rules-globally"
when: { reqProperty: path, like: "*" }
action:
type: block
wafFlags: [ SQLI, XSS]
Formatet på trafikfilterreglerna i filen cdn.yaml
beskrivs nedan. Se några andra exempel i ett senare avsnitt och ett separat avsnitt om Regler för hastighetsbegränsning.
string
Condition
{ <getter>: <value>, <predicate>: <value> }
Se syntaxen för villkorsstruktur nedan, som beskriver get-metoder, predikatmetoder och hur du kombinerar flera villkor.
Action
RateLimit
Det finns ett separat avsnitt nedan som beskriver rateLimit-syntaxen, tillsammans med exempel.
Villkorsstruktur condition-structure
Ett villkor kan vara antingen ett enkelt villkor eller en grupp villkor.
Enkelt villkor
Ett enkelt villkor består av en get-metod och ett predikat.
{ <getter>: <value>, <predicate>: <value> }
Gruppvillkor
En grupp villkor består av flera enkla och/eller gruppvillkor.
<allOf|anyOf>:
- { <getter>: <value>, <predicate>: <value> }
- { <getter>: <value>, <predicate>: <value> }
- <allOf|anyOf>:
- { <getter>: <value>, <predicate>: <value> }
array[Condition]
array[Condition]
Getter
string
Request-egenskap.
En av:
path
: Returnerar den fullständiga sökvägen för en URL utan frågeparametrarna. (användpathRaw
för varianten unescape)url
: Returnerar den fullständiga URL:en inklusive frågeparametrarna. (användurlRaw
för varianten unescape)queryString
: Returnerar frågedelen av en URLmethod
: Returnerar HTTP-metoden som används i begäran.tier
: Returnerar ett avauthor
,preview
ellerpublish
.domain
: Returnerar egenskapen domain (enligt definition i rubrikenHost
) i gemenerclientIp
: Returnerar klient-IP.forwardedDomain
: Returnerar den första domänen som definieras i huvudetX-Forwarded-Host
i gemenerforwardedIp
: Returnerar den första IP-adressen i huvudetX-Forwarded-For
.clientRegion
: Returnerar landsindelningskoden som identifierar i vilken region klienten finns enligt beskrivningen i ISO 3166-2.clientCountry
: Returnerar en kod med två bokstäver (Regional indikatorsymbol) som identifierar i vilket land klienten finns.clientContinent
: Returnerar en kod med två bokstäver (AF, AN, AS, EU, NA, OC, SA) som identifierar i vilken kontinent klienten finns.clientAsNumber
: Returnerar det autonoma System-nummer som är associerat med klient-IP.clientAsName
: Returnerar namnet som är associerat med det autonoma systemnumret.
string
string
string
string
application/x-www-form-urlencoded
Förutse
string
string
string
string
string
string
array[string]
array[string]
boolean
Anteckningar
- Egenskapen
clientIp
för begäran kan bara användas med följande predikat:equals
,doesNotEqual
,in
,notIn
.clientIp
kan också jämföras med IP-intervall när predikatenin
ochnotIn
används. I följande exempel implementeras ett villkor för att utvärdera om en klient-IP ligger i IP-intervallet 192.168.0.0/24 (så från 192.168.0.0 till 192.168.0.255):
when:
reqProperty: clientIp
in: [ "192.168.0.0/24" ]
- Adobe rekommenderar att du använder regex101 och Fast Fiddle när du arbetar med regex. Du kan också lära dig mer om hur Snabbt hanterar regex från snabb dokumentation - Reguljära uttryck i Fastly VCL.
Åtgärdsstruktur action-structure
En action
kan antingen vara en sträng som anger åtgärden (allow, block eller log), eller ett objekt som består av både åtgärdstypen (allow, block eller log) och alternativ som wafFlags och/eller status.
Åtgärdstyper
Åtgärderna prioriteras utifrån deras typer i följande tabell, som ordnas för att återspegla den ordning som åtgärderna utförs:
wafFlags
(valfritt), alert
(valfritt)Om en varning anges skickas ett meddelande från Åtgärdscenter om regeln aktiveras 10 gånger i ett 5 minuter långt fönster. När en varning aktiveras för en viss regel utlöses den inte igen förrän nästa dag (UTC).
status, wafFlags
(valfritt och exklusivt), alert
(valfritt)Om en varning anges skickas ett meddelande från Åtgärdscenter om regeln aktiveras 10 gånger i ett 5 minuter långt fönster. När en varning aktiveras för en viss regel utlöses den inte igen förrän nästa dag (UTC).
wafFlags
(valfritt), alert
(valfritt)Om en varning anges skickas ett meddelande från Åtgärdscenter om regeln aktiveras 10 gånger i ett 5 minuter långt fönster. När en varning aktiveras för en viss regel utlöses den inte igen förrän nästa dag (UTC).
WAF Flags List waf-flags-list
Egenskapen wafFlags
, som kan användas i de licensbara WAF-trafikfilterreglerna, kan referera till följande:
Skadlig trafik
BAD-IP
och som innehåller en eller flera typer av attacker som listas i tabellen/bin/
CMDEXE
samtidigt som falskt positivt inaktiveras på /bin
på grund av AEM-arkitektur.CVE-<CVE Number>
. Kontakta Adobe om du vill veta mer om vilka CVE-program Adobe kommer att skydda dig mot.Misstänkt trafik
/foo/./bar
till /foo/bar
)SANS
, TORNODE
) eller eftersom de har identifierats som dåliga av WAF efter att de skickat för många skadliga begärandenContent-Encoding: gzip
-begärandehuvud har angetts och POST-brödtexten inte är oformaterad text..htaccess
-fil eller en konfigurationsfil som kan läcka känslig informationDiverse trafik
Överväganden considerations
-
När två konfliktskapande regler skapas har alltid de tillåtna reglerna företräde framför blockreglerna. Om du till exempel skapar en regel som blockerar en viss sökväg och en regel som tillåter en viss IP-adress, tillåts förfrågningar från den IP-adressen på den blockerade sökvägen.
-
Om en regel matchas och blockeras svarar CDN med returkoden
406
. -
Konfigurationsfilerna bör inte innehålla hemligheter eftersom de skulle kunna läsas av alla som har åtkomst till Git-databasen.
-
IP-tillåtelselista som definieras i Cloud Manager har högre prioritet än trafikfilterregler.
-
WAF-regelmatchningar visas endast i CDN-loggar för CDN-missar och -pass, inte träffar.
Exempel på regler examples
Vissa regelexempel följer. Se avsnittet tariffgräns längre ned för exempel på regler för hastighetsbegränsning.
Exempel 1
Den här regeln blockerar begäranden från IP192.168.1.1:
kind: "CDN"
version: "1"
metadata:
envTypes: ["dev"]
data:
trafficFilters:
rules:
- name: "block-request-from-ip"
when: { reqProperty: clientIp, equals: "192.168.1.1" }
action:
type: block
Exempel 2
Den här regeln blockerar begäran på sökvägen /helloworld
vid publicering med en användaragent som innehåller Chrome:
kind: "CDN"
version: "1"
metadata:
envTypes: ["dev"]
data:
trafficFilters:
rules:
- name: "block-request-from-chrome-on-path-helloworld-for-publish-tier"
when:
allOf:
- { reqProperty: path, equals: /helloworld }
- { reqProperty: tier, equals: publish }
- { reqHeader: user-agent, matches: '.*Chrome.*' }
action:
type: block
Exempel 3
Den här regeln blockerar begäranden vid publicering som innehåller frågeparametern foo
, men tillåter alla begäranden som kommer från IP 192.168.1.1:
kind: "CDN"
version: "1"
metadata:
envTypes: ["dev"]
data:
trafficFilters:
rules:
- name: "block-request-that-contains-query-parameter-foo"
when:
allOf:
- { queryParam: url-param, equals: foo }
- { reqProperty: tier, equals: publish }
action:
type: block
- name: "allow-all-requests-from-ip"
when: { reqProperty: clientIp, equals: 192.168.1.1 }
action:
type: allow
Exempel 4
Den här regeln blockerar begäranden till sökvägen /block-me
vid publicering och blockerar alla begäranden som matchar ett SQLI
- eller XSS
-mönster. Det här exemplet innehåller en WAF-trafikfilterregel som refererar till SQLI
och XSS
WAF Flags och därför kräver en separat licens.
kind: "CDN"
version: "1"
metadata:
envTypes: ["dev"]
data:
trafficFilters:
rules:
- name: "path-rule"
when:
allOf:
- { reqProperty: path, equals: /block-me }
- { reqProperty: tier, equals: publish }
action:
type: block
- name: "Enable-SQL-Injection-and-XSS-waf-rules-globally"
when: { reqProperty: path, like: "*" }
action:
type: block
wafFlags: [ SQLI, XSS]
Exempel 5
Den här regeln blockerar åtkomst till OFAC-länder:
kind: "CDN"
version: "1"
metadata:
envTypes: ["dev"]
data:
trafficFilters:
rules:
- name: block-ofac-countries
when:
allOf:
- reqProperty: tier
matches: "author|publish"
- reqProperty: clientCountry
in:
- SY
- BY
- MM
- KP
- IQ
- CD
- SD
- IR
- LR
- ZW
- CU
- CI
action: block
Regler för hastighetsbegränsning
Ibland är det önskvärt att blockera trafik om den överskrider en viss frekvens av inkommande begäranden, baserat på ett visst villkor. Om du anger ett värde för egenskapen rateLimit
begränsas hastigheten för de begäranden som matchar regelvillkoret.
Regler för hastighetsbegränsning kan inte referera till WAF-flaggor. De är tillgängliga för alla Sites- och Forms-kunder.
Kursen beräknas per CDN POP. Anta till exempel att POP i Montreal, Miami och Dublin har en trafikfrekvens på 80, 90 respektive 120 förfrågningar per sekund. Regeln för hastighetsbegränsning är satt till en gräns på 100. I så fall skulle endast trafiken till Dublin begränsas.
Hastighetsgränserna utvärderas baserat på antingen trafik som faller i kanten, trafik som faller i origo eller antalet fel.
rateLimit-struktur ratelimit-structure
Exempel ratelimiting-examples
Exempel 1
Den här regeln blockerar en klient i 5 millisekunder när den överskrider ett genomsnitt på 60 req/sek (per CDN-POP) under de senaste 10 sektionerna:
kind: "CDN"
version: "1"
metadata:
envTypes: ["dev"]
data:
trafficFilters:
rules:
- name: limit-requests-client-ip
when:
reqProperty: tier
matches: "author|publish"
rateLimit:
limit: 60
window: 10
penalty: 300
count: all
groupBy:
- reqProperty: clientIp
action: block
Exempel 2
Blockera begäranden på sökvägen/critical/resource i 60 sekunder när det överskrider ett genomsnitt på 100 begäranden till ursprungsläget per sekund (per CDN POP) i ett tidsfönster på tio sekunder:
kind: "CDN"
version: "1"
metadata:
envTypes: ["dev"]
data:
trafficFilters:
rules:
- name: rate-limit-example
when:
allOf:
- { reqProperty: path, equals: /critical/resource }
- { reqProperty: tier, equals: publish }
action:
type: block
rateLimit: { limit: 100, window: 10, penalty: 60, count: fetches }
CVE-regler cve-rules
Om WAF är licensierat tillämpar Adobe automatiskt blockeringsregler för att skydda mot många kända CVE-nummer (Common Vulnerabilities and Exposure), och nya CVE-nummer kan läggas till snart de upptäckts. Kunder bör inte och behöver inte konfigurera själva CVE-reglerna.
Om en trafikbegäran matchar en CVE-fil visas den i motsvarande CDN-loggpost.
Kontakta Adobe support om det finns frågor om en viss CVE eller om det finns en viss CVE-regel som din organisation vill inaktivera.
Varningar om trafikfilterregler traffic-filter-rules-alerts
En regel kan konfigureras att skicka ett meddelande från Åtgärdscenter om det aktiveras tio gånger inom ett 5 minuter långt fönster. En sådan regel varnar dig när vissa trafikmönster förekommer så att du kan vidta nödvändiga åtgärder. När en varning aktiveras för en viss regel utlöses den inte igen förrän nästa dag (UTC).
Läs mer om Åtgärdscenter, inklusive hur du konfigurerar de meddelandeprofiler som krävs för att ta emot e-postmeddelanden.
Varningsegenskapen kan användas för åtgärdsnoden för alla åtgärdstyper (allow, block, log).
kind: "CDN"
version: "1"
metadata:
envTypes: ["dev"]
data:
trafficFilters:
rules:
- name: "path-rule"
when:
allOf:
- { reqProperty: path, equals: /block-me }
- { reqProperty: tier, equals: publish }
action:
type: block
alert: true
Standardtrafikspik vid ursprungsvarning traffic-spike-at-origin-alert
Ett e-postmeddelande från Åtgärdscenter skickas när en stor mängd trafik skickas till ursprungsläget, där ett högt tröskelvärde för begäranden kommer från samma IP-adress, vilket tyder på en DDoS-attack.
Om detta villkor uppfylls blockerar Adobe trafik från den IP-adressen, men vi rekommenderar att du vidtar ytterligare åtgärder för att skydda ditt ursprung, inklusive konfigurering av trafikfiltreringsregler för hastighetsbegränsning för att blockera trafiktoppar vid lägre tröskelvärden. Se självstudiekursen Blockera DoS- och DDoS-attacker med trafikregler för en guidad genomgång.
Den här varningen är aktiverad som standard, men kan inaktiveras med egenskapen defaultTrafficAlerts inställd på false. När varningen har utlösts kommer den inte att utlösas igen förrän nästa dag (UTC).
kind: "CDN"
version: "1"
metadata:
envTypes: ["dev"]
data:
trafficFilters:
defaultTrafficAlerts: false
CDN-loggar cdn-logs
AEM as a Cloud Service ger åtkomst till CDN-loggar, som är användbara för fall som till exempel optimering av träffar i cache och konfigurering av trafikfilterregler. CDN-loggar visas i dialogrutan Cloud Manager Hämta loggar när du väljer författaren eller publiceringstjänsten.
CDN-loggar kan fördröjas upp till fem minuter.
Egenskapen rules
beskriver vilka trafikfilterregler som matchas och har följande mönster:
"rules": "match=<matching-customer-named-rules-that-are-matched>,waf=<matching-WAF-rules>,action=<action_type>"
Till exempel:
"rules": "match=Block-Traffic-under-private-folder,Enable-SQL-injection-everywhere,waf="SQLI,SANS",action=block"
Reglerna fungerar på följande sätt:
- Alla matchande regelnamn som har deklarerats av kunden listas i attributet
match
. - Attributet
action
avgör om regelblocket, tillåt eller loggen ska användas. - Om WAF är licensierat och aktiverat visar attributet
waf
alla WAF-flaggor (till exempel SQLI) som har identifierats. Detta gäller oavsett om WAF-flaggorna har listats i några regler eller inte. Detta är för att ge insikter i eventuella nya regler att deklarera. - Egenskapen
rules
är tom om inga kunddeklarerade regler matchar och inga SWF-regler matchar.
Som tidigare nämnts visas matchningar av WAF-regler endast i CDN-loggar för CDN-missar och -pass, inte träffar.
I exemplet nedan visas ett exempel på cdn.yaml
och två CDN-loggposter:
kind: "CDN"
version: "1"
metadata:
envTypes: ["dev"]
data:
trafficFilters:
rules:
- name: "path-rule"
when: { reqProperty: path, equals: /block-me }
action: block
- name: "Enable-SQL-Injection-and-XSS-waf-rules-globally"
when: { reqProperty: path, like: "*" }
action:
type: block
wafFlags: [ SQLI, XSS ]
{
"timestamp": "2023-05-26T09:20:01+0000",
"ttfb": 19,
"cli_ip": "147.160.230.112",
"cli_country": "CH",
"rid": "974e67f6",
"req_ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15",
"host": "example.com",
"url": "/block-me",
"method": "GET",
"res_ctype": "",
"cache": "PASS",
"status": 406,
"res_age": 0,
"pop": "PAR",
"rules": "match=path-rule,action=blocked"
}
{
"timestamp": "2023-05-26T09:20:01+0000",
"ttfb": 19,
"cli_ip": "147.160.230.112",
"cli_country": "CH",
"req_ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15",
"rid": "974e67f6",
"host": "example.com",
"url": "/?sqli=%27%29%20UNION%20ALL%20SELECT%20NULL%2CNULL%2CNULL%2CNULL%2CNULL%2CNULL%2CNULL%2CNULL%2CNULL%2CNULL--%20fAPK",
"method": "GET",
"res_ctype": "image/png",
"cache": "PASS",
"status": 406,
"res_age": 0,
"pop": "PAR",
"rules": "match=Enable-SQL-Injection-and-XSS-waf-rules-globally,waf=SQLI,action=blocked"
}
Loggformat cdn-log-format
Nedan finns en lista med de fältnamn som används i CDN-loggar, tillsammans med en kort beskrivning.
Anger också om matchningen resulterade i ett block.
Exempel:
match=Enable-SQL-Injection-and-XSS-waf-rules-globally,waf=SQLI,action=blocked
Tom om inga regler matchar.
Verktyg för instrumentpanel dashboard-tooling
Adobe har en funktion för att hämta instrumentpanelsverktyg till din dator för att importera CDN-loggar som hämtats via Cloud Manager. Med den här verktygen kan du analysera trafiken för att hitta rätt trafikfilterregler som ska deklareras, inklusive WAF-regler.
Instrumentpanelsverktygen kan klonas direkt från GitHub-databasen AEMCS-CDN-Log-Analysis-Tooling.
Självstudiekurser finns tillgängliga för konkreta anvisningar om hur du använder instrumentpanelsverktygen.
Rekommenderade startregler recommended-starter-rules
Du kan kopiera de rekommenderade reglerna nedan till din cdn.yaml
för att komma igång. Starta i loggläge, analysera trafiken och när du är nöjd ändras den till blockläge. Du kanske vill ändra reglerna baserat på de unika egenskaperna för webbplatsens livstrafik.
kind: "CDN"
version: "1"
metadata:
envTypes: ["dev", "stage", "prod"]
data:
trafficFilters:
rules:
# Block client for 5m when it exceeds an average of 100 req/sec to origin on a time window of 10sec
- name: limit-origin-requests-client-ip
when:
reqProperty: tier
equals: 'publish'
rateLimit:
limit: 100
window: 10
count: fetches
penalty: 300
groupBy:
- reqProperty: clientIp
action: log
# Block client for 5m when it exceeds an average of 500 req/sec on a time window of 10sec
- name: limit-requests-client-ip
when:
reqProperty: tier
equals: 'publish'
rateLimit:
limit: 500
window: 10
count: all
penalty: 300
groupBy:
- reqProperty: clientIp
action: log
# Block requests coming from OFAC countries
- name: block-ofac-countries
when:
allOf:
- { reqProperty: tier, in: ["author", "publish"] }
- reqProperty: clientCountry
in:
- SY
- BY
- MM
- KP
- IQ
- CD
- SD
- IR
- LR
- ZW
- CU
- CI
action: log
# Enable recommended WAF protections (only works if WAF is licensed enabled for your environment)
- name: block-waf-flags-globally
when:
reqProperty: tier
in: ["author", "publish"]
action:
type: log
wafFlags:
- TRAVERSAL
- CMDEXE-NO-BIN
- XSS
- LOG4J-JNDI
- BACKDOOR
- USERAGENT
- SQLI
- SANS
- TORNODE
- NOUA
- SCANNER
- PRIVATEFILE
- NULLBYTE
Självstudiekurser tutorial
Det finns två självstudiekurser.
Skydda webbplatser med trafikfilterregler (inklusive WAF regler) tutorial-protecting-websites
Arbeta igenom en självstudiekurs för att få allmän, praktisk kunskap och erfarenhet om trafikfilterregler, inklusive WAF regler.
Självstudiekursen leder dig igenom:
- Ställa in Cloud Manager konfigurationsflöde
- Använda verktyg för att simulera skadlig trafik
- Deklarera trafikfilterregler, inklusive WAF-regler
- Analysera resultat med kontrollpanelsverktyg
- God praxis
Blockera DoS- och DDoS-attacker med trafikfilterregler tutorial-blocking-DDoS-with-rules
Detaljerad information om hur du blockerarDoS-attacker (Denial of Service) och DDoS-attacker (Distributed Denial of Service) med trafikfilterregler för hastighetsbegränsning och andra strategier.
Självstudiekursen leder dig igenom:
- skydd
- få meddelanden när hastighetsgränserna överskrids
- analysera trafikmönster med kontrollpanelsverktyg för att konfigurera tröskelvärden för trafikfilterregler för hastighetsbegränsning