WAF, Shield i Network Firewall
Blokować ataki z pierwszej dziesiątki OWASP za pomocą AWS WAF, chronić przed DDoS dzięki Shield Standard i Advanced oraz wdrażać stanową zaporę Network Firewall w VPC.
WAF, Shield i Network Firewall to bezpłatna lekcja Cloud & IT Cert Prep na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cloud & IT Cert Prep, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.
Wielowarstwowa ochrona sieci
Ochrona aplikacji przed atakami sieciowymi wymaga zastosowania wielu warstw zabezpieczeń. AWS udostępnia trzy uzupełniające się usługi: AWS WAF (Web Application Firewall) filtruje ruch HTTP na poziomie 7 na podstawie reguł blokujących ataki na warstwę aplikacji. AWS Shield chroni przed atakami DDoS (Distributed Denial of Service) na warstwach 3 i 4. AWS Network Firewall to stanowa zapora sieciowa służąca do inspekcji i filtrowania ruchu na poziomie VPC. Razem usługi te obsługują różne wektory zagrożeń i zazwyczaj są wdrażane łącznie w celu zapewnienia kompleksowej ochrony.
# Layer coverage:
# Network Firewall: Layer 3-7 VPC traffic (stateful)
# Shield Standard: Layer 3-4 DDoS (automatic, free)
# Shield Advanced: Layer 3-7 DDoS + response team
# WAF: Layer 7 HTTP/HTTPS (application attacks)
# Typical deployment:
# Internet -> CloudFront+WAF -> ALB+WAF -> EC2/ECS
# Network Firewall in VPC for egress/lateral inspection
# Shield protects all traffic automaticallyAWS WAF: Web Application Firewall
AWS WAF filtruje żądania HTTP/HTTPS na podstawie zdefiniowanych reguł. WAF integruje się z usługami CloudFront, ALB, API Gateway, AppSync i Cognito. Reguły mogą dopasowywać: zestawy adresów IP (blokowanie lub zezwalanie określonym adresom IP), dopasowanie geograficzne (blokowanie żądań z określonych krajów), reguły oparte na częstotliwości (blokowanie adresów IP przekraczających określoną częstotliwość żądań — ochrona przed zalewaniem), zarządzane grupy reguł (gotowe reguły dotyczące 10 najważniejszych zagrożeń OWASP, AWS Threat Intel i Bot Control) oraz reguły niestandardowe (dopasowanie dowolnego elementu żądania HTTP). Listy ACL WAF (Web ACL) zawierają reguły i są przypisywane do co najmniej jednego zasobu.
# Create WAF Web ACL
aws wafv2 create-web-acl \
--name 'prod-web-acl' \
--scope CLOUDFRONT \
--region us-east-1 \
--default-action Allow={} \
--rules '[{
"Name": "AWSManagedRulesCommonRuleSet",
"Priority": 1,
"OverrideAction": {"None": {}},
"Statement": {
"ManagedRuleGroupStatement": {
"VendorName": "AWS",
"Name": "AWSManagedRulesCommonRuleSet"
}
},
"VisibilityConfig": {
"SampledRequestsEnabled": true,
"CloudWatchMetricsEnabled": true,
"MetricName": "CommonRuleSet"
}
}]' \
--visibility-config SampledRequestsEnabled=true,CloudWatchMetricsEnabled=true,MetricName=web-acl-metricsZarządzane grupy reguł WAF
Zarządzane grupy reguł AWS to gotowe zestawy reguł WAF utrzymywane przez AWS, które chronią przed typowymi zagrożeniami bez konieczności tworzenia pojedynczych reguł. Najważniejsze grupy: AWSManagedRulesCommonRuleSet — chroni przed 10 najważniejszymi zagrożeniami OWASP (wstrzykiwanie SQL, XSS, RFI, LFI). AWSManagedRulesKnownBadInputsRuleSet — blokuje znane wzorce nieprawidłowych danych wejściowych. AWSManagedRulesAmazonIpReputationList — blokuje adresy IP o złej reputacji (botnety, adresy przejętych urządzeń). AWSManagedRulesBotControlRuleSet — wykrywa i blokuje boty indeksujące oraz automatyczne przeglądarki. Większość wdrożeń WAF rozpoczyna się od tych zarządzanych grup, a dopiero później dodaje reguły niestandardowe.
# Add IP reputation list managed rule group
aws wafv2 update-web-acl \
--name 'prod-web-acl' \
--scope CLOUDFRONT \
--id <acl-id> \
--lock-token <lock-token> \
--rules '[{
"Name": "AWSManagedRulesAmazonIpReputationList",
"Priority": 0,
"OverrideAction": {"None": {}},
"Statement": {
"ManagedRuleGroupStatement": {
"VendorName": "AWS",
"Name": "AWSManagedRulesAmazonIpReputationList"
}
}
}, ...existing_rules...]'Reguły WAF oparte na częstotliwości
Reguły oparte na częstotliwości w AWS WAF automatycznie blokują adresy IP, które w ciągu 5-minutowego okna przekroczą konfigurowalny próg częstotliwości żądań. Chroni to przed: atakami typu HTTP flood (przeciążanie serwerów żądaniami), atakami siłowymi (wieloma próbami logowania) oraz nadużywaniem interfejsu API (skanowaniem lub enumeracją). Żądania można agregować według adresu IP, adresu IP i ścieżki żądania (ograniczając częstotliwość dla konkretnego punktu końcowego, takiego jak /login) lub niestandardowych nagłówków. Zablokowane adresy IP są automatycznie odblokowywane, gdy ich częstotliwość spadnie poniżej progu — nie jest potrzebna ręczna interwencja.
# Create rate-based rule for login endpoint
aws wafv2 update-web-acl \
--rules '[{
"Name": "RateLimitLogin",
"Priority": 2,
"Action": {"Block": {}},
"Statement": {
"RateBasedStatement": {
"Limit": 100,
"AggregateKeyType": "IP",
"ScopeDownStatement": {
"ByteMatchStatement": {
"SearchString": "/api/login",
"FieldToMatch": {"UriPath": {}},
"TextTransformations": [{"Priority": 0, "Type": "LOWERCASE"}],
"PositionalConstraint": "STARTS_WITH"
}
}
}
}
}]'AWS Shield Standard i Advanced
AWS Shield Standard to automatyczna ochrona przed atakami DDoS, dostępna dla wszystkich klientów AWS bez dodatkowych opłat. Chroni przed najczęstszymi atakami DDoS na warstwie 3 (sieciowej) i warstwie 4 (transportowej) — zalewaniem SYN, zalewaniem UDP i atakami odbiciowymi. AWS Shield Advanced zapewnia rozszerzoną ochronę przed atakami na warstwach 3, 4 i 7 dotyczących EC2, ALB, CloudFront, Global Accelerator i Route 53. Shield Advanced obejmuje: wsparcie zespołu AWS DDoS Response Team (DRT), ochronę kosztów (opłaty za skalowanie związane z DDoS są zwracane), metryki w czasie rzeczywistym oraz zaawansowaną analizę kryminalistyczną ataków. Shield Advanced kosztuje 3000 USD miesięcznie oraz opłatę za transfer danych.
# Enable Shield Advanced protection on ALB
aws shield create-protection \
--name 'prod-alb-protection' \
--resource-arn arn:aws:elasticloadbalancing:us-east-1:123:loadbalancer/app/prod-alb/abc
# Associate with a WAF Web ACL for layer-7 protection
aws shield associate-drt-log-bucket \
--log-bucket my-shield-logs
# With Shield Advanced:
# - DDoS events detected and mitigated automatically
# - DRT can tune WAF rules during active attacks
# - Real-time CloudWatch dashboard
# - AWS will refund EC2/ELB/CloudFront scaling costs from DDoSAWS Network Firewall
AWS Network Firewall to stanowa, zarządzana usługa zapory sieciowej wdrażana w VPC w celu inspekcji i filtrowania ruchu. W przeciwieństwie do Security Groups (stanowych, działających na poziomie zasobów) i NACL (bezstanowych, działających na poziomie podsieci), Network Firewall zapewnia: głęboką inspekcję pakietów (DPI), śledzenie stanu połączeń, filtrowanie domen (blokowanie na podstawie nazwy domeny lub wzorca), reguły IPS (Intrusion Prevention System) korzystające z formatu reguł zgodnego z Suricata oraz filtrowanie ruchu wychodzącego (kontrolę tego, z czym instancje EC2 mogą łączyć się w internecie). Wdróż Network Firewall w dedykowanej podsieci zapory w każdej strefie AZ.
# Create Network Firewall
aws network-firewall create-firewall \
--firewall-name prod-vpc-firewall \
--firewall-policy-arn arn:aws:network-firewall:us-east-1:123:firewall-policy/my-policy \
--vpc-id vpc-12345 \
--subnet-mappings '[{"SubnetId":"subnet-firewall-AZ1"},{"SubnetId":"subnet-firewall-AZ2"}]'
# Network Firewall topology:
# Internet -> IGW -> Firewall subnet (Network FW) -> App subnet
# Egress: App subnet -> Firewall subnet (Network FW) -> IGW -> InternetGrupy reguł Network Firewall
Network Firewall używa grup reguł do definiowania logiki filtrowania. Bezstanowe grupy reguł przetwarzają pakiety bez śledzenia połączeń — podobnie jak NACL, ale zapewniają większą elastyczność. Stanowe grupy reguł śledzą stan połączeń TCP i przeprowadzają inspekcję kompletnych sesji HTTP/TLS. Reguły można tworzyć na trzy sposoby: reguły 5-elementowe (źródłowy adres IP, docelowy adres IP, protokół, port źródłowy, port docelowy), reguły list domen (zezwalanie lub blokowanie na podstawie FQDN) oraz reguły IPS zgodne z Suricata (najbardziej zaawansowane — dopasowywanie wzorców i inspekcja protokołów). AWS udostępnia zarządzane grupy reguł dotyczące typowych zagrożeń.
# Create domain list rule group (egress filtering)
aws network-firewall create-rule-group \
--rule-group-name 'allow-egress-domains' \
--type STATEFUL \
--capacity 100 \
--rules-source '{
"RulesSourceList": {
"Targets": [
"amazonaws.com",
"example.com",
"*.npmjs.com"
],
"TargetTypes": ["HTTP_HOST","TLS_SNI"],
"GeneratedRulesType": "ALLOWLIST"
}
}'
# Block all other egress traffic by default
# Prevents EC2 from calling malicious external domainsPorównanie WAF, Shield i Network Firewall
Te trzy usługi obsługują różne przypadki użycia i wzajemnie się uzupełniają, a nie stanowią dla siebie alternatyw: WAF — inspekcja HTTP na poziomie 7, blokowanie ataków na aplikacje (SQLi, XSS), ograniczanie częstotliwości i kontrola botów. Jest wdrażany przy CloudFront lub ALB. Shield — ochrona przed DDoS, zabezpiecza infrastrukturę przed atakami wolumetrycznymi. Shield Standard jest zawsze aktywny, a wersja Advanced zapewnia dodatkowo wsparcie zespołu. Network Firewall — kontrola ruchu VPC na warstwach 3–7, inspekcja stanowa, filtrowanie domen oraz IPS/IDS. Jest wdrażany wewnątrz podsieci VPC. Używaj wszystkich trzech usług razem: Network Firewall kontroluje ruch na poziomie VPC, WAF filtruje żądania aplikacji, a Shield łagodzi skutki ataków DDoS.
# Comparison table:
# Service Scope Layer Use Case
# AWS WAF Edge/ALB 7 App attacks, rate limits, bots
# Shield Standard All 3-4 Auto DDoS mitigation (free)
# Shield Advanced All 3-7 Enhanced DDoS + DRT support
# Network Firewall VPC 3-7 Stateful inspection, IPS, egress
# SAA-C03 exam keywords:
# 'SQL injection protection' -> WAF
# 'DDoS protection' -> Shield
# 'Block EC2 from calling external IPs' -> Network Firewall
# 'Block requests from country X' -> WAF geo-matchRejestrowanie i analiza WAF
WAF może rejestrować wszystkie próbkowane żądania (1 na 5) lub wszystkie żądania w usługach CloudWatch Logs, S3 lub Kinesis Data Firehose. Dzienniki zawierają pełne nagłówki żądania, adres IP, kraj, informacje o dopasowanych regułach oraz podjętą akcję (ALLOW/BLOCK/COUNT). Użyj dzienników WAF, aby: badać ataki — dokładnie sprawdzać, jakie żądania zostały zablokowane; dostrajać reguły — identyfikować fałszywe alarmy (blokowanie prawidłowych żądań) i dodawać wyjątki; wykrywać nowe zagrożenia — wzorce w zablokowanych żądaniach mogą ujawniać nowe wektory ataku. Włącz tryb COUNT dla nowych reguł przed przełączeniem ich do trybu BLOCK, aby sprawdzić, czy nie blokują prawidłowego ruchu.
# Enable WAF logging to Kinesis Firehose
aws wafv2 put-logging-configuration \
--logging-configuration '{
"ResourceArn": "arn:aws:wafv2:us-east-1:123:global/webacl/prod-web-acl/abc",
"LogDestinationConfigs": [
"arn:aws:firehose:us-east-1:123:deliverystream/waf-logs"
],
"LoggingFilter": {
"DefaultBehavior": "KEEP",
"Filters": [{
"Behavior": "KEEP",
"Conditions": [{"ActionCondition":{"Action":"BLOCK"}}],
"Requirement": "MEETS_ANY"
}]
}
}'Wzorce architektury wdrażania WAF
Poprawne wdrożenie AWS WAF wymaga zrozumienia, gdzie należy podłączyć go w architekturze. W przypadku aplikacji dostępnych z Internetu podłącz WAF do CloudFront, aby inspekcja odbywała się na brzegu sieci, zanim ruch dotrze do źródła — dzięki temu ataki są blokowane, zanim zużyją przepustowość źródła. W przypadku wewnętrznych interfejsów API lub gdy nie używasz CloudFront, podłącz WAF do ALB. W przypadku interfejsów API udostępnianych za pośrednictwem API Gateway WAF można podłączyć na poziomie API Gateway. WAF można jednocześnie podłączyć do wielu zasobów — do dystrybucji CloudFront ORAZ znajdującego się za nią ALB — aby zastosować ochronę warstwową, jednak podwaja to koszty inspekcji.
# WAF attachment points:
# 1. CloudFront distribution (global edge, CLOUDFRONT scope)
aws wafv2 associate-web-acl \
--web-acl-arn arn:aws:wafv2:us-east-1:123:global/webacl/my-acl/abc \
--resource-arn arn:aws:cloudfront::123:distribution/EXAMPLEID
# 2. ALB (regional, REGIONAL scope)
aws wafv2 associate-web-acl \
--web-acl-arn arn:aws:wafv2:us-east-1:123:regional/webacl/my-acl/xyz \
--resource-arn arn:aws:elasticloadbalancing:us-east-1:123:loadbalancer/app/my-alb/abc
# 3. API Gateway REST API
# 4. AppSync GraphQL API
# 5. Amazon Cognito User PoolFirewall Manager dla WAF w wielu kontach
AWS Firewall Manager centralizuje zasady WAF, Shield Advanced, Network Firewall i grup zabezpieczeń na wszystkich kontach w organizacji AWS. Zdefiniuj reguły WAF raz w Firewall Manager, a zostaną one automatycznie zastosowane do wszystkich ALB, dystrybucji CloudFront i API Gateway na wszystkich kontach członkowskich — także do nowo utworzonych zasobów. Jeśli na koncie członkowskim zostanie wdrożony nowy ALB, Firewall Manager automatycznie powiąże z nim Web ACL WAF. Zapewnia to spójne egzekwowanie zasad bezpieczeństwa w całej organizacji bez polegania na tym, że poszczególne zespoły poprawnie skonfigurują WAF.
# Create Firewall Manager WAF policy
aws fms put-policy \
--policy '{
"PolicyName": "org-wide-waf-policy",
"SecurityServicePolicyData": {
"Type": "WAFV2",
"ManagedServiceData": "{\"type\":\"WAFV2\",\"preProcessRuleGroups\":[{\"managedRuleGroupIdentifier\":{\"vendorName\":\"AWS\",\"managedRuleGroupName\":\"AWSManagedRulesCommonRuleSet\"},\"ruleGroupArn\":null,\"overrideAction\":{\"type\":\"NONE\"},\"excludeRules\":[],\"ruleGroupType\":\"ManagedRuleGroup\"}]}"
},
"ResourceType": "AWS::ElasticLoadBalancingV2::LoadBalancer",
"IncludeMap": {"ACCOUNT": []},
"ExcludeResourceTags": false,
"RemediationEnabled": true
}'Szybki test
Sprawdź swoją znajomość zagadnień AWS Solutions Architect (SAA-C03) omówionych w tej lekcji.
Podsumowanie lekcji
W tej lekcji dowiedziałeś się, że: AWS WAF filtruje ruch HTTP warstwy 7, aby blokować ataki SQL injection i XSS, filtrować boty oraz ograniczać częstotliwość żądań z nadużywających adresów IP, Shield Standard zapewnia automatyczną ochronę przed DDoS w warstwach 3/4, a Shield Advanced dodatkowo oferuje wsparcie zespołu reagowania i ochronę kosztów, a Network Firewall zapewnia stanową inspekcję ruchu na poziomie VPC, filtrowanie domen i reguły IPS. Firewall Manager egzekwuje zasady na wszystkich kontach w organizacji. Gratulacje z okazji ukończenia sekcji dotyczącej architektury bezpieczeństwa!
Często zadawane pytania
Czy lekcja „WAF, Shield i Network Firewall” jest bezpłatna?
Tak — pełny tekst „WAF, Shield i Network Firewall” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cloud & IT Cert Prep, przejdź na CoddyKit PRO. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.
Co nauczysz się w „WAF, Shield i Network Firewall”?
Blokować ataki z pierwszej dziesiątki OWASP za pomocą AWS WAF, chronić przed DDoS dzięki Shield Standard i Advanced oraz wdrażać stanową zaporę Network Firewall w VPC. Ćwiczysz Cloud & IT Cert Prep z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Cloud & IT Cert Prep?
Nie wymagamy żadnego doświadczenia. Cloud & IT Cert Prep w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „WAF, Shield i Network Firewall”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Cloud & IT Cert Prep?
Tak. Każda lekcja Cloud & IT Cert Prep zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- KMS, ACM i wzorce szyfrowania
- GuardDuty, Inspector i Macie
- Secrets Manager i Parameter Store
- WAF, Shield i Network Firewall