0Pricing
Cloud & IT Cert Prep · Lekcja

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 automatically

AWS 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-metrics

Zarzą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 DDoS

AWS 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 -> Internet

Grupy 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 domains

Poró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-match

Rejestrowanie 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 Pool

Firewall 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

  1. KMS, ACM i wzorce szyfrowania
  2. GuardDuty, Inspector i Macie
  3. Secrets Manager i Parameter Store
  4. WAF, Shield i Network Firewall
← Powrót do Cloud & IT Cert Prep