Cloud & IT Cert Prep · Lektion

CloudFront med WAF og Lambda@Edge

Tilknyt AWS WAF for at blokere almindelige webangreb, og udfør lette transformationer af forespørgsler og svar ved kanten med Lambda@Edge.

Lektion 4 af 413 trin

CloudFront med WAF og Lambda@Edge er en gratis Cloud & IT Cert Prep-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Cloud & IT Cert Prep, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Cloud & IT Cert Prep-kurset indeholder 4 lektioner i alt.

Beskyttelse af CloudFront med AWS WAF

AWS WAF (Web Application Firewall) filtrerer og overvåger HTTP/HTTPS-anmodninger, der når din CloudFront-distribution. Ved at knytte en WAF-Web ACL til din distribution kan du blokere almindelige webudnyttelser – SQL-injektion, cross-site scripting (XSS), skadelige bots og OWASP Top 10-angreb – før de når din oprindelse.

WAF fungerer ved CloudFronts edge-lokation, hvilket betyder, at skadelige anmodninger afvises ved den nærmeste edge-lokation i stedet for at nå din ALB eller applikationsserver. Det reducerer belastningen på din backend og stopper angreb tættere på angriberen.

# Associate a WAF Web ACL with a CloudFront distribution
aws wafv2 associate-web-acl \
  --web-acl-arn arn:aws:wafv2:us-east-1:123456789:global/webacl/MyACL/12345 \
  --resource-arn arn:aws:cloudfront::123456789:distribution/EDFDVBD6EXAMPLE

WAF-regler og regelgrupper

En WAF Web ACL indeholder ordnede regler og regelgrupper, som hver matcher anmodningsattributter og udfører en handling (Allow, Block, Count, CAPTCHA). Reglerne evalueres i prioritetsrækkefølge, og handlingen for den første matchende regel anvendes.

AWS stiller administrerede regelgrupper til rådighed – forudbyggede regelsæt, der vedligeholdes af AWS og sælgere på AWS Marketplace. AWS Managed Rules - Core Rule Set dækker OWASP Top 10 uden konfiguration. AWS opdaterer administrerede regelgrupper, når nye trusler opstår, hvilket reducerer din driftsbyrde.

# Create a Web ACL with AWS Managed Core Rule Set
aws wafv2 create-web-acl \
  --name MyCloudFrontACL \
  --scope CLOUDFRONT \
  --default-action Allow={} \
  --rules '[{
    "Name": "CoreRuleSet",
    "Priority": 1,
    "Statement": {
      "ManagedRuleGroupStatement": {
        "VendorName": "AWS",
        "Name": "AWSManagedRulesCommonRuleSet"
      }
    },
    "OverrideAction": {"None": {}},
    "VisibilityConfig": {
      "SampledRequestsEnabled": true,
      "CloudWatchMetricsEnabled": true,
      "MetricName": "CoreRuleSet"
    }
  }]' \
  --visibility-config SampledRequestsEnabled=true,CloudWatchMetricsEnabled=true,MetricName=MyACL \
  --region us-east-1

WAF-hastighedsbegrænsning og botkontrol

Hastighedsbaserede regler i WAF tæller anmodninger fra hver kilde-IP-adresse over et vindue på 5 minutter. Hvis en IP-adresse overskrider tærsklen (f.eks. 2.000 anmodninger pr. 5 minutter), blokerer WAF yderligere anmodninger fra den pågældende IP-adresse, indtil hastigheden falder. Hastighedsbaserede regler beskytter mod brute force, credential stuffing og simple DDoS-scrapingangreb.

AWS WAF Bot Control er en administreret regelgruppe, der klassificerer trafik i kategorier: bekræftede bots (Googlebot, Bingbot), scrapingværktøjer, overvågningsværktøjer og menneskelig trafik. Du kan konfigurere forskellige handlinger pr. kategori – tillade søgemaskiners bots, udfordre ukendte bots med CAPTCHA og blokere skadelige scrapingværktøjer.

WAF-omfang: CLOUDFRONT i forhold til REGIONAL

WAF Web ACL'er har enten omfanget CLOUDFRONT (globalt, til brug med CloudFront) eller REGIONAL (til brug med ALB, API Gateway, AppSync eller Cognito User Pools i en bestemt Region). CloudFront-omfattede WAF-ACL'er skal oprettes i us-east-1 Region, uanset hvor trafikken kommer fra, fordi CloudFront administreres fra denne Region.

Dette er en vigtig eksamensfælde: Hvis du opretter en WAF Web ACL i eu-west-1 og forsøger at knytte den til CloudFront, mislykkes tilknytningen. Opret altid CloudFront-WAF-ACL'er i us-east-1.

Introduktion til Lambda@Edge

Lambda@Edge giver dig mulighed for at køre Lambda-funktioner i Node.js eller Python ved CloudFronts edge-lokationer som reaktion på CloudFront-hændelser. Funktionerne kører inden for millisekunder efter brugerens anmodning uden at dirigere trafikken tilbage til en central Region til behandling.

Lambda@Edge-funktioner implementeres i us-east-1 Region, men replikeres automatisk til alle CloudFronts edge-lokationer globalt. Det betyder, at din kode udføres så tæt på brugeren som muligt, hvilket muliggør personalisering, godkendelse og A/B-test ved edge-lokationen med minimal ekstra latenstid.

Udløsende punkter for Lambda@Edge

Lambda@Edge-funktioner kan opfange CloudFront-anmodninger og -svar på fire punkter i livscyklussen:

  • Viewer Request: efter CloudFront modtager anmodningen fra seeren og før cachekontrol – bruges til godkendelse, omdirigeringer og ændring af headere
  • Origin Request: efter et cache-miss og før videresendelse til oprindelsen – bruges til omskrivning af URL'er og brugerdefinerede headere til oprindelsen
  • Origin Response: efter modtagelse af svaret fra oprindelsen og før det caches – bruges til at tilføje sikkerhedsheadere og ændre svaret
  • Viewer Response: før CloudFront sender svaret til seeren – bruges til at tilføje eller ændre svarheadere

Lambda@Edge i forhold til CloudFront Functions

AWS tilbyder to muligheder for edge-beregning med forskellige afvejninger:

  • CloudFront Functions: udførelse på under et millisekund, kun JavaScript, ekstremt lave omkostninger (~1/6 af prisen), kører kun ved hændelserne Viewer Request og Viewer Response, grænse på 1 ms beregningstid og ingen VPC-/netværksadgang
  • Lambda@Edge: op til 30 sekunders (Viewer) / 30 sekunders (Origin) udførelsestid, Node.js eller Python, alle fire udløsende punkter, kan foretage netværksanmodninger og har adgang til anmodnings- og svarlegemer

Brug CloudFront Functions til enkel ændring af headere, normalisering af URL'er og beregning af cache-nøgler. Brug Lambda@Edge til kompleks logik, der kræver netværkskald, længere beregning eller behandling på oprindelsessiden.

Anvendelser af Lambda@Edge

Almindelige Lambda@Edge-mønstre på SAA-C03-eksamen:

  • Validering af JWT ved edge-lokationen: Viewer Request-funktionen validerer en Authorization-header; uautoriserede anmodninger returnerer 401 uden at ramme oprindelsen
  • A/B-test: Viewer Request tildeler brugere til gruppe A eller B (via en cookie) og ændrer anmodningen, så den henter /a/page.html eller /b/page.html
  • Omskrivning af URL'er: Origin Request omskriver læsevenlige URL'er til de faktiske filstier i S3
  • Dynamisk ændring af billedstørrelse: Origin Request konstruerer en anmodning til en Lambda til billedbehandling; Origin Response cacher billedet i den ændrede størrelse
  • HTTP-sikkerhedsheadere: Viewer Response indsætter CSP-, HSTS- og X-Frame-Options-headere

Begrænsninger ved Lambda@Edge

Lambda@Edge har flere begrænsninger sammenlignet med standard-Lambda:

  • Funktioner skal være i regionen us-east-1
  • Ingen understøttelse af VPC (kan ikke få adgang til ressourcer i en VPC)
  • Ingen miljøvariabler (indlejr konfigurationen i funktionskoden, eller hent den fra Parameter Store ved kold opstart)
  • Kan ikke bruge Lambda Layers
  • Timeout for viewer-hændelser: 5 sekunder; timeout for origin-hændelser: 30 sekunder
  • Grænse for størrelsen på implementeringspakken: 1 MB (viewer-hændelser) / 50 MB (origin-hændelser)

Disse begrænsninger gør Lambda@Edge uegnet til langvarige beregninger, operationer der afhænger af en VPC, eller funktioner der kræver dynamisk konfiguration for hver implementering.

WAF + Lambda@Edge: Lagdelt sikkerhed

WAF og Lambda@Edge har forskellige sikkerhedsroller og supplerer hinanden:

  • WAF: signaturbaseret blokering af angreb (SQL-injektion, XSS, kendte angribere, hastighedsbegrænsning)—administrerede regler håndterer almindelige angreb automatisk
  • Lambda@Edge: sikkerhed baseret på tilpasset forretningslogik (JWT-validering, sessionskontrol, kontrol af adgangstokens)—fleksibelt, men kræver udviklingsarbejde

En arkitektur med forsvar i dybden: WAF blokerer først kendte angrebsmønstre; Lambda@Edge validerer godkendelse på forretningsniveau; signerede CloudFront-URL'er/-cookies begrænser adgangen til indhold; OAC holder S3 privat. Hvert lag forhindrer uafhængigt en forskellig type angreb.

Overvågning af WAF og Lambda@Edge

Overvåg dit sikkerhedslag ved kanten med disse værktøjer:

  • WAF-logge: aktivér fuld logning af forespørgsler til S3, CloudWatch Logs eller Kinesis Firehose for at se, hvilke regler der matches, og hvilken trafik der blokeres
  • WAF-metrikker: BlockedRequests, AllowedRequests, CountedRequests pr. regel i CloudWatch
  • Lambda@Edge-logge: CloudWatch Logs-grupper oprettes i hver region, hvor funktionen udføres; brug CloudWatch Insights til at forespørge på tværs af regioner
  • CloudFront Real-Time Logs: stream adgangslogge til Kinesis for øjeblikkelig analyse (i modsætning til standardadgangslogge, som samles hvert par minutter)

Hurtigt tjek

Test din forståelse af AWS Solutions Architect-koncepterne (SAA-C03) fra denne lektion.

Opsummering af lektionen

I denne lektion lærte du, at AWS WAF blokerer almindelige webangreb ved CloudFront-kanten ved hjælp af administrerede og tilpassede regelsæt, at Lambda@Edge kører tilpasset kode ved fire CloudFront-udløsningspunkter globalt, og at CloudFront Functions tilbyder udførelse på under et millisekund til enkel logik på viewer-siden. WAF-ACL'er til CloudFront skal oprettes i us-east-1. Næste gang undersøger vi Application-, Network- og Gateway Load Balancers.

Gratis at komme i gang

Lær Cloud & IT Cert Prep med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
150
Lektioner
600

Ofte stillede spørgsmål

Er lektionen “CloudFront med WAF og Lambda@Edge” gratis?

Ja — hele teksten til “CloudFront med WAF og Lambda@Edge” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Cloud & IT Cert Prep-kurset, skal du opgradere til CoddyKit PRO. Cloud & IT Cert Prep-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “CloudFront med WAF og Lambda@Edge”?

Tilknyt AWS WAF for at blokere almindelige webangreb, og udfør lette transformationer af forespørgsler og svar ved kanten med Lambda@Edge. Du øver dig i Cloud & IT Cert Prep med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Cloud & IT Cert Prep?

Der kræves ingen tidligere erfaring. Cloud & IT Cert Prep på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “CloudFront med WAF og Lambda@Edge”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Cloud & IT Cert Prep-lektion?

Ja. Alle Cloud & IT Cert Prep-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. CloudFront-distributioner og origins
  2. Cacheadfærd og TTL-indstillinger
  3. Signerede URL'er, signerede cookies og geobegrænsning
  4. CloudFront med WAF og Lambda@Edge
← Tilbage til Cloud & IT Cert Prep