Sonunda Artık Uyuyabilirim: Son Bölüm – Olay Müdahalesi ve Uyumluluk
Geçen sefer, her biri tek bir görevi yerine getiren sekiz hizmeti ele almıştık: bir sorunun ortaya çıktığını fark etmek. Hiçbiri bu konuda harekete geçmedi; bu sınır kasıtlı olarak çizilmişti. Bu yazı, alarmın çalmasının ardından neler olduğu üzerine ve üç gerçekten farklı zaman ölçeğinde işleyen süreçleri ele alıyor. Kontrol altına alma işlemi saniyeler ile dakikalar arasında gerçekleşir; güvenlik ihlali yaşayan tek bir EC2 örneğini penceresi olmayan bir odaya kilitlersiniz. EventBridge anında ve otomatik çalışır; hiçbir insan müdahalesi yoktur. Audit Manager ve Trusted Advisor ise günler ve haftalar boyunca çalışır; tek bir olaya tepki vermezler, sürekli “bunu hâlâ doğru yapıyor muyuz?” diye sorarlar.
Dört konu, üç hız, bunları birbirine bağlayan tek bir konu başlığı. Başlayalım.
Zamanınız mı kısıtlı? İşte kısa versiyonu:
- Sınırlama = artan seviyeler (Güvenlik Grubu → NACL → Yönlendirme Tablosu → İnternet Ağ Geçidi), her biri hız karşılığında hassasiyetten ödün verir
- Güvenlik grubu izolasyonunun bir tuzağı vardır: izlenen ve izlenmeyen bağlantılar
- EventBridge, “GuardDuty bir şey buldu” ifadesini “Lambda bunu zaten düzeltti” haline getiren yönlendirme omurgasıdır
- Audit Manager sizin için kanıt toplar, sizi derecelendirmez
- Trusted Advisor, ücretli destek planı olmadan size tam olarak 6 güvenlik kontrolü sunar; hangileri olduğunu öğrenin
Sınırlama: Güvenliği ihlal edilmiş bir EC2'yi yastıklı odaya kilitlemek
Bir olay gerçekleşmeden önce bir eylem planına ihtiyacınız var, bu isteğe bağlı değildir. Bir olay gerçekten meydana geldiğinde, sınırlama size zaman kazandırır: araştırma yapmak, temizlik yapmak ve verileri kurtarmak için zaman; tüm bunlar, güvenliği ihlal edilmiş örneğin daha fazla hasara yol açmasını engellerken gerçekleşir.
Fikir basit: örneği kendisinden başka her şeyden koparın. Diğer örnekleri görmemeli, internete erişmemeli ve hiçbir şeyle iletişim kuramamalıdır. Hapishane hücresini değil, yastıklı odayı düşünün; bu bir ceza değil, sadece izolasyondur.
Bir sorunun olduğunu nasıl anlarsınız, kısaca hatırlatalım: GuardDuty, arka planda makine öğrenimi (ML) kullanarak CloudTrail ve VPC akış günlüklerini izler ve EC2'nizde çalışan bir bitcoin madencisi gibi durumları tespit eder. Inspector ise ağ erişilebilirliğini ve uygulama düzeyindeki güvenlik açıklarını kontrol eder, e-posta veya SNS yoluyla sizi uyarır.
Durumu fark ettiğinizde, o örneği izole edersiniz. Dört seviye vardır ve her biri hız karşılığında hassasiyetten ödün verir:
Seviye Kapsam Hız Tuzak Güvenlik Grubu Tek örnek Yavaş (çok adımlı) İzlenen ve izlenmeyen bağlantılar NACL Tüm alt ağ Anında Yalnızca sorunlu olanı değil, alt ağdaki tüm örnekleri etkiler Yönlendirme Tablosu Tüm alt ağ Anında Örnekler, VPC içinde birbirleriyle iletişim kurmaya devam edebilir İnternet Ağ Geçidi Tüm VPC Aslında kullanılamaz; örnekler buna bağlıyken AWS, bunu ayırmanıza izin vermez
Güvenlik Grubu: hedefe yönelik seçenek, ancak göründüğü kadar net değildir
- İnsanlar “güvenlik gruplarının varsayılan olarak her şeyi reddettiğini” düşünür, ancak bu yalnızca gelen trafik için geçerlidir. Yeni bir güvenlik grubu, giden trafiğe her şeyi izin veren bir kural ile gelir; bunu kendiniz silmeniz gerekir, aksi takdirde “izole edilmiş” örneğiniz hâlâ dışarıya erişmeye devam eder.
- İnsanlar “bir güvenlik grubuyla trafiği engelleyebilirim” diye düşünür, ancak bunu yapamazsınız. Güvenlik grupları yalnızca izin verir, asla engellemez. İzolasyon sağlamak için kural eklemezsiniz, kuralları kaldırırsınız.
Birbiriyle çakışan birden fazla güvenlik grubunuz mu var? EC2, en izin verici olanı uygular. Ayrıca güvenlik grupları durum bilgisine sahiptir; yanıt trafiği, kurallarınızdan bağımsız olarak otomatik olarak akar.
Sınavda gerçekten karşınıza çıkan tuzak, izlenen ve izlenmeyen bağlantılar arasındaki farktır:
- İzlenmeyen = 0.0.0.0/0, her iki yönde tüm bağlantı noktalarını kapsayan kural. Bu kuralı değiştirir veya kaldırırsanız, bağlantı anında kesilir.
- İzlenen = belirli bir IP/CIDR'yi (ör. 203.0.113.1/32) belirten kural. Kuralı kaldırırsanız, bağlantı yine de çalışmaya devam eder.
- ICMP her zaman izlenir, istisna yoktur; bunu tek başına ezberlemeye değer.
Dolayısıyla, saldırgan izlenen bir bağlantı üzerinden içeri girmişse, boş bir güvenlik grubu eklemek sizi kurtarmaz; saldırgan hala oradadır. Gerçek çözüm:
- Özel bir izolasyon güvenlik grubu oluşturun
- Bir kural ekleyin: 0.0.0.0/0, tüm trafik, hem gelen hem de giden
- Örneğin mevcut güvenlik gruplarını kaldırın
- İzolasyon güvenlik grubunu ekleyin
- Az önce eklediğiniz iki kuralı silin
2. adım, her bağlantıyı izlenemez hale getirir. 5. adım ise bunları sonlandırır. Biraz hantal bir yöntem olsa da, hiçbir şeyin hayatta kalmamasını garanti etmenin tek yolu budur. Bir olay sırasında kuralları canlı olarak düzenlemek istemiyorsanız, önceden iki güvenlik grubu hazırlayın: ilki (0.0.0.0/0 kuralı hazır halde) ve ikincisi (boş). Örneği önce ilkine, ardından ikincisine ekleyin, işte bu kadar.
NACL: daha kaba ama daha hızlı
NACL'ler alt ağ düzeyinde çalışır ve durum bilgisi içermez; bu da geri gelen trafik için de açık kurallara ihtiyacınız olduğu anlamına gelir (güvenlik grupları bunu sizin için halleder; NACL'ler ise halletmez). Kurallar yalnızca harici IP'lere dayalıdır; kendi ağınızın içindeki bir hedefi hedefleyen bir kural yazamazsınız. Ayrıca bir NACL her zaman tam olarak tek bir alt ağa eklenir.
Avantajı: her yönde tek bir DENY ALL kuralı yeterlidir ve her şey anında durur. Güvenlik gruplarında olduğu gibi çok adımlı bir süreç gerekmez.
Dezavantajı: Hedef odaklı değildir. NACL’yi değiştirirseniz, sadece güvenliği ihlal edilmiş olan değil, o alt ağdaki her örnek etkilenir.
Kullanımı: Hem gelen hem de giden trafiğe 0.0.0.0/0 DENY ALL kuralını 1 numaralı kural (en yüksek öncelik) olarak ekleyin. NACL dolarsa, yer açmak için bir kuralı silin, ancak daha sonra geri yükleyebilmek için sildiğiniz kuralı not edin.
Yol Tablosu: İçeriyi değil, dışarıyı keser
Yol tabloları da alt ağ düzeyinde bulunur. Genel alt ağlar bir internet ağ geçidine yönlendirilir; kesmek istediğiniz bağlantı budur. Mevcut tablodaki tüm yolları kaldırın ya da (daha temiz bir yöntem olarak) alt ağa yeni, boş bir yol tablosu ekleyin.
Dikkat: Bu işlem, dışarıya giden harici iletişimi keser, ancak aynı VPC içindeki örnekler birbirleriyle iletişim kurmaya devam edebilir. Yanal hareket sizin için bir endişe kaynağıysa, bu önlem tek başına yeterli değildir.
İnternet Ağ Geçidi: Kağıt üzerinde var, pratikte yok
En bariz son adım olan internet ağ geçidini ayırmak işe yaramaz. AWS, herhangi bir EC2 bağımlılığının buna ihtiyaç duyduğu sürece ağ geçidini ayırmanıza izin vermez. Önce VPC'deki tüm örnekleri sonlandırmanız gerekir, bu da tüm amacın boşa çıkmasına neden olur.
Yine de aynı etkiyi mi istiyorsunuz? Zaten elinizde var; bu, yukarıda bahsedilen rota tablosu yöntemidir.
EventBridge: Alarmı Sizin Adınıza Harekete Geçiren Şey
Geçen sefer CloudWatch alarmlarını yönlendirirken EventBridge'e kısaca değinmiştik. Asıl görevi daha kapsamlıdır: AWS hizmetlerinden, üçüncü taraf SaaS araçlarından ve kendi uygulamalarınızdan veri toplayan, ardından bu bilgilerin nereye gideceğine karar veren bir olay koordinatörüdür.
Bu mimarinin neden var olduğuna dair kısa bir açıklama: monolit → mikro hizmet → olay odaklı, genel olarak izlenen yoldur. Mikro hizmetlerin yine de birbirlerini doğrudan bilmeleri gerekiyordu (sipariş hizmeti, faturalandırma hakkında bilgi sahibi olmalıydı). Olay odaklı mimari bu durumu ortadan kaldırır: bir hizmet sadece “bu olay gerçekleşti” diye bildirir ve dinleyen taraf ne yapılacağına kendi başına karar verir. Sipariş hizmeti, kimin dinlediğini asla bilmek zorunda kalmaz.
Bir olayın içeriği (tamamı JSON, her zaman aynı yapıdadır):
Alan Neyi belirtir? version Şu an için her zaman 0 id Her olaya özgü bir kimlik detail-type Bu olayın türü source Olayı gerçekte kimin ürettiği; sizi şaşırtabilir (aşağıya bakın) account Hangi AWS hesabı time Ne zaman gerçekleşti region Nerede gerçekleşti resources İlgili ARN’ler detail Asıl yük
Tuzak: Bir EBS Anlık Görüntü Bildirimi olayının kaynağı EBS değil, EC2’dir. detail-type ve source her zaman aynı hizmeti göstermez. Varsayımda bulunmayın.
90’dan fazla AWS hizmeti bu olayları oluşturabilir.
Hareketli parçalar:
- Event Bus, olayların geldiği yerdir. Otomatik olarak varsayılan bir bus alırsınız (yalnızca AWS olayları), ayrıca kendi uygulamalarınız için özel bus'lar veya SaaS için iş ortağı bus'ları oluşturabilirsiniz. Bus başına en fazla 100 kural.
- Kurallar, olayları filtreler ve nereye gideceklerine karar verir. Tek bir kural, birden fazla hedefe paralel olarak yayılabilir. Kuralların belirli bir sırayla çalışacağı garanti edilmez. Ayrıca bir zamanlamaya göre de çalışabilirler (cron dahil).
- Hedefler, işi fiilen yapan unsurlardır: Lambda, EC2, Kinesis, ECS görevleri ve daha fazlası; toplamda 15 hedef türü vardır. Tek bir Step Functions hedefi bile neredeyse tüm bir iş akışını oluşturabilir.
Hesaplar arası yönlendirme de çalışır; bir hesaptaki kural, olayları doğrudan başka bir hesabın veriyoluna gönderebilir.
EventBridge, CloudWatch Events'in yeniden markalanmış ve genişletilmiş halidir; geriye dönük uyumluluk tam olarak sağlanmıştır. Asıl yenilik, SaaS entegrasyonu ve 30 iş ortağı sağlayıcıdır (Zendesk, Auth0, Segment vb.); EventBridge, bunlara doğrudan bağlanan tek olay hizmetidir.
Bilmeniz gereken ek özellikler:
- Arşiv: olayları süresiz olarak (veya bir TTL ile) depolayın ve daha sonra yeniden oynatın. Felaket kurtarma veya eski verileri yeni mantıkla yeniden işleme için kullanışlıdır. Yeniden oynatma şu anda yalnızca olayın geldiği veriyoluna kadar geriye gidebilir.
- Şema Kayıt Defteri: Her AWS hizmeti olayı, hazır bir şema ile birlikte gelir. SaaS olaylarında bu durum geçerli değildir, ancak bunları otomatik olarak keşfedebilirsiniz. Kendi JSON'unuzdan oluşturulan özel şemalar da sorunsuz bir şekilde çalışır.
- Kod Bağlamaları: Bir Visual Studio uzantısı, Java, Python ve TypeScript için türlü bağlamalar oluşturur; böylece IDE'niz dağıtımdan önce hataları yakalar.
EventBridge, SNS ve Kinesis'in karşılaştırması tek bir tabloda:
En Uygun Olduğu Durumlar Eksiklikleri SNS Son derece basit yayın/abonelik, milyonlarca abone SaaS bağlantısı yok, zayıf yönlendirme (Step Functions'ı tetiklemek zahmetlidir), yalnızca özniteliklere göre filtreleme Kinesis Büyük ölçekli gerçek zamanlı veriler Tüketici sınırları, her tüketici kendi gürültüsünü filtreler EventBridge Zengin, içerik tabanlı yönlendirme + SaaS entegrasyonu Kinesis gibi ham veri akışı için tasarlanmamıştır
Basit yayın/abonelik mi istiyorsunuz? SNS. Karmaşık, çok kaynaklı yönlendirme mi istiyorsunuz? EventBridge.
Audit Manager: Kanıtları Toplar, Asla Sınavı Notlandırmaz
Audit Manager, uyumluluk incelemeleri için sürekli olarak kanıt toplar; böylece denetimden önce hiç kimse yapılandırma sayfalarının ekran görüntüsünü manuel olarak almak zorunda kalmaz.
Temel yapı taşları:
- Kontrol: Bir düzenleme veya sektör gerekliliğiyle eşleşen belirli bir politika/prosedür/faaliyet.
- Çerçeve: GDPR, CIS vb. gibi gerçek bir şeye bağlı bir dizi kontrol. Kullanıma hazır 25 yönetilen çerçeveye ek olarak, kendi özel çerçevelerinizi oluşturma olanağına da sahip olursunuz.
- Değerlendirme: Tam olarak bir çerçeveye bağlı olan, gerçek kanıt toplama süreci. Üç çerçeveyi kontrol etmeniz mi gerekiyor? O zaman üç değerlendirme yapmanız gerekir.
İki rol:
- Denetim Sorumlusu, değerlendirmeyi oluşturur ve yürütür; genellikle GRC veya SecOps görevindedir ve AWSAuditManagerAdministratorAccess rolünü kullanmalıdır.
- Denetim Temsilcisi, konu uzmanıdır ve tüm değerlendirmeyi değil, yalnızca kendisine atanan kontrol setini inceler (klasik en az ayrıcalık ilkesi). Kanıt ekler, yorum yazar, durumu günceller ve bunu sahibine geri gönderir.
Bir değerlendirmenin kurulması aşağıdaki adımlardan geçer:
- Ad ve açıklama
- Raporlar için bir S3 kovası seçin (aynı bölge, en iyi uygulama)
- Bir çerçeve seçin
- Kapsam dahilindeki hesapları seçin (Organizasyonlar kullanıyorsanız, birden fazla hesabı delege edilmiş yönetici altında birleştirebilirsiniz; kullanmıyorsanız, yalnızca kendi hesabınızı görürsünüz)
- Kapsam dahilindeki hizmetleri seçin (yönetilen bir çerçeve kullanıyorsanız, bu alanlar otomatik olarak doldurulur)
- Bir Denetim Sorumlusu atayın
Başlangıçta boş olsa da paniğe kapılmayın, verileri kontrol etmeden önce 24 saat bekleyin.
Değerlendirme Raporu, kanıtları doğrudan PDF bağlantıları ile bir arada sunar. Uyumluluk durumunuzu değerlendirmez, sadece bulguları düzenler. Bölümler: kapak sayfası, genel bakış, içindekiler, kontrol seti sayfası, kontrol sayfası, kanıt özeti, kanıt ayrıntıları. Rapor, seçtiğiniz S3 kovasına kaydedilir.
Trusted Advisor: Ücretsiz Katman Size 6 Kontrol Sağlar, Hangi 6 Olduğunu Öğrenin
Trusted Advisor, hesabınızı beş kategoride değerlendirir:
- Maliyet Optimizasyonu, ayrılmış kapasite, atıl kaynaklar
- Performans: Tahsis edilmiş verim gibi bir şey eksik mi?
- Güvenlik, burada en çok önem verdiğimiz kategori
- Hata Toleransı, esneklik önerileri
- Hizmet Sınırları, kota sınırının %80’ine ulaşan her şeyi işaretler
Toplamda 115'in üzerinde kontrol vardır (sayı değişebilir, güncel sayı için AWS'nin sayfasını kontrol edin), ancak çoğu için Business veya Enterprise destek planı gereklidir. Bu planlara sahip değilseniz, tam olarak 6 güvenlik kontrolü ve tüm Hizmet Sınırı kontrolleri alırsınız:
- S3 depolama kovası izinleri
- Güvenlik grupları, kısıtlamasız bağlantı noktaları
- EBS genel anlık görüntüleri
- RDS genel anlık görüntüleri
- IAM kullanımı
- Kök hesapta çok faktörlü kimlik doğrulama (MFA)
Ücretli planlar ayrıca yönetici için ekstra özelliklerin kilidini açar: son değişikliklerin izlenmesi, Destek API yenileme erişimi, durum değişikliklerini kontrol etmek için CloudWatch entegrasyonu.
Plana bakılmaksızın herkes için kullanılabilir:
- Bildirimler: haftalık ücretsiz e-posta, en fazla 3 alıcı, faturalandırma/operasyonlar/güvenlik
- Öğeleri hariç tutma: belirli bir kontrolden bir kaynağı gizleme (geri alınabilir)
- Eylem Bağlantıları: doğrudan düzeltmeye atlayın
- Erişim Yönetimi: IAM’nin trustedadvisor ad alanı, erişimi belirli kategorilere, denetimlere veya eylemlere sınırlama
Yenileme kuralları: 24 saatten eski veriler görüntülendiğinde otomatik olarak yenilenir. Manuel yenileme, son yenilemeden 5 dakika sonra, kontrol bazında veya toplu olarak yapılabilir. AWSTrustedAdvisorServiceRolePolicy hizmet bağlantılı rolünde arka planda çalışır.
Kontrol panelini okuma: her kategori için üç simge bulunur: kontrol, üçgen ve daire. Gri renk, hiçbir tetikleme olmadığını gösterir. Yeşil renk, sorun olmadığını gösterir. Sarı renk, kontrol etmeniz gerektiğini gösterir. Kırmızı renk, hemen düzeltmeniz gerektiğini gösterir. Her simgenin yanındaki sayı, o durumdaki kontrollerinin sayısını gösterir.
Gerçek bir örnek: VPC sınırı 5’tir, siz 5 tane kullanıyorsunuz; bu %100’dür, kırmızı uyarı. Çözüm: sınır artışı talep edin veya bir VPC’yi silin. Ya da: bir güvenlik grubunda SSH, 0.0.0.0/0 adres aralığına açıktır; bu durumda sarı uyarı verilir. Çözüm: Kendi IP'nizle sınırlandırın, ardından doğrulamak için sayfayı yenileyin (5 dakika bekleyin) veya bunu kasıtlı olarak yaptıysanız hariç tutun. Hepsini çevrimdışı mı istiyorsunuz? Excel'e dışa aktarın, her kontrol için bir sekme.
Dördünü Bir Araya Getiren Bağlantı
İzolasyon saniyeler ila dakikalar içinde gerçekleşir; tek bir örnek manuel olarak veya bir komut dosyası aracılığıyla izole edilir ve kilitlenir. Öte yandan EventBridge, insan müdahalesine gerek kalmadan anında devreye girer. Siz uyanmadan önce alarm ve eylem zaten birbirine bağlanmıştır. Audit Manager ve Trusted Advisor günler ve haftalar boyunca çalışır. Tek bir kötü geceye tepki vermezler; doğru şeyleri yapmaya devam edip etmediğinizi sürekli olarak kontrol ederler.
Algılama, sorunu tespit eder. Bu gönderi döngüyü tamamlar ve yanıtı otomatikleştirir. Arka planda, daha yavaş çalışan mekanizmalar ortamınızın amaçlanan yapılandırmasından sapıp sapmadığını sürekli olarak kontrol eder.
Aynı zincir, farklı hızlar.
Bu seriyi buraya kadar okuduğunuz için teşekkür ederim. Aldığım notları, öğrendiklerimi ve deneyimlerimi sizinle daha ilgi çekici ve takip etmesi kolay bir şekilde paylaşmak için elimden geleni yaptım. Umarım bunu başarmışımdır.
Geri bildirimlerinizi ve düşüncelerinizi duymak isterim. Eksik olduğunu düşündüğünüz, farklı gördüğünüz veya eklemek istediğiniz bir şey varsa, bunları paylaşırsanız çok sevinirim.
Bir sonraki yazıya kadar kendinize iyi bakın.
Bir dahaki sefere görüşmek üzere 💛

Kaynaklar
- Amazon EC2 güvenlik grupları
- Güvenlik grubu bağlantı izleme
- Ağ ACL'leri
- VPC Yönlendirme Tabloları
- Amazon EventBridge nedir?
- Amazon EventBridge tarafından desteklenen SaaS entegrasyonları
- AWS Audit Manager nedir?
- AWS Trusted Advisor nedir?
- Trusted Advisor en iyi uygulama kontrol listesi
- Trusted Advisor IAM izinleri referansı
- AWS Sertifikalı Güvenlik, Uzmanlık (SCS-C03) Sertifikasyon Hazırlığı
Bu yazı işinize yaradıysa paylaşmayı veya logdaki diğer yazıları keşfetmeyi düşünebilirsiniz.