Bölge, VPC ve ağ temelleri
- VPC alt ağlarını, yönlendirme tablosunu, güvenlik grubu ile ağ erişim listesi farkını, oturum yöneticisini ve VPC uç noktalarını okumayı öğren.
- Bölge coğrafi konumdur, erişilebilirlik alanı o bölgedeki ayrı veri merkezidir.
- VPC kendi özel ağındır; alt ağın genel olup olmadığını yönlendirme tablosu belirler.
- Güvenlik grubu ile ağ erişim listesi ayrı katmanlardır ve farklı davranır.
Puan bütün etkinlikleri cevaplayınca hesaba yazılır. Bu dersi tamamlayınca +50 XP alacaksın. Giriş yapmadan ilerlersen puan yalnız bu tarayıcıda durur.
Ağ bulutta yok olmadı, yalnız yazılımla tanımlanır hâle geldi. Kablo çekmek yerine bir API çağrısı ya da bir metin dosyası yazarsın ve ağ dakikalar içinde kurulur. Hata yapmak da aynı hızda olur.
Tek satırlık bir yönlendirme kaydı bir veritabanını internete açabilir. Bu derste VPC'yi, alt ağları ve yönlendirme tablosunu okumayı öğreneceksin. Güvenlik grubu ile ağ erişim listesini ayırt edeceksin. Yönetim portunu hiç açmadan sunucuya bağlanmayı ve ağdaki beklenmedik yolları bulan araçları da göreceksin.
Alt ağı genel yapan şey
VPC kendi özel ağındır ve bir adres bloğuyla başlar. AWS'de bir alt ağın IPv4 bloğu /16 ile /28 arasında olabilir. VPC bloğunu alt ağlara bölersin ve her alt ağ tek bir erişilebilirlik alanında durur. Her alt ağın ilk dört adresi ve son adresi AWS'ye ayrılmıştır.
Örneğin 10.0.1.0/24 bloğunda 10.0.1.1 VPC yönlendiricisine gider, 10.0.1.2 ile 10.0.1.3 de AWS'de kalır. Adres planını baştan geniş ve düzenli tut. Sonradan eşleyeceğin bir ağla çakışan blok, ileride ciddi bir engel olur.
VPC 10.0.0.0/16 ├─ Genel alt ağ 10.0.1.0/24 (yönlendirme: 0.0.0.0/0 -> internet geçidi) ├─ Özel alt ağ 10.0.2.0/24 (yönlendirme: 0.0.0.0/0 -> NAT geçidi) └─ Veri alt ağı 10.0.3.0/24 (dışarıya yol yok)
Şemadaki üç alt ağ aynı VPC bloğundan pay alır ama yönlendirme satırları ayrışır. AWS belgeleri alt ağ türünü tamamen yönlendirmeyle tanımlar. İnternet geçidine doğrudan yolu olan alt ağ geneldir. Böyle bir yolu olmayan alt ağ özeldir ve dışarıya bir NAT cihazıyla çıkar.
VPC dışına hiçbir yolu olmayan alt ağ ise yalıtılmıştır. Alt ağın adında public yazması bir şey ifade etmez; karar tabloda verilir. Genel alt ağdaki bir makineye dışarıdan ulaşmak için ayrıca genel bir IP adresi ve izin veren bir güvenlik grubu gerekir.
$ aws ec2 describe-route-tables \
--filters Name=association.subnet-id,Values=subnet-0a1 \
--query 'RouteTables[].Routes[].[DestinationCidrBlock,GatewayId,NatGatewayId]' \
--output text
10.0.0.0/16 local None
0.0.0.0/0 igw-0c3d5e7f NoneÇıktıyı iki satır olarak oku. İlk satır her tabloda bulunan yerel yoldur: VPC bloğuna giden trafik VPC içinde kalır.
İkinci satır belirleyicidir. 0.0.0.0/0, yani geri kalan her hedef, igw- ile başlayan bir internet geçidine gider. Bu yüzden subnet-0a1 geneldir. Aynı satırda NAT sütununda nat- ile başlayan bir kimlik görseydin alt ağ özel olurdu.
Hiç 0.0.0.0/0 satırı yoksa alt ağ yalıtılmıştır. Bir tuzak var: açıkça tablo bağlanmamış alt ağ VPC'nin ana tablosunu kullanır. Filtre o alt ağ için sonuç döndürmezse ana tabloyu okursun.
Etkinlik 1 / 7
Genel alt ağ ile özel alt ağ arasındaki tanımlayıcı fark nedir?
Güvenlik grubu ve ağ erişim listesi
İki ayrı filtreleme katmanı vardır ve sık karıştırılır. Güvenlik grubu kaynağa, daha doğrusu kaynağın ağ arayüzüne bağlanır. Durum bilgisi tutar: gelen bir isteğe izin verdiysen dönüş paketi kendiliğinden geçer. Yalnız izin kuralı yazılır; bir grubun bütün kuralları birlikte değerlendirilir.
Bir kaynağa birden çok grup bağlayabilirsin ve izinler toplanır. Güvenlik grubu kuralında kaynak olarak başka bir grubu da gösterebilirsin. Veritabanı grubuna yalnız uygulama grubundan gelen trafiği açmak, adres yazmaktan daha dayanıklı bir yoldur.
Ağ erişim listesi ise alt ağ sınırında durur ve durum tutmaz. Her kural izin ya da ret olabilir ve 1 ile 32766 arasında bir numara taşır. Kurallar küçük numaradan başlayarak okunur, ilk eşleşen kural uygulanır. Durum tutmadığı için dönüş trafiğini ayrıca açman gerekir; bu da geçici istemci portlarına kural yazmak demektir.
VPC'nin varsayılan erişim listesi bütün giriş ve çıkış trafiğini geçirir. Bazı trafik iki katmanın da dışında kalır. Örneğin üstveri servisine ve VPC'nin DNS çözücüsüne giden trafik bu kurallarla süzülmez.
$ aws ec2 describe-security-groups \
--filters Name=ip-permission.from-port,Values=22 Name=ip-permission.cidr,Values=0.0.0.0/0 \
--query 'SecurityGroups[].[GroupId,GroupName]' --output text
sg-0d4e1a2b lab-web-sgKomut iki filtreyi birlikte uygular: kuralın başlangıç portu 22 olmalı, kaynak bloğu da 0.0.0.0/0 olmalı. Sonuçta lab-web-sg adlı grup çıkar. Burada ince bir nokta var. Filtreler aynı kuralı değil aynı grubu eşler.
22 portunu yalnız iç ağa, 443 portunu ise herkese açan bir grup da listeye düşebilir. Bu yüzden listeyi bulgu saymadan önce grubun kurallarını tek tek okursun. İnternete açık yönetim portları sürekli taranır. Çözüm kaynak adresini daraltmak ya da portu hiç açmamaktır.
Etkinlik 2 / 7
Bu güvenlik grubu kuralında tehlikeli satırı bul.
Etkinlik 3 / 7
Her denetimi doğru katmana yerleştir.
Önce bir seçeneğe, sonra aşağıdaki uygun kutuya bas. İstersen seçeneği kutuya sürükleyip bırak. Yerini değiştirmek için aynı işlemi tekrarla.
0/6 seçenek yerleşti.
Bölge, alan ve dayanıklılık
En üstte bölge durur. Bölge coğrafi bir konumdur ve kendi içinde birbirinden bağımsız erişilebilirlik alanlarına bölünür. AWS'de her bölgede en az üç alan bulunur.
Alanlar ayrı bina, ayrı elektrik ve ayrı soğutma demektir. Bu ayrım neden önemli? Çünkü dayanıklılık buradan gelir.
Uygulamayı iki alana yayarsan tek bir veri merkezi arızası hizmeti düşürmez. Tek alana sıkışmış bir kurulum ise ilk kesintide durur. Erişilebilirlik, gizlilik ve bütünlükle birlikte güvenliğin üç temel hedefinden biridir.
Tipik bir başlangıç şöyle görünür. Dışarıya bakan yük dengeleyici iki alandaki genel alt ağlarda durur. Uygulama sunucuları aynı iki alandaki özel alt ağlardadır. Veritabanı ise dışarıya yolu olmayan üçüncü bir alt ağ katmanındadır.
Her katman yalnız bir üstündekinden çağrı alır. NAT geçidini tek alana koymak maliyeti düşürür ama o alan düştüğünde öbür alandaki özel alt ağlar da dışarı çıkamaz. Bu yüzden üretimde her alana ayrı bir NAT geçidi koymak yaygındır; AWS'nin bölgesel NAT geçidi seçeneği bu yayılımı kendiliğinden yapar. Şemayı çizip her oku bir yönlendirme satırına çevirirsin.
Derinleş:Alan adı ile alan kimliği
Konsolda gördüğün us-east-1a gibi adlar her hesapta aynı fiziksel yeri göstermeyebilir. AWS, en eski bölgelerinde, Kasım 2025'ten önce açılmış hesaplar için alan adlarını hesaba göre bağımsız eşledi. Yani senin hesabındaki us-east-1a, iş ortağının hesabında başka bir binaya karşılık gelebilir.
Kasım 2025'ten sonra açılan hesaplarda aynı adlar aynı alanlara eşlenir. Kalıcı çözüm alan kimliğidir (AZ ID). euc1-az1 ya da use1-az2 gibi kimlikler her hesapta aynı fiziksel yeri gösterir.
İki hesap arasında gecikme ya da dayanıklılık planı yapıyorsan alan adıyla değil, alan kimliğiyle konuşursun. describe-availability-zones komutu her alanın hem adını hem kimliğini listeler. AWS ayrıca büyümesi kısıtlanan alanlarda yeni kaynak açmayı sınırlayabilir. Bu yüzden iki hesap aynı bölgede farklı sayıda alan görebilir.
Etkinlik 4 / 7
Doğru mu, yanlış mı?
Aynı bölgedeki iki erişilebilirlik alanı aynı elektrik ve soğutma altyapısını kullanır.
Yönetim portunu kapatmak, servislere özel yol
SSH ve RDP portunu tüm internete açmak bulutta en yaygın bulgulardan biridir. MITRE ATT&CK dışa açık uzak erişim servislerinin kötüye kullanımını T1133 (External Remote Services) olarak kaydeder. En temiz çözüm portu hiç açmamaktır. AWS Systems Manager'ın oturum yöneticisi (Session Manager) makinede gelen yönde açık port, atlama sunucusu ya da SSH anahtarı istemez.
Makinedeki ajan servise dışarıya doğru bağlanır. Kimin hangi makineye bağlanacağına IAM politikası karar verir. Oturum başlatma çağrıları CloudTrail'e düşer, oturum içeriği de S3'e ya da CloudWatch Logs'a yazılabilir.
$ aws ssm start-session --target i-0abc123def4567890 Starting session with SessionId: denetci-0a1b2c3d4e5f67890 sh-5.2$ whoami ssm-user
Çıktıda üç şeye bak. Bağlantı bir oturum kimliğiyle açıldı ve bu kimlik denetim kaydında aranabilir. Oturum kimliği, bağlanan kullanıcının adıyla başlar.
Makinede ssm-user adlı ayrı bir kullanıcıyla çalışıyorsun. Bir sınır da bilmen gerekir. Oturum yöneticisi üstünden port yönlendirme ya da SSH tüneli açarsan içerik günlüğe yazılmaz, çünkü veri SSH'nin kendi şifrelemesiyle geçer. Tam kayıt istiyorsan etkileşimli oturum kullanır, tünellerin kimde açık olduğunu IAM ile sınırlarsın.
Servis uçlarına giden trafiği de düşünmen gerekir. Özel alt ağdaki bir makine S3'e eriştiğinde istek NAT geçidinden çıkar ve S3'ün genel ucuna gider. Bu trafik AWS ağından ayrılmaz, ama internet geçidinden geçen bir yol ve NAT maliyeti gerektirir. VPC uç noktası bu yolu kaldırır.
Ağ geçidi tipi uç nokta yalnız S3 ve DynamoDB içindir, ek ücreti yoktur ve tabloya bir önek listesi rotası ekler. Arayüz tipi uç nokta (PrivateLink) alt ağda özel IP'li bir ağ arayüzü açar ve pek çok servisi destekler. Asıl güvenlik kazancı politikadadır. Uç nokta politikası ve kova politikasındaki aws:SourceVpce koşulu, kovayı yalnız senin uç noktandan gelen isteklere açar.
Derinleş:En uzun önek kuralı
Bir tabloda birden çok satır aynı hedefi kapsıyorsa, AWS en özel satırı seçer. Buna en uzun önek eşleşmesi denir. Ağ geçidi tipi bir S3 uç noktası tanımladığında tabloya, hedefi S3'ün adres önek listesi olan bir satır eklenir. Aynı tabloda 0.0.0.0/0 satırı internet geçidine gidiyor olsa bile, S3'e giden trafik daha özel olan uç nokta satırını izler.
Başka servislere giden trafik ise internet geçidinden çıkmaya devam eder. Önek listeleri bölgeye özgüdür. Bu yüzden başka bir bölgedeki kovaya giden istek uç noktayı kullanmaz ve internet geçidine gider.
Birisi S3'ün tam adres aralığını gösteren elle yazılmış bir satır eklerse, o satır uç nokta satırından önce gelir. Uç nokta satırlarını tablodan elle silemez ya da değiştiremezsin. Satır, tabloyu uç noktadan ayırdığında ya da uç noktayı sildiğinde kalkar.
Etkinlik 5 / 7
Oturum yöneticisi ve VPC uç noktaları için hangileri doğrudur?
Eşleme ve düzenli denetim turu
İki VPC'yi birbirine bağlamanın en basit yolu eşleme bağlantısıdır. Bir taraf ister, öbür taraf kabul eder. Adres blokları çakışan iki VPC eşlenemez. Eşleme kurulduğunda trafik kendiliğinden akmaz; iki tarafın tablosuna da karşı ağa giden satır, güvenlik gruplarına da uygun kural yazılır.
Eşleme geçişli değildir. A ile B ve A ile C eşlendiyse, B ile C yine konuşamaz. B, A'nın internet geçidini, NAT cihazını ya da VPN bağlantısını da kullanamaz. Kuralı geniş yazmak iki ağı tek bir düz ağa çevirir, bu yüzden eşleme kapsamını dar tutarsın.
Ağ kodla yazıldığında denetlenebilir hâle gelir. Terraform ya da benzeri bir araçla tanımlanan VPC'de her değişiklik gözden geçirmeden geçer ve geçmişi kayıt altında kalır. Yine de kural okumak her yolu göstermez. AWS'nin iki aracı bu boşluğu kapatır.
Erişilebilirlik çözümleyicisi (Reachability Analyzer) iki kaynak arasındaki yolu yapılandırmadan hesaplar ve paket göndermez. Yol açıksa adım adım rotayı, kapalıysa engelleyen bileşeni gösterir. Ağ erişim çözümleyicisi (Network Access Analyzer) ise senin yazdığın kurala uymayan yolları bulur. Örneğin internet geçidinden ulaşılabilen bütün ağ arayüzlerini listeler.
Düzenli bir denetim turu dört adımdır. Önce alt ağları listelersin. Sonra her alt ağın yönlendirme tablosunu okur, hangisinin genel olduğunu çıkarırsın.
Üçüncü adımda güvenlik gruplarında 0.0.0.0/0 kaynaklı kuralları ararsın. Son adımda kendi yetkin dahilinde dışarıdan tarama yapar ve sonucu kurallarla karşılaştırırsın. Dışarıdan açık görünen ama kurallarda görünmeyen bir port, unutulmuş bir yük dengeleyiciden ya da sahipsiz bir genel IP adresinden geliyordur. Farkı bulmak çoğu zaman tek bir yanlış kaydı ortaya çıkarır.
Etkinlik 6 / 7
Bu eşleme düzeninde B ağındaki bir makine C ağındaki bir makineye ulaşabilir mi?
Önce kodu oku, sonra çıktıyı seç.
VPC-A 10.0.0.0/16 <-- pcx-ab --> VPC-B 10.1.0.0/16
VPC-A 10.0.0.0/16 <-- pcx-ac --> VPC-C 10.2.0.0/16
VPC-B tablosu: 10.0.0.0/16 -> pcx-ab
10.2.0.0/16 -> pcx-ab
VPC-C tablosu: 10.0.0.0/16 -> pcx-acEtkinlik 7 / 7
Kendi laboratuvar VPC'ndeki alt ağları kimlik ve blok bilgisiyle listele.
Okumayı istediğin sırayla sürdürebilirsin. Ders, bütün etkinlikleri cevapladığında tamamlanır.
- Etkinlik 1· Alt ağı genel yapan şey
- Etkinlik 2· Güvenlik grubu ve ağ erişim listesi
- Etkinlik 3· Güvenlik grubu ve ağ erişim listesi
- Etkinlik 4· Bölge, alan ve dayanıklılık
- Etkinlik 5· Yönetim portunu kapatmak, servislere özel yol
- Etkinlik 6· Eşleme ve düzenli denetim turu
- Etkinlik 7· Eşleme ve düzenli denetim turu