AWS WAF
Security Cloud Practitioner Solutions Architect Associate

AWS WAF

AWS Web Application Firewall

Firewall aplikacji webowych w chmurze AWS. Chron swoje aplikacje przed SQL injection, XSS, botami i innymi zagrożeniami warstwy 7 - zintegrowany z CloudFront, ALB i API Gateway.

AWS WAF (Web Application Firewall) to zarzadzany firewall warstwy aplikacji (Layer 7), ktory chroni Twoje aplikacje webowe i API przed typowymi atakami internetowymi. Zamiast konfigurowac wlasny WAF na serwerze, dostajesz w pelni zarzadzane rozwiazanie zintegrowane z CloudFront, Application Load Balancer i API Gateway.

WAF pozwala tworzyc Web ACL (Access Control Lists) z regulami, ktore filtruja ruch HTTP/HTTPS. Mozesz blokowac SQL injection, cross-site scripting (XSS), ograniczac ruch z konkretnych krajow, ustawiac rate limiting i korzystac z gotowych Managed Rule Groups od AWS i partnerow z Marketplace.

Czy wiesz, ze...

AWS WAF przetwarza reguly w kolejnosci priorytetu (od najnizszego numeru). Jezeli request pasuje do reguly z akcja Block, jest natychmiast odrzucany - pozostale reguly nie sa sprawdzane. Dlatego kolejnosc regul ma ogromne znaczenie!

Pro Tip

Zacznij od AWS Managed Rule Groups (Core Rule Set + Known Bad Inputs) w trybie COUNT (nie BLOCK) przez tydzien. Analizuj logi w S3, upewnij sie ze nie blokujesz legit traffic, dopiero potem przelacz na BLOCK. Uzywaj Bot Control jesli masz problem z scraping - ale uwaga, kosztuje $10/mies. extra + $1/mln inspekcji.

Uwaga

AWS Managed Rules pokrywaja ~80% typowych atakow, ale nie zastepuja bezpiecznego kodu. WAF nie ochroni Cie przed business logic flaws, broken authentication czy IDOR. Traktuj WAF jako dodatkowa warstwe, nie jedyna linie obrony. Rate-based rules ustaw ostroznie - zbyt niski limit zablokuje prawdziwych uzytkownikow.

AWS WAF (Web Application Firewall) to zarzadzany firewall warstwy aplikacji (L7), ktory chroni aplikacje webowe przed typowymi atakami jak SQL injection, XSS czy DDoS. WAF analizuje kazde zadanie HTTP/HTTPS i na podstawie zdefiniowanych regul decyduje, czy je przepuscic, zablokowac, czy oznaczyc do dalszej analizy.

1

Tworzenie Web ACL

Web ACL (Access Control List) to glowny kontener regul WAF. Tworzy sie go w regionie, w ktorym dziala chroniony zasob (ALB, API Gateway) lub globalnie dla CloudFront. Web ACL ma domyslna akcje (Allow lub Block) stosowana do zadan, ktore nie pasuja do zadnej reguly. Kazdy Web ACL moze chronic wiele zasobow, ale kazdy zasob moze miec przypisany tylko jeden Web ACL.

2

Rule Groups - grupy regul

Rule Groups to kolekcje regul WAF zarzadzane jako jedna jednostka. Moga byc: AWS Managed Rules (gotowe zestawy od AWS), AWS Marketplace Rules (od vendorow security) lub Twoje wlasne (custom). Kazda rule group ma capacity units (WCU) - budzet obliczeniowy. Web ACL ma limit 5000 WCU - zarzadzaj nim swiadomie, bo zlozzone reguly regex zjadaja wiecej WCU niz proste IP match.

3

AWS Managed Rules - gotowa ochrona

AWS dostarcza zarzadzane zestawy regul aktualizowane automatycznie. Core Rule Set (CRS) chroni przed OWASP Top 10: SQL injection, XSS, path traversal, local file inclusion. Dodatkowe zestawy: Known Bad Inputs (Log4j, Spring4Shell), Amazon IP Reputation List (znane zlosliwe IP), Anonymous IP List (TOR, VPN, proxy). Wlacz CRS jako minimum dla kazdej aplikacji webowej.

4

Custom Rules - reguly dopasowane do aplikacji

Custom Rules pozwalaja tworzyc reguly specyficzne dla Twojej aplikacji. Mozesz filtrowac po: URI path, query string, headers, body, HTTP method, IP address, geolokalizacji (kraj). Warunki lacza sie operatorami AND/OR/NOT. Regex pattern sets pozwalaja na zlozzone dopasowania - np. blokowanie requestow z podejrzanymi User-Agentami lub nietypowymi wzorcami w parametrach URL.

5

Rate-based Rules - ochrona przed DDoS

Rate-based rules automatycznie blokuja adresy IP, ktore przekraczaja zdefiniowany prog zadan w 5-minutowym oknie. Prog to minimum 100 zadan na 5 minut. Mozesz tworzyc scope-down statements - np. rate limiting tylko na /api/login (ochrona przed brute force) lub tylko dla zadan z konkretnego kraju. Po spadku ruchu ponizej progu, IP jest automatycznie odblokowany.

6

Logging i monitorowanie

WAF moze logowac kazde analizowane zadanie do: S3 (pelne logi, najtansze), CloudWatch Logs (real-time monitoring i alarmy) lub Kinesis Data Firehose (streaming do SIEM). Logi zawieraja: akcje (Allow/Block/Count), dopasowana regule, headers, URI, source IP i timestamp. Skonfiguruj log filtering, zeby logowac tylko zablokowane zadania - to drastycznie zmniejsza koszty logowania.

Sprawdzone praktyki z wdrazania i operowania AWS WAF w srodowiskach produkcyjnych - od wyboru regul po strategie testowania.

AWS Managed Rules jako baseline

Zacznij od AWS Managed Rules: Core Rule Set + Known Bad Inputs + Amazon IP Reputation List. Te trzy zestawy pokrywaja wiekszosc typowych atakow i sa automatycznie aktualizowane przez AWS. Nie probuj pisac wlasnych regul na SQL injection czy XSS - managed rules sa testowane na miliardach zadan dziennie. Custom rules dodawaj dopiero dla logiki specyficznej dla Twojej aplikacji (np. walidacja niestandardowych headerow).

Poczatkujacy

Rate-based rules na krytycznych endpointach

Skonfiguruj rate-based rules na endpointach podatnych na abuse: login (brute force), rejestracja (spam), API (scraping), checkout (carding). Ustal progi na podstawie normalnego ruchu - przeanalizuj logi z ostatnich 30 dni. Zacznij od wyzszych progow i stopniowo je obnizaj. Uzywaj scope-down statements z URI path matching, zeby rate limiting nie blokowal normalnych uzytkownikow na reszcie strony.

Poczatkujacy

IP Reputation i Bot Control

Amazon IP Reputation List blokuje znane zlosliwe adresy IP (botnety, skanery, spamery). Bot Control (platny managed rule set) rozpoznaje i kategoryzuje boty: verified bots (Googlebot, Bingbot - przepusc), self-identified bots (sprawdz) i automated bots (blokuj lub CAPTCHA). Bot Control jest drogi ($10/M zadan), wiec wlaczaj go tylko na endpointach narazonych na boty, nie na calej aplikacji.

Zaawansowany

Custom response bodies - przyjazne blokowanie

Domyslnie WAF zwraca suchy HTTP 403. Skonfiguruj custom response bodies, zeby uzytkownik widzial przyjazna strone z informacja, dlaczego zostal zablokowany i jak skontaktowac sie z supportem. Mozesz definiowac rozne odpowiedzi per regula - np. inna strona dla rate limiting (sprobuj za chwile), inna dla geo-blocking (usluga niedostepna w Twoim regionie). Format: HTML, JSON lub plain text.

Poczatkujacy

Count mode - testowanie bez blokowania

Nigdy nie wdrazaj nowych regul od razu w trybie Block. Ustaw akcje na Count (zliczanie) na minimum 7 dni i analizuj logi. Sprawdz, czy reguly nie generuja false positives - np. Managed Rules moga blokowac legalne requesty z duzym payloadem JSON lub specjalnymi znakami w formularzach. Dopiero po potwierdzeniu, ze false positive rate jest akceptowalny, przelacz na Block.

Zaawansowany

Scope-down statements i priorytet regul

Reguly w Web ACL sa ewaluowane wedlug priorytetu (nizszy numer = wyzszy priorytet). Umieszczaj IP allowlist na samej gorze (priorytet 0) - zaufane IP powinny byc przepuszczane bez dalszej analizy. Rate-based rules dawaj wyzszy priorytet niz managed rules. Uzywaj scope-down statements w managed rules, zeby wylaczac konkretne reguly dla okreslonych sciezek (np. wylacz SQL injection check na endpoincie przyjmujacym HTML/code).

Zaawansowany

Screenshoty z AWS Console

Wkrotce pojawia sie tu zrzuty ekranu pokazujace jak korzystac z AWS WAF bezposrednio w konsoli AWS.

Do czego sluzy AWS WAF?

01

Ochrona przed SQL injection i XSS

Automatycznie wykrywaj i blokuj proby wstrzykniecia SQL oraz ataki cross-site scripting za pomoca Managed Rules lub wlasnych regul.

02

Rate limiting i ochrona przed botami

Ustaw limity requestow na IP i korzystaj z AWS Bot Control, zeby blokowac szkodliwe boty, scrapery i ataki brute-force.

03

Geo-blocking

Blokuj lub zezwalaj na ruch z wybranych krajow. Przydatne do zgodnosci z regulacjami lub ograniczenia zasięgu aplikacji.

04

Ochrona API

Zabezpiecz REST i WebSocket API w API Gateway przed naduzywaniem, nieautoryzowanym dostepem i typowymi atakami na API.

Co musisz wiedziec?

Web ACL

Glowny zasob WAF. Zestaw regul okreslajacych, ktory ruch przepuscic (Allow), zablokowac (Block) lub policzyc (Count). Przypinasz go do CloudFront, ALB lub API Gateway.

Rule Group

Grupa regul wielokrotnego uzytku. AWS dostarcza Managed Rule Groups (np. AWSManagedRulesCommonRuleSet), mozesz tez tworzyc wlasne lub kupic od partnerow w Marketplace.

Rate-based Rule

Regula, ktora automatycznie blokuje IP przekraczajace ustalony limit requestow w 5-minutowym oknie. Swietna ochrona przed DDoS i brute-force.

IP Set

Lista adresow IP lub zakresow CIDR, ktore mozesz uzyc w regulach WAF do blokowania lub zezwalania na ruch z konkretnych zrodel.

Bot Control

Managed Rule Group od AWS, ktory klasyfikuje boty (verified, self-identified, bad) i pozwala podejmowac rozne akcje w zaleznosci od kategorii bota.

Scope

WAF dziala w dwoch scope: REGIONAL (ALB, API Gateway, AppSync) i CLOUDFRONT (dystrybucje CloudFront - tylko region us-east-1).

Architektura: Ochrona aplikacji webowej z AWS WAF

Wielowarstwowa ochrona aplikacji webowej z WAF na froncie, logowaniem do S3 i monitoringiem w CloudWatch. WAF analizuje kazde zadanie HTTP zanim dotrze do aplikacji.

Uzytkownik Zadanie HTTP/HTTPS z przegladarki lub API clienta
HTTPS request
CloudFront / ALB
CloudFront / ALB Punkt wejscia: CDN lub load balancer z przypisanym Web ACL
inspect request
AWS WAF
AWS WAF Ewaluacja regul: managed rules, rate limiting, custom rules, bot control
allow/block
Aplikacja EC2, ECS, Lambda - tylko legalne zadania po przejsciu WAF
log delivery
S3 (WAF Logs)
S3 (WAF Logs) Pelne logi WAF: kazde zadanie, dopasowana regula, akcja
metrics
CloudWatch
CloudWatch Metryki: BlockedRequests, AllowedRequests, alarmy na anomalie
Zawsze testuj nowe reguly w trybie Count przed wlaczeniem Block - unikniesz blokowania legalnych uzytkownikow.
Rate-based rules automatycznie blokuja IP po przekroczeniu progu i odblokowuja po spadku ruchu.
WAF dziala na warstwie 7 (HTTP) - do ochrony na warstwie 3/4 (siec) uzywaj AWS Shield.

Porownanie WAF vs Shield vs Security Groups vs NACLs

Serwis Warstwa Chroni przed Poziom Stateful Koszt Najlepszy dla
WAF L7 (HTTP/HTTPS) SQL injection, XSS, boty CloudFront/ALB/API GW Tak (sesje HTTP) $5/web ACL + $1/regula + req Ochrona aplikacji web
Shield L3/L4 (DDoS) Volumetric DDoS Cala infrastruktura N/A Standard: darmowy, Advanced: $3000/mies. Ochrona przed DDoS
Security Groups L4 (TCP/UDP) Nieautoryzowany ruch sieciowy Instancja/ENI Tak (return traffic auto) Darmowy Firewall instancji
NACLs L4 (TCP/UDP) Nieautoryzowany ruch sieciowy Subnet Nie (reguly in+out) Darmowy Dodatkowa warstwa sieci

Ile kosztuje AWS WAF?

Web ACL

Stala oplata miesieczna za kazdy Web ACL.

$5.00/miesiac za Web ACL

Reguly

Oplata za kazda regule dodana do Web ACL.

$1.00/miesiac za regule

Requesty

Oplata za kazdy milion requestow przetworzonych przez WAF.

$0.60 za milion requestow

Bot Control

Dodatkowa oplata za uzycie AWS Bot Control managed rule group.

$10.00/mies. + $1.00 za milion requestow (common), wiecej za targeted

Przyklady AWS CLI

Utworz IP Set

Tworzy zestaw adresow IP do blokowania w regulach WAF

aws wafv2 create-ip-set \
 --name ZablokowaneBoty \
 --scope REGIONAL \
 --ip-address-version IPV4 \
 --addresses "192.0.2.0/24" "198.51.100.0/24"

Utworz Web ACL

Tworzy Web ACL z domyslna akcja Allow i Managed Rules

aws wafv2 create-web-acl \
 --name MojaAplikacjaACL \
 --scope REGIONAL \
 --default-action Allow={} \
 --rules '[{"Name":"AWSManagedRules","Priority":1,"Statement":{"ManagedRuleGroupStatement":{"VendorName":"AWS","Name":"AWSManagedRulesCommonRuleSet"}},"OverrideAction":{"None":{}},"VisibilityConfig":{"SampledRequestsEnabled":true,"CloudWatchMetricsEnabled":true,"MetricName":"AWSManagedRules"}}]' \
 --visibility-config SampledRequestsEnabled=true,CloudWatchMetricsEnabled=true,MetricName=MojaAplikacjaACL

Wyswietl Web ACL

Pobiera szczegoly Web ACL wraz z regulami

aws wafv2 get-web-acl \
 --name MojaAplikacjaACL \
 --scope REGIONAL \
 --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Sprawdz samplowane requesty

Wyswietla probke requestow przetworzonych przez regule

aws wafv2 get-sampled-requests \
 --web-acl-arn arn:aws:wafv2:eu-central-1:123456789012:regional/webacl/MojaAplikacjaACL/a1b2c3d4 \
 --rule-metric-name AWSManagedRules \
 --scope REGIONAL \
 --time-window StartTime=2024-01-01T00:00:00Z,EndTime=2024-01-02T00:00:00Z \
 --max-items 10

Quiz: AWS WAF

Sprawdz czy dobrze rozumiesz podstawy. Kliknij odpowiedz — feedback pojawi sie od razu.

Twoj wynik: 0 / 4

1. Z ktorymi serwisami AWS mozna zintegrowac AWS WAF?

2. Co to jest Rate-based Rule w AWS WAF?

3. Jaka jest domyslna akcja Web ACL, gdy zadna regula nie pasuje do requestu?

4. Czym sa Managed Rule Groups w AWS WAF?

Chcesz poznac AWS WAF w praktyce?

Darmowy kurs "AWS od podstaw" pokazuje jak uzywac AWS WAF krok po kroku. Teoria + praktyka od zera.

Zacznij darmowy kurs Wszystkie serwisy