0Pricing
Cloud & IT Cert Prep · Ders

Ağ ACL'leri ve Güvenlik Grupları

Durum bilgisi tutmayan Ağ ACL'lerini durum bilgisi tutan güvenlik gruplarıyla karşılaştıracak ve katmanlı ağ savunması için her birini ne zaman kullanacağınızı öğreneceksiniz.

Ağ ACL'leri ve Güvenlik Grupları, 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ğinin İki Katmanı

AWS, bir VPC içinde birbirinden farklı iki güvenlik duvarı mekanizması sunar. Security Group'lar Instance düzeyinde (teknik olarak ENI düzeyinde) çalışır ve durum bilgili yapıdadır. Network Access Control List'leri (NACL'ler) alt ağ düzeyinde çalışır ve durum bilgisizdir. Her ikisi de bir alt ağa ve onunla ilişkilendirilmiş Instance'lara giren veya bunlardan çıkan tüm trafik için değerlendirilir. İkisini birlikte kullanmak, derinlemesine savunma sağlar: alt ağ sınırında ilk katman olarak NACL'ler, Instance başına güvenlik duvarı olarak Security Group'lar. SAA-C03 sınavında bu iki mekanizma sıkça karşılaştırılır.

Network ACL'ler: Alt Ağ Düzeyinde Durum Bilgisiz Güvenlik Duvarı

Bir Network ACL (NACL), bir alt ağın sınırını geçen tüm trafiğe uygulanan numaralı bir kural listesidir. NACL'ler durum bilgisizdir; her paket bağımsız olarak değerlendirilir. Gelen TCP 80 bağlantı noktasına izin verirseniz yanıtın alt ağdan çıkabilmesi için dışa doğru dönüş trafiğine (geçici bağlantı noktaları 1024-65535) açıkça izin vermeniz gerekir. Kurallar sayısal sırayla (en düşük numaradan başlayarak) değerlendirilir; ilk eşleşen kural uygulanır ve başka kural kontrol edilmez. Her VPC, varsayılan olarak gelen ve giden tüm trafiğe izin veren bir NACL ile birlikte gelir.

# Deny all traffic from a specific IP in the NACL
aws ec2 create-network-acl-entry \
  --network-acl-id acl-12345678 \
  --ingress \
  --rule-number 90 \
  --protocol tcp \
  --cidr-block 203.0.113.10/32 \
  --rule-action deny \
  --port-range From=0,To=65535

NACL Kural Numaralandırması ve Sırası

NACL kuralları artan kural numarası sırasıyla (1'den 32766'ya kadar) değerlendirilir ve bir kural eşleştiği anda değerlendirme durur. Aynı trafik için daha düşük numaralı bir Allow kuralı, daha da düşük numaralı bir Deny kuralı tarafından geçersiz kılınabilir. AWS, daha sonra araya kural eklemeye yer bırakmak için kural numaralarının 10 veya 100'lük artışlarla verilmesini önerir. Her NACL, açık kurallardan hiçbiriyle eşleşmeyen tüm trafiği engelleyen bir varsayılan kuralla (* DENY) sona erer. Bu tümünü yakalayan kural düzenlenemez veya silinemez.

# Example NACL ruleset:
# Rule 100: Allow  HTTPS (443) from 0.0.0.0/0
# Rule 200: Allow  HTTP (80)  from 0.0.0.0/0
# Rule 300: Deny   All         from specific-bad-IP
# Rule *:   Deny   All         from 0.0.0.0/0 (default, implicit)

Durum Bilgisiz NACL'ler: Geçici Bağlantı Noktaları

NACL'ler durum bilgisiz olduğundan her bağlantının her iki yönünü hesaba katmanız gerekir. İnternetteki bir istemci EC2 Instance'ınıza 443 numaralı bağlantı noktası üzerinden bağlandığında Instance, yanıtı istemcinin geçici bağlantı noktasına (Linux'ta genellikle 1024-65535, Windows'ta 49152-65535 aralığındaki rastgele yüksek bir bağlantı noktası) gönderir. NACL'nizin dışa doğru kuralları bu aralığa açıkça izin vermelidir. Yaygın bir NACL yapılandırma hatası, gelen 443 bağlantı noktası için bir Allow kuralı oluşturup dışa doğru geçici bağlantı noktalarına izin vermeyi unutmaktır; bu durumda bağlantılar kurulur ancak yanıtlar sessizce bırakılır.

# NACL outbound rule allowing return traffic on ephemeral ports
aws ec2 create-network-acl-entry \
  --network-acl-id acl-12345678 \
  --egress \
  --rule-number 100 \
  --protocol tcp \
  --cidr-block 0.0.0.0/0 \
  --rule-action allow \
  --port-range From=1024,To=65535

Security Group'ların Özeti

Hatırlatma olarak: Security Group'lar Instance'lara (veya ENI'lere) eklenir, yalnızca açık Allow kurallarına izin verir (Deny yoktur), durum bilgili yapıdadır (izin verilen gelen trafiğe verilen yanıtlar, bir kural olmadan otomatik olarak dışa doğru izinli olur) ve eklenmiş tüm kuralları OR mantığıyla birlikte değerlendirir. Diğer Security Group ID'lerini kaynak veya hedef olarak belirtebilirsiniz; bu, IP aralıklarını kullanmaya göre daha kolay yönetilir. Security Group'lar Instance düzeyinde erişim denetimi için birincil mekanizmadır; NACL'ler ise ek bir alt ağ düzeyi katmanı sağlar.

Temel Farklar: NACL'ler ve Security Group'lar

Sınav için kritik karşılaştırma:

  • Düzey: NACL = alt ağ; SG = Instance (ENI)
  • Durum: NACL = durum bilgisiz; SG = durum bilgili
  • Kurallar: NACL = Allow VE Deny; SG = yalnızca Allow (örtük deny)
  • Değerlendirme: NACL = sırayla (ilk eşleşme kazanır); SG = tüm kurallar değerlendirilir (herhangi bir Allow kazanır)
  • Kapsam: NACL alt ağdaki tüm Instance'lara uygulanır; SG yalnızca ilişkilendirilmiş Instance'lara uygulanır
  • Gelen/Giden: NACL'in her iki yönde de açık kurallara ihtiyacı vardır; SG durum bilgili olduğundan yanıtlar için yalnızca gelen kurallar gerekir

NACL'ler Ne Zaman Kullanılmalı

NACL'leri şu amaçlarla kullanın: Belirli IP'leri engelleme (Security Group'lar engelleyemez, yalnızca izin verir; NACL'ler bilinen kötü amaçlı IP'leri veya veri kazıyıcıları engellemek için açık Deny kuralları ekleyebilir). Alt ağ genelinde kurallar (tek tek Security Group'lara dokunmadan aynı kuralı bir alt ağdaki tüm Instance'lara uygulamak). Ek savunma katmanı (bir Security Group yanlış yapılandırma sonucunda erişimi yanlışlıkla açarsa alt ağ sınırındaki bir NACL Deny kuralı trafiği yine de engelleyebilir). Uygulamada ekiplerin çoğu erişimi öncelikle Security Group'lar üzerinden yönetir ve NACL'leri yalnızca açık IP engelleme için kullanır.

Varsayılan ve Özel NACL'ler

Varsayılan NACL (her VPC ile birlikte oluşturulur), gelen ve giden tüm trafiğe izin verir; 100 numaralı All Inbound Allow ve 100 numaralı All Outbound Allow kurallarına sahiptir. Özel bir NACL ile açıkça ilişkilendirilmemiş alt ağlar varsayılan NACL'i kullanır. Bir özel NACL oluşturduğunuzda yalnızca varsayılan Deny-All kuralıyla (kural *) başlar ve siz açık Allow kuralları ekleyene kadar tüm trafiği engeller. Bu nedenle yeni bir özel NACL'i bir alt ağa ilişkilendirmek tüm trafiği hemen engeller; üretim alt ağlarıyla ilişkilendirmeden önce Allow kurallarını eklediğinizden emin olun.

# Create a custom NACL (starts with DENY ALL)
aws ec2 create-network-acl --vpc-id vpc-12345678

# Associate it with a subnet
aws ec2 replace-network-acl-association \
  --association-id aclassoc-12345678 \
  --network-acl-id acl-custom-id

Değerlendirme Sırası: NACL'ler ve Security Group'lar

Bir EC2 Instance'ına gelen trafik için trafik önce alt ağ sınırındaki NACL'den geçer (kural sırasına göre değerlendirilir). NACL trafiğe izin verirse trafik daha sonra Instance üzerindeki Security Group'a ulaşır; Security Group'un da trafiğe izin vermesi gerekir. Trafiğin Instance'a ulaşabilmesi için her ikisinin de izin vermesi şarttır. Giden trafikte önce Security Group değerlendirilir (durum bilgili olduğundan izin verilen gelen trafiğe yanıt niteliğindeyse izin verir), ardından NACL değerlendirilir (durum bilgisiz olduğundan açık bir dışa doğru Allow kuralı bulunmalıdır). Bu sırayı anlamak, durum bilgili Security Group'lar kullanılsa bile durum bilgisiz NACL'lerde dönüş trafiği kurallarının neden gerekli olduğunu açıklar.

NACL'lerle Sorun Giderme

NACL'ler, durum bilgisiz yapıları nedeniyle çözümlemesi zor ağ sorunlarının yaygın bir kaynağıdır. Belirtiler şunlardır: bağlantılar kurulur ancak veri akışı durur (dışa doğru geçici bağlantı noktası kuralı eksiktir); trafik yalnızca tek yönde akar (gelen veya giden kural unutulmuştur); belirli IP'ler bağlanamaz (Allow kuralından önce daha düşük numaralı bir Deny kuralı eşleşmektedir). Hata ayıklama yöntemi: paketlerin NACL düzeyinde ACCEPT veya REJECT olup olmadığını görmek için VPC Flow Logs kullanın. Akış günlüğü reddedilen paketleri ve bunların kaynağını/hedefini göstererek eksik kuralı belirlemenize yardımcı olur.

# Athena query to find NACL-rejected flows
SELECT sourceaddress, destinationaddress, destinationport, action
FROM vpc_flow_logs
WHERE action = 'REJECT'
  AND interfaceid LIKE 'eni-%'
LIMIT 100;

Katmanlı Güvenlik Mimarisi

Çok katmanlı VPC güvenliği için önerilen model şöyledir: Genel alt ağlardaki NACLs, internetten yalnızca 80, 443 ve gerekli geçici bağlantı noktalarına izin verir; diğer her şeyi reddeder. ALB üzerindeki genel alt ağ güvenlik grupları, 0.0.0.0/0 üzerinden 80/443 bağlantılarına izin verir. Özel uygulama güvenlik grupları yalnızca ALB güvenlik grubu kimliğinden gelen bağlantılara izin verir. Özel veri güvenlik grupları yalnızca uygulama güvenlik grubu kimliğinden gelen bağlantılara izin verir. Bu katmanlı savunma yaklaşımı, bir katman yanlış yapılandırılsa bile başka bir katmanın koruma sağlamasını güvence altına alır; bu ilkeye her katmanda en az erişim adı verilir.

Kısa Kontrol

Bu dersteki AWS Solutions Architect (SAA-C03) kavramlarını anlayıp anlamadığınızı test edin.

Ders Özeti

Bu derste şunları öğrendiniz: NACLs, numaralandırılmış sıraya göre değerlendirilen hem Allow hem de Deny kurallarını destekleyen, durum bilgisi tutmayan alt ağ düzeyinde güvenlik duvarlarıdır; güvenlik grupları, yalnızca Allow kurallarına sahip, tüm kuralların birlikte değerlendirildiği, durum bilgisi tutan bulut sunucusu düzeyinde güvenlik duvarlarıdır; ayrıca açık IP engelleme ve alt ağ genelindeki kurallar için NACLs, ayrıntılı bulut sunucusu erişim denetimi için ise güvenlik grupları kullanılmalıdır. Böylece VPC Temelleri modülü tamamlanıyor; sırada AWS üzerinde RDS ve İlişkisel Veritabanlarına ayrıntılı olarak bakacağız.

Sıkça Sorulan Sorular

“Ağ ACL'leri ve Güvenlik Grupları” dersi ücretsiz mi?

Evet — “Ağ ACL'leri ve Güvenlik Grupları” 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.

“Ağ ACL'leri ve Güvenlik Grupları” dersinde ne öğreneceğim?

Durum bilgisi tutmayan Ağ ACL'lerini durum bilgisi tutan güvenlik gruplarıyla karşılaştıracak ve katmanlı ağ savunması için her birini ne zaman kullanacağınızı öğreneceksiniz. 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.

“Ağ ACL'leri ve Güvenlik Grupları” 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. VPC Mimarisi ve CIDR Blokları
  2. İnternet Ağ Geçidi ve Yönlendirme Tabloları
  3. NAT Ağ Geçidi ve Özel Alt Ağlar
  4. Ağ ACL'leri ve Güvenlik Grupları
← Cloud & IT Cert Prep Sayfasına Dön