WAF, Shield ve Network Firewall
AWS WAF ile OWASP ilk-10 saldırılarını engelleyin, Shield Standard ve Advanced ile DDoS saldırılarına karşı korunun ve VPC'nizde durum bilgili bir Network Firewall dağıtın.
WAF, Shield ve Network Firewall, CoddyKit'te ücretsiz bir Cloud & IT Cert Prep dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cloud & IT Cert Prep öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.
Ağ Güvenliğinde Savunma Derinliği
Uygulamalarınızı ağ tabanlı saldırılara karşı korumak, birden fazla savunma katmanı gerektirir. AWS, birbirini tamamlayan üç hizmet sunar: AWS WAF, uygulama katmanı saldırılarını engellemek için katman 7 HTTP trafiğini kurallara göre filtreler. AWS Shield, katman 3 ve 4'teki DDoS (Dağıtılmış Hizmet Engelleme) saldırılarına karşı koruma sağlar. AWS Network Firewall, VPC düzeyindeki trafiği inceleyen ve filtreleyen durum bilgili bir ağ güvenlik duvarıdır. Bu hizmetler birlikte farklı tehdit vektörlerini ele alır ve kapsamlı koruma için genellikle birlikte dağıtılır.
# 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 Uygulaması Güvenlik Duvarı
AWS WAF, HTTP/HTTPS isteklerini tanımladığınız kurallara göre filtreler. WAF; CloudFront, ALB, API Gateway, AppSync ve Cognito ile tümleşir. Kurallar şu ölçütlerle eşleşebilir: IP adresi kümeleri (belirli IP'leri engelleme/izin verme), coğrafi eşleşme (belirli ülkelerden gelen istekleri engelleme), hız tabanlı kurallar (istek hızını aşan IP'leri engelleme — taşma koruması), yönetilen kural grupları (OWASP ilk 10, AWS Threat Intel ve Bot Control için önceden oluşturulmuş kurallar) ve özel kurallar (herhangi bir HTTP bileşeniyle eşleşme). WAF ACL'leri (Web ACL), kuralları içerir ve bir veya daha fazla kaynağa uygulanır.
# 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-metricsWAF Yönetilen Kural Grupları
AWS Managed Rule Groups, tek tek kurallar yazmanızı gerektirmeden yaygın tehditlere karşı koruma sağlayan ve AWS tarafından sürdürülen, önceden oluşturulmuş WAF kural kümeleridir. Önemli gruplar: AWSManagedRulesCommonRuleSet — OWASP ilk 10'una (SQL enjeksiyonu, XSS, RFI, LFI) karşı koruma sağlar. AWSManagedRulesKnownBadInputsRuleSet — bilinen kötü amaçlı girdi örüntülerini engeller. AWSManagedRulesAmazonIpReputationList — kötü itibara sahip IP'leri (botnet'ler, güvenliği ihlal edilmiş makineler) engeller. AWSManagedRulesBotControlRuleSet — veri kazıyan botları ve otomatik tarayıcıları algılar ve engeller. Çoğu WAF dağıtımı, özel kurallar eklemeden önce bu yönetilen gruplarla başlar.
# 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...]'WAF Hız Tabanlı Kuralları
AWS WAF'deki hız tabanlı kurallar, 5 dakikalık bir zaman aralığında yapılandırılabilir istek hızı eşiğini aşan IP adreslerini otomatik olarak engeller. Bu özellik şunlara karşı koruma sağlar: HTTP taşma saldırıları (sunucularınızı isteklerle aşırı yükleme), kaba kuvvet saldırıları (çok sayıda oturum açma denemesi) ve API kötüye kullanımı (veri kazıma veya numaralandırma). IP'ye, IP + istek yoluna ( /login gibi belirli bir uç noktanın hızını sınırlama) veya özel üst bilgilere göre toplama yapabilirsiniz. Engellenen IP'lerin hızı eşik değerinin altına düştüğünde engel otomatik olarak kaldırılır; manuel müdahale gerekmez.
# 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 ve Advanced
AWS Shield Standard, tüm AWS müşterileri için ek ücret alınmadan sunulan otomatik DDoS korumasıdır. En yaygın katman 3 (ağ) ve katman 4 (taşıma) DDoS saldırılarına (SYN taşmaları, UDP taşmaları ve yansıtma saldırıları) karşı koruma sağlar. AWS Shield Advanced, EC2, ALB, CloudFront, Global Accelerator ve Route 53 üzerindeki katman 3, 4 ve 7 saldırılarına karşı gelişmiş koruma sunar. Shield Advanced şunları içerir: AWS DDoS Response Team (DRT) desteği, maliyet koruması (DDoS kaynaklı ölçeklendirme ücretleri iade edilir), gerçek zamanlı ölçümler ve gelişmiş saldırı adli incelemesi. Shield Advanced'ın maliyeti aylık 3.000 ABD doları artı veri aktarım ücretidir.
# 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, trafiği incelemek ve filtrelemek üzere VPC'nize dağıtılan, durum bilgili ve yönetilen bir ağ güvenlik duvarı hizmetidir. Security Groups (durum bilgili, kaynak düzeyinde) ve NACL'lerin (durumsuz, alt ağ düzeyinde) aksine Network Firewall şunları sağlar: Derin paket incelemesi (DPI), durum bilgili bağlantı takibi, alan adı filtreleme (alan adına veya örüntüye göre engelleme), Suricata uyumlu kural biçimini kullanan IPS (Saldırı Önleme Sistemi) kuralları ve çıkış trafiği filtreleme (EC2 bulut sunucularınızın internette nereye çağrı yapabileceğini denetleme). Network Firewall'ı her AZ'de özel bir güvenlik duvarı alt ağına dağıtın.
# 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 -> InternetNetwork Firewall Kural Grupları
Network Firewall, filtreleme mantığını tanımlamak için kural gruplarını kullanır. Durumsuz kural grupları, bağlantıları izlemeden paketleri işler; NACL'lere benzer ancak daha esnektir. Durum bilgili kural grupları, TCP bağlantı durumunu izler ve HTTP/TLS oturumlarının tamamını inceler. Kuralları üç şekilde yazabilirsiniz: 5'li demet kuralları (kaynak IP, hedef IP, protokol, kaynak bağlantı noktası, hedef bağlantı noktası), alan adı listesi kuralları (FQDN'ye göre izin verme veya reddetme) ve Suricata uyumlu IPS kuralları (en güçlü seçenek; örüntü eşleştirme ve protokol incelemesi). AWS, yaygın tehditler için yönetilen kural grupları sağlar.
# 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 domainsWAF, Shield ve Network Firewall Karşılaştırması
Bu üç hizmet farklı kullanım alanlarını ele alır ve alternatif değil, birbirini tamamlayan çözümlerdir: WAF — katman 7 HTTP incelemesi yapar, uygulama saldırılarını (SQLi, XSS) engeller, hız sınırlaması ve bot denetimi sağlar. CloudFront veya ALB'ye dağıtılır. Shield — DDoS azaltma sağlar ve altyapıyı hacimsel saldırılara karşı korur. Shield Standard her zaman açıktır; Advanced ekip desteği ekler. Network Firewall — katman 3-7 VPC trafiğini denetler, durum bilgili inceleme, alan adı filtreleme ve IPS/IDS sağlar. VPC alt ağlarının içine dağıtılır. Üçünü birlikte kullanın: Network Firewall VPC düzeyindeki trafiği denetler, WAF uygulama isteklerini filtreler, Shield DDoS saldırılarını azaltır.
# 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-matchWAF Günlük Kaydı ve Analizi
WAF, örneklenen tüm istekleri (5 istekte 1) veya tüm istekleri CloudWatch Logs, S3 ya da Kinesis Data Firehose hizmetlerine kaydedebilir. Günlükler tam istek üst bilgilerini, IP adresini, ülkeyi, hangi kuralların eşleştiğini ve gerçekleştirilen işlemi (ALLOW/BLOCK/COUNT) içerir. WAF günlüklerini şu amaçlarla kullanın: Saldırıları inceleme — hangi isteklerin tam olarak engellendiğini görün. Kuralları ayarlama — hatalı pozitifleri (engellenen meşru istekleri) belirleyin ve istisnalar ekleyin. Yeni tehditleri algılama — engellenen isteklerdeki örüntüler yeni saldırı vektörlerini ortaya çıkarabilir. Yeni kurallar için önce COUNT modunu etkinleştirin, ardından meşru trafiği engellemediklerini doğruladıktan sonra BLOCK moduna geçin.
# 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"
}]
}
}'WAF Dağıtım Mimarisi Kalıpları
AWS WAF'ı doğru şekilde dağıtmak için mimarinizde nereye bağlanması gerektiğini anlamanız gerekir. İnternete açık uygulamalarda, incelemenin trafiğiniz kaynak sunucunuza ulaşmadan önce uç noktada gerçekleşmesi için WAF'ı CloudFront'a bağlayın — bu sayede saldırılar kaynak sunucunun bant genişliğini tüketmeden engellenir. Dahili API'ler için veya CloudFront kullanılmadığında WAF'ı ALB'ye bağlayın. API Gateway üzerinden sunulan API'lerde WAF, API Gateway düzeyinde bağlanabilir. Savunmayı derinlemesine uygulamak için WAF'ı aynı anda birden fazla kaynağa — bir CloudFront dağıtımına VE onun arkasındaki ALB'ye — bağlayabilirsiniz; ancak bu, inceleme maliyetlerini iki katına çıkarır.
# 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 PoolBirden Fazla ACCOUNT için Firewall Manager ile WAF
AWS Firewall Manager, bir AWS Organization içindeki tüm ACCOUNT'larda WAF, Shield Advanced, Network Firewall ve güvenlik grubu ilkelerini merkezî olarak yönetir. WAF kurallarını Firewall Manager'da bir kez tanımlayın; bu kurallar, yeni oluşturulan kaynaklar da dâhil olmak üzere tüm üye ACCOUNT'lardaki tüm ALB'lere, CloudFront dağıtımlarına ve API Gateway'lere otomatik olarak uygulanır. Bir üye ACCOUNT yeni bir ALB dağıtırsa Firewall Manager, WAF Web ACL'yi otomatik olarak ilişkilendirir. Böylece ekiplerin WAF'ı doğru şekilde yapılandırmasına güvenmeden kuruluş genelinde tutarlı güvenlik ilkesi uygulaması sağlanır.
# 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
}'Hızlı Kontrol
Bu derste ele alınan AWS Solutions Architect (SAA-C03) kavramlarını anlayıp anlamadığınızı test edin.
Ders Özeti
Bu derste şunları öğrendiniz: AWS WAF, SQL injection, XSS ve botları engellemek ve kötüye kullanım yapan IP'lere hız sınırı uygulamak için 7. katmandaki HTTP trafiğini filtreler; Shield Standard otomatik 3. ve 4. katman DDoS koruması sağlarken Shield Advanced, müdahale ekibi desteği ve maliyet koruması ekler; ayrıca Network Firewall, alan adı filtreleme ve IPS kurallarıyla durum bilgili VPC düzeyinde trafik incelemesi sağlar. Firewall Manager, tüm ACCOUNT'lar genelinde ilkeleri uygular. Güvenlik Mimarisi bölümünü tamamladığınız için tebrikler!
Sıkça Sorulan Sorular
“WAF, Shield ve Network Firewall” dersi ücretsiz mi?
Evet — “WAF, Shield ve Network Firewall” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cloud & IT Cert Prep kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.
“WAF, Shield ve Network Firewall” dersinde ne öğreneceğim?
AWS WAF ile OWASP ilk-10 saldırılarını engelleyin, Shield Standard ve Advanced ile DDoS saldırılarına karşı korunun ve VPC'nizde durum bilgili bir Network Firewall dağıtın. Cloud & IT Cert Prep ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Cloud & IT Cert Prep öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Cloud & IT Cert Prep, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“WAF, Shield ve Network Firewall” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Cloud & IT Cert Prep dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Cloud & IT Cert Prep dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- KMS, ACM ve Şifreleme Örüntüleri
- GuardDuty, Inspector ve Macie
- Secrets Manager ve Parameter Store
- WAF, Shield ve Network Firewall