0Pricing
Cloud & IT Cert Prep · Ders

WAF ve Lambda@Edge ile CloudFront

Yaygın web saldırılarını engellemek için AWS WAF'ı bağlayacak ve Lambda@Edge ile uçta hafif istek/yanıt dönüşümleri çalıştıracaksınız.

WAF ve Lambda@Edge ile CloudFront, 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.

CloudFront'u AWS WAF ile Koruma

AWS WAF (Web Uygulaması Güvenlik Duvarı), CloudFront dağıtımınıza ulaşan HTTP/HTTPS isteklerini filtreler ve izler. Dağıtımınıza bir WAF Web ACL ekleyerek SQL enjeksiyonu, siteler arası komut dosyası çalıştırma (XSS), kötü amaçlı botlar ve OWASP İlk 10 saldırıları gibi yaygın web açıklarından yararlanma girişimlerini kaynağınıza ulaşmadan engelleyebilirsiniz.

WAF, CloudFront ucunda çalışır; bu nedenle kötü amaçlı istekler uygulama sunucunuza veya ALB'nize ulaşmak yerine en yakın uç konumunda reddedilir. Bu, arka uçtaki yükü azaltır ve saldırıları saldırgana daha yakın bir noktada durdurur.

# 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 Kuralları ve Kural Grupları

Bir WAF Web ACL, her biri istek özellikleriyle eşleşen ve bir eylem (Allow, Block, Count, CAPTCHA) gerçekleştiren, sıralı kurallar ve kural grupları içerir. Kurallar öncelik sırasına göre değerlendirilir; eşleşen ilk kuralın eylemi uygulanır.

AWS, AWS ve AWS Marketplace satıcıları tarafından sürdürülen, önceden oluşturulmuş kural kümeleri olan yönetilen kural grupları sağlar. AWS Managed Rules - Core Rule Set, herhangi bir yapılandırma gerektirmeden OWASP İlk 10 kapsamını sağlar. Yeni tehditler ortaya çıktıkça yönetilen kural grupları AWS tarafından güncellenir ve operasyonel yükünüz azalır.

# 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 Hız Sınırlama ve Bot Denetimi

WAF'taki hız tabanlı kurallar, 5 dakikalık bir zaman aralığında her kaynak IP'den gelen istekleri sayar. Bir IP eşiği aşarsa (örneğin 5 dakikada 2.000 istek), hız düşene kadar WAF bu IP'den gelen diğer istekleri engeller. Hız tabanlı kurallar kaba kuvvet saldırılarına, kimlik bilgisi doldurma saldırılarına ve basit DDoS tarama saldırılarına karşı koruma sağlar.

AWS WAF Bot Control, trafiği doğrulanmış botlar (Googlebot, Bingbot), tarayıcılar, izleme araçları ve insan trafiği gibi kategorilere ayıran yönetilen bir kural grubudur. Her kategori için farklı eylemler yapılandırabilirsiniz: arama motoru botlarına izin verebilir, bilinmeyen botlara CAPTCHA ile doğrulama uygulayabilir ve kötü amaçlı tarayıcıları engelleyebilirsiniz.

WAF Kapsamı: CLOUDFRONT ve REGIONAL

WAF Web ACL'lerinin kapsamı CLOUDFRONT (CloudFront ile kullanım için genel) veya REGIONAL (belirli bir Bölgedeki ALB, API Gateway, AppSync ya da Cognito User Pools ile kullanım için bölgesel) olur. CloudFront kapsamındaki WAF ACL'leri, trafiğin nereden geldiğinden bağımsız olarak us-east-1 Bölgesi'nde oluşturulmalıdır; çünkü CloudFront bu Bölgeden yönetilir.

Bu, sınavda sıkça karşılaşılan önemli bir tuzaktır: eu-west-1'de bir WAF Web ACL oluşturup bunu CloudFront'a eklemeye çalışırsanız ekleme başarısız olur. CloudFront WAF ACL'lerini her zaman us-east-1'de oluşturun.

Lambda@Edge'e Giriş

Lambda@Edge, CloudFront olaylarına yanıt olarak CloudFront uç konumlarında Node.js veya Python Lambda işlevlerini çalıştırmanızı sağlar. İşlevler, trafiği işlenmek üzere merkezi bir Bölgeye geri yönlendirmeden, kullanıcının isteğinden milisaniyeler içinde çalışır.

Lambda@Edge işlevleri us-east-1 Bölgesi'ne dağıtılır; ancak otomatik olarak dünya genelindeki tüm CloudFront uç konumlarına çoğaltılır. Böylece kodunuz kullanıcıya mümkün olduğunca yakın çalışır ve uçta en düşük gecikme ek yüküyle kişiselleştirme, kimlik doğrulama ve A/B testi yapmanızı sağlar.

Lambda@Edge Tetikleme Noktaları

Lambda@Edge işlevleri, yaşam döngüsünün dört noktasında CloudFront isteklerine ve yanıtlarına müdahale edebilir:

  • Viewer Request: CloudFront izleyiciden isteği aldıktan sonra ve önbelleği denetlemeden önce çalışır; kimlik doğrulama, yeniden yönlendirme ve üst bilgi düzenleme için kullanılır
  • Origin Request: önbellek kaçırmasından sonra ve kaynağa iletmeden önce çalışır; URL yeniden yazma ve kaynağa özel üst bilgiler için kullanılır
  • Origin Response: kaynaktan yanıt alındıktan sonra ve önbelleğe alınmadan önce çalışır; güvenlik üst bilgileri ekleme ve yanıtı değiştirme için kullanılır
  • Viewer Response: CloudFront yanıtı izleyiciye göndermeden önce çalışır; yanıt üst bilgilerini eklemek veya değiştirmek için kullanılır

Lambda@Edge ve CloudFront Functions Karşılaştırması

AWS, farklı ödünleşimlere sahip iki uç işlem seçeneği sunar:

  • CloudFront Functions: milisaniyenin altında çalışma, yalnızca JavaScript, son derece düşük maliyet (fiyatın yaklaşık 1/6'sı), yalnızca Viewer Request ve Viewer Response olaylarında çalışma, 1 ms işlem süresi sınırı, VPC/ağ erişimi yok
  • Lambda@Edge: en fazla 30 saniye (Viewer) / 30 saniye (Origin) çalışma süresi, Node.js veya Python, dört tetikleme noktasının tümü, ağ istekleri yapabilme, istek/yanıt gövdelerine erişim

Basit üst bilgi düzenleme, URL normalleştirme ve önbellek anahtarı hesaplama için CloudFront Functions'ı kullanın. Ağ çağrıları, daha uzun hesaplama veya kaynak tarafında işleme gerektiren karmaşık mantık için Lambda@Edge'i kullanın.

Lambda@Edge Kullanım Alanları

SAA-C03 sınavında yaygın Lambda@Edge örüntüleri:

  • Uçta JWT doğrulama: Viewer Request işlevi bir Authorization üst bilgisini doğrular; yetkisiz istekler kaynağa ulaşmadan 401 döndürülür
  • A/B testi: Viewer Request kullanıcıları (çerez aracılığıyla) A veya B grubuna atar ve isteği /a/page.html ya da /b/page.html dosyasını alacak şekilde değiştirir
  • URL yeniden yazma: Origin Request, anlaşılır URL'leri S3'teki gerçek dosya yollarına yeniden yazar
  • Dinamik görsel yeniden boyutlandırma: Origin Request bir görsel işleme Lambda'sına istek oluşturur; Origin Response yeniden boyutlandırılmış görseli önbelleğe alır
  • HTTP güvenlik üst bilgileri: Viewer Response CSP, HSTS ve X-Frame-Options üst bilgilerini ekler

Lambda@Edge Sınırlamaları

Lambda@Edge, standart Lambda ile karşılaştırıldığında çeşitli kısıtlamalara sahiptir:

  • İşlevler us-east-1 Bölgesinde olmalıdır
  • VPC desteği yoktur (VPC içindeki kaynaklara erişilemez)
  • Ortam değişkenleri yoktur (yapılandırmayı işlev koduna gömmeniz veya soğuk başlatma sırasında Parameter Store'dan almanız gerekir)
  • Lambda Katmanları kullanılamaz
  • Görüntüleyici olayı zaman aşımı: 5 saniye; kaynak olayı zaman aşımı: 30 saniye
  • Dağıtım paketi boyutu sınırı: 1 MB (Görüntüleyici olayları) / 50 MB (Kaynak olayları)

Bu sınırlamalar Lambda@Edge'i uzun süren hesaplamalar, VPC'ye bağlı işlemler veya her dağıtım için dinamik yapılandırmaya ihtiyaç duyan işlevler için uygunsuz hâle getirir.

WAF + Lambda@Edge: Katmanlı Güvenlik

WAF ve Lambda@Edge farklı güvenlik rollerine sahiptir ve birbirini tamamlar:

  • WAF: imza tabanlı saldırı engelleme (SQL enjeksiyonu, XSS, bilinen kötü niyetli aktörler, istek hızı sınırlama)—yönetilen kurallar yaygın saldırıları otomatik olarak ele alır
  • Lambda@Edge: özel iş mantığı güvenliği (JWT doğrulama, oturum denetimleri, erişim belirteci doğrulaması)—esnektir ancak geliştirme çalışması gerektirir

Derinlemesine savunma mimarisi: WAF önce bilinen saldırı kalıplarını engeller; Lambda@Edge iş düzeyindeki kimlik doğrulamayı doğrular; CloudFront imzalı URL'ler/çerezler içerik erişimini kısıtlar; OAC S3'ü özel tutar. Her katman, farklı bir saldırı sınıfını bağımsız olarak önler.

WAF ve Lambda@Edge'i İzleme

Kenar güvenlik katmanınızı şu araçlarla izleyin:

  • WAF günlükleri: hangi kuralların eşleştiğini ve hangi trafiğin engellendiğini görmek için S3, CloudWatch Logs veya Kinesis Firehose'a tam istek günlük kaydını etkinleştirin
  • WAF ölçümleri: CloudWatch'ta kural başına BlockedRequests, AllowedRequests, CountedRequests
  • Lambda@Edge günlükleri: CloudWatch Logs grupları, işlevin çalıştığı her Bölge'de oluşturulur; Bölgeler arasında sorgulama yapmak için CloudWatch Insights'ı kullanın
  • CloudFront Gerçek Zamanlı Günlükleri: anında analiz için erişim günlüklerini Kinesis'e aktarın (birkaç dakikada bir toplu olarak yazılan standart erişim günlüklerinin aksine)

Hızlı Kontrol

Bu dersteki AWS Çözüm Mimarı (SAA-C03) kavramlarını anlayıp anlamadığınızı sınayın.

Ders Özeti

Bu derste şunları öğrendiniz: AWS WAF, yönetilen ve özel kural gruplarını kullanarak CloudFront kenarında yaygın web saldırılarını engeller, Lambda@Edge küresel olarak dört CloudFront tetikleme noktasında özel kod çalıştırır ve CloudFront Functions basit görüntüleyici tarafı mantığı için milisaniyenin altında yürütme süresi sunar. CloudFront için WAF ACL'leri us-east-1'de oluşturulmalıdır. Sırada Application, Network ve Gateway Load Balancer'ları inceliyoruz.

Sıkça Sorulan Sorular

“WAF ve Lambda@Edge ile CloudFront” dersi ücretsiz mi?

Evet — “WAF ve Lambda@Edge ile CloudFront” 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 ve Lambda@Edge ile CloudFront” dersinde ne öğreneceğim?

Yaygın web saldırılarını engellemek için AWS WAF'ı bağlayacak ve Lambda@Edge ile uçta hafif istek/yanıt dönüşümleri çalıştıracaksınız. 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 ve Lambda@Edge ile CloudFront” 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

  1. CloudFront Dağıtımları ve Kaynaklar
  2. Önbellek Davranışları ve TTL Ayarları
  3. İmzalı URL'ler, İmzalı Çerezler ve Coğrafi Kısıtlama
  4. WAF ve Lambda@Edge ile CloudFront
← Cloud & IT Cert Prep Sayfasına Dön