CyberFlow Logo CyberFlow BLOG
Soc L2 Infra Ad Cloud

Bulut Güvenliğinde Yatay Hareket ve Azure RBAC Analizi

✍️ Ahmet BİRKAN 📂 Soc L2 Infra Ad Cloud

Azure ortamında yatay hareketin tehlikelerini ve RBAC'ın rolünü anlamak için kapsamlı bir rehber.

Bulut Güvenliğinde Yatay Hareket ve Azure RBAC Analizi

Bu yazıda, Azure RBAC ile yatay hareket analizi konularını ele alıyoruz. Bulut güvenliği için kritik öneme sahip unsurları ve savunma yöntemlerini öğrenin.

Giriş ve Konumlandırma

Giriş

Son yıllarda bulut bilişim, işletmelerin bilgi teknolojileri (IT) altyapılarını yönetme biçimlerini köklü bir şekilde değiştirmiştir. Bu dönüşüm, güvenlik paradigmasında da önemli değişiklikler getirmiştir. Özellikle bulut güvenliği, siber tehditlerin karmaşık yapısıyla başa çıkmayı gerektirmiştir. İki önemli kavram, "Yatay Hareket" (Lateral Movement) ve "Rol Tabanlı Erişim Kontrolü" (RBAC), bulut ortamlarındaki güvenlik açığını anlamak ve önlemek için kritik bir öneme sahiptir.

Yatay Hareket Nedir ve Neden Önemlidir?

Yatay hareket, saldırganların başlangıçta ele geçirdikleri düşük yetkili bir kimlik veya kaynaktan, bulut ortamındaki daha yüksek yetkili kimliklere veya diğer kaynaklara geçiş yapma işlemini tanımlar. Bu durum, genellikle bir sızma testi ya da saldırı senaryosunun önemli bir parçasıdır. Saldırganlar, başlangıçta erişim sağladıkları noktayı kullanarak, sistem içindeki hassas verilere ve kritik kaynaklara ulaşmaya çalışırlar. Dolayısıyla, yatay hareketin tespiti ve önlenmesi, siber güvenlik stratejilerinin temelini oluşturur.

İlgili saldırıların önemli bir kısmını teşkil eden yatay hareket, özellikle bulut ortamlarında daha da karmaşık hale gelir. Bulut bilişim sistemleri, genellikle daha fazla kaynak ve daha karmaşık ağ yapıları içerdiğinden, saldırganlar için daha fazla fırsat sunar. Etkili bir siber savunma sağlamak için bu tür tehditlerin anlaşılması kritik öneme sahiptir.

Azure ve RBAC: Güvenlik Kontrolü

Azure, Microsoft'un bulut platformudur ve birçok organizasyon tarafından kullanılan bir hizmettir. Azure üzerinde yönetim, erişim ve güvenliğin sağlanması için Rol Tabanlı Erişim Kontrolü (RBAC) mekanizması oldukça önemlidir. RBAC, hangi kullanıcının hangi düzlemde ne tür işlemler yapabileceğini belirleyen bir erişim kontrol modelidir. Kullanıcıların yetkileri, yönetim düzlemi (Control Plane) ile veri düzlemi (Data Plane) arasında açık bir şekilde tanımlanmalıdır.

Bu bağlamda, Azure'da RBAC uygulaması, belirli rollerin ve izinlerin doğru bir şekilde atanmasını gerektirir. Ancak, aşırı yetkili roller, özellikle saldırganların erişim alanını genişletmesine yardımcı olabilir. Örneğin, bir saldırgan, "User Access Administrator" gibi kapsamlı bir role sahip olduğunda, kendisine "Owner" rolü atayarak tüm abonelik üzerinde tam kontrol sağlayabilir.

Siber Güvenlik ve Savunma Bağlamı

Siber güvenlik alanında, özellikle bulut güvenliği konusunda, yatay hareket ve RBAC analizi, saldırılara karşı savunma stratejilerini güçlendirmek için kullanılan iki önemli unsurdur. Saldırılar sırasında verilerin güvenliği sağlanamazsa, sonuçları yıkıcı olabilir. Bu nedenle, bulut ortamlarının güvenliğinin sağlanması, yalnızca erişim kontrollerini sıkılaştırmakla kalmayıp, aynı zamanda potansiyel zafiyetleri zamanında tespit etmeyi de gerektirir.

Özellikle pentest (sızma testi) süreçlerinde, yatay hareket analizine odaklanmak, güvenlik açığı tespitinde faydalı olabilmektedir. Saldırganların nasıl hareket ettiğini analiz etmek, güvenlik uzmanlarının savunma mekanizmalarını geliştirmesine yardımcı olur. Bunun yanında, Azure aktiviteleri gibi günlük kayıtlarının izlenmesi, olağandışı aktivitelerin tespit edilmesine ve bu tehditlerin etkili bir şekilde yönetilmesine olanak tanır.

Sonuç olarak, bulut güvenliğinde yatay hareket ve Azure RBAC analizi, organizasyonların siber güvenlik stratejilerini güçlendirmek ve olası tehditlere karşı daha hazırlıklı olmalarını sağlamak açısından kritik bir yere sahiptir. Bu blog yazısında, bu kavramların derinlemesine incelenmesi amaçlanmaktadır; özellikle yatay hareketin tespit yöntemleri, yönetilen kimliklerin riskleri, Azure CLI gibi araçların kullanışı ve güvenlik sıkılaştırma yöntemleri üzerinde durulacaktır. Bu içerik, okuyucuları daha teknik bilgilerle donatarak, bulut güvenliği alanındaki uzmanlıklarını geliştirmelerine yardımcı olacaktır.

Teknik Analiz ve Uygulama

Bulutta Yatay Hareket (Lateral Movement)

Yatay hareket, bir saldırganın başlangıçta ele geçirdiği düşük yetkili bir kimlik veya kaynaktan, bulut ortamındaki diğer kaynaklara veya daha yüksek yetkili kimliklere geçiş yapmasına verilen isimdir. Bulut ortamlarında bu tür hareketler, özellikle yönetim düzlemi ile veri düzlemi arasında yapılabilmektedir. Bu sebeple, Azure RBAC (Role-Based Access Control) gibi erişim yönetim araçları, yatay hareketin önlenmesinde kritik bir rol oynar.

Control Plane vs. Data Plane

Bulut altyapısında kaynakların yönetimi ve kullanımı için iki temel düzlem bulunmaktadır: yönetim düzlemi (Control Plane) ve veri düzlemi (Data Plane). Yönetim düzlemi, kaynakların oluşturulması, silinmesi ve izinlerin yönetilmesi ile ilgili işlemleri gerçekleştirirken, veri düzlemi kaynakların sağladığı hizmetlere veya verilere doğrudan erişim sağlar.

Yönetim düzlemi üzerinden sağlanan yetkilerin kötüye kullanılması durumunda, bir saldırgan kaynakların izinlerini değiştirme imkanına sahip olabilir. Örneğin, kullanıcı erişimlerini yönetme yetkisine sahip bir saldırgan, kendisine Owner rolü atayarak tüm abonelik üzerinde tam kontrol sağlayabilir.

Yönetilen Kimlik (Managed Identity) Riskleri

Azure'da kullanılan yönetilen kimlikler, uygulamalara kaynaklara erişim sağlamak amacıyla kullanılan kimliklerdir. Ancak, bu kimliklerin kötüye kullanılma riski de mevcuttur. Bir saldırgan, bir sanal makineyi ele geçirdiğinde, o makineye atanmış olan yönetilen kimlik üzerinden bulut kaynaklarına parolasız erişim sağlamaktadır.

Bulut sunucularında çalışan uygulamaların kimlik jetonu alabilmek için sorguladığı yerel servis adresine IMDS (Instance Metadata Service) denir. IMDS üzerinden elde edilen token'lar, saldırganların bulut kaynaklarına erişim sağlayarak daha geniş çaplı bir saldırı gerçekleştirmesine olanak tanır.

Kritik Kaynak: Azure Key Vault

Azure Key Vault, uygulamaların ve hizmetlerin güvenli bir şekilde sıfır bilgi ile (zero-knowledge) sırları ve şifreleme anahtarlarını depolamalarına imkan tanır. Fakat Key Vault'un da çeşitli güvenlik riskleri bulunmaktadır. Örneğin, bir saldırgan, uygulama şifrelerini veya API anahtarlarını Key Vault içinden düz metin olarak okuyarak kritik bilgiye erişim sağlayabilir. Özellikle saldırganların, ağa ve diğer kaynaklara erişim sağlamak için bu tür bilgilere ihtiyaç duyduğu göz önünde bulundurulmalıdır.

Örnek bir erişim politikası şu şekilde belirlenebilir:

{
  "permissions": {
    "secrets": ["get", "list"],
    "keys": ["get", "list"]
  },
  "principalId": "saldirgan-kimlik-id",
  "resourceId": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{vault-name}"
}

Bu tür bir yapılandırma, bir saldırgana sadece erişim sağlamanın ötesinde, var olan kaynaklara müdahale edebilme yetkisi verebilir.

Rol Atama İstismarı

Azure içinde rol atama istismarı, saldırganların, sahip oldukları yetkileri kullanarak daha yüksek yetkili roller atayabilmesi anlamına gelir. Örneğin, bir kullanıcı erişimlerini yönetme yetkisine sahip bir saldırgan, kendisine "Owner" rolü atayarak yüksek riskli bir senaryo yaratabilir.

Yatay hareketin belirlenmesi amacıyla, Azure Activity Logs üzerindeki "Create Role Assignment" işlemleri özellikle yönetici rolleri söz konusu olduğunda yakından takip edilmelidir. Bu kayıtlar, şüpheli hareketleri tespit etmek için iyi bir kaynak sağlamaktadır.

Azure CLI ve Az PowerShell

Saldırganların keşif ve yatay hareket için sıkça kullandığı araçlar arasında Azure CLI ve Az PowerShell yer almaktadır. Bu araçlar, komut satırı üzerinden Azure kaynaklarını yönetmeye ve sorgulamaya imkan tanır. Örneğin, bir kaynak grubunun erişim yönetimi ile ilgili bilgi almak için şu komut kullanılabilir:

az role assignment list --assignee {userId} --scope /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}

Bu komut, belirtilen kullanıcıya atanmış tüm rol atamalarını listeleyecektir ve bu da bir saldırganın hangi kaynaklara erişim sağladığını anlayabilmek için önemli bir adımdır.

Tespit ve Sıkılaştırma

Saldırı tespiti, Azure Activity Logs ve diğer güvenlik hizmetleri aracılığıyla gerçekleştirilmelidir. Özellikle kritik bir rol değişikliğinin izlenmesi kritik öneme sahiptir. Azure aktivitelerinin sürekli olarak takip edilmesi, potansiyel tehditlerin hızlı bir şekilde tespit edilmesini sağlamaktadır.

Ayrıca, güvenlik sıkılaştırma yöntemlerinden biri olan Just-In-Time (JIT) erişimi, sanal makinelerin yönetim portlarını sürekli açık tutmak yerine sadece ihtiyaç anında ve sınırlı süreyle açılmasını sağlar. Bu, saldırganların bu portlar üzerinden erişim sağlamasını önemli ölçüde zorlaştırmaktadır.

Yukarıda anlatılan güvenlik önlemleri ve teknik uygulamalar, bulut ortamınızda siber saldırılara karşı daha dirençli bir yapı oluşturmanıza yardımcı olacaktır. Sürekli güncellenen güvenlik politikaları ve izleme sistemleri ile bulut güvenliğini sağlamak kritik bir öneme sahiptir.

Risk, Yorumlama ve Savunma

Bulut ortamlarında güvenlik, çoğu zaman karmaşık yapıların ve hizmetlerin bir araya gelmesiyle ortaya çıkan risklerin yönetilmesi gerekliliği ile ilişkilidir. Azure gibi platformlarda siber tehditlere karşı koymak, yalnızca mevcut güvenlik unsurlarına bağlı kalmayı değil, aynı zamanda potansiyel zafiyetleri önceden tespit etme ve proaktif savunma mekanizmaları geliştirmeyi gerektirir.

Risk Değerlendirmesi

Azure ortamlarında yatay hareket (lateral movement), saldırganların ele geçirdiği düşük yetkili bir kimlik ya da kaynaktan daha yüksek yetkiye sahip kaynaklara geçiş yapma eylemidir. Bu tür hareketler, bulut mimarilerinin karmaşıklığından faydalanarak gerçekleştirilir. Örneğin, bir saldırgan bir sanal makineyi ele geçirdiğinde, bu makineye atanan yönetilen kimlik üzerinden diğer bulut kaynaklarına parolasız erişim sağlayabilir. Bu durum, bulut sistemlerindeki kritik verilerin sızdırılmasına veya manipüle edilmesine olanak tanır.

Yanlış yapılandırmalar, bu tür hareketlerin gerçekleşmesinde önemli bir rol oynar. Örneğin, aşırı yetkili bir rol (ör. User Access Administrator) kullanan bir saldırgan, kendisine Owner rolü atayarak tüm abonelik üzerinde tam kontrol sağlayabilir. Bu tür bir kontrol kaybı, veri kaybına, hizmetlerin durmasına veya daha kötü durumlarda kötü niyetli aktivitelerin gerçekleştirilmesine yol açabilir.

Yatay Hareketin Etkileri

Sızmalar sonucunda elde edilen verilerin tanımlanması, bulut yapısında kritik bir öneme sahiptir. Verilerin sızdığı anlaşıldığında, etkilenmiş kaynakların tespiti gereklidir. Örneğin, Azure Key Vault üzerinde gerçekleştirilen bir saldırıda, saldırganın erişimini sağladığı gizli anahtarlar ve sertifikalar ile, güvenlik politikalarının ihlal edilmesi mümkün hale gelir.

Ayrıca, hizmetlerin üst düzey güvenlik ayarlarını etkileyen önceki denemeleri izlemek de kritik olacaktır. Azure Activity Logs, kritik rol değişikliklerini izleme ve yönetme konusunda önemli bir araçtır. Özellikle yönetici rolleri söz konusu olduğunda, düzenli olarak Create Role Assignment işlemlerini takip etmek gerekir. Bu log kayıtları, ne zaman ve nasıl bir değişikliğin yapıldığını açığa çıkarır, bu da olası tehditleri zamanında tespit etmek açısından büyük önem taşır.

Savunma Mekanizmaları

Yatay hareketin etkilerinin azaltılması için mevcut güvenlik önlemlerinin gözden geçirilmesi ve geliştirilmesi gereklidir. Aşağıdaki önlemler, Azure ortamındaki olası riskleri en aza indirmek için yararlı olacaktır:

  1. Just-In-Time (JIT) Erişim: Sanal makinelerin yönetim portlarını sürekli açık tutmak yerine, sadece ihtiyaç anında ve sınırlı süreyle açılması önerilir. Böylece, saldırganların bu portlar üzerinden erişim sağlaması engellenmiş olur.

    # JIT yapılandırması için Azure CLI komutu
    az vm open-port --resource-group [resource-group-name] --name [vm-name] --port [port-number] --priority 1000 --time [duration]
    
  2. Rol Tabanlı Erişim Kontrolü (RBAC): Kullanıcı erişim izinlerinin dikkatli bir şekilde atanması gerekir. Kullanıcıların yalnızca işlevleri için gerekli olan minimum yetkilere sahip olmaları sağlanmalıdır. Aşırı yetkili rollerin kullanımını minimize etmek, olası tehditleri büyük ölçüde azaltır.

  3. Riskli Kimliklerin Yönetimi: Yönetilen kimliklerin kötüye kullanılmasını engellemek için uygun erişim politikaları oluşturulmalıdır. Özellikle, Key Vault gibi kritik kaynaklara erişim için sıkılaştırma politikaları uygulanması önemlidir.

  4. Eğitim ve Farkındalık: Kullanıcıların potansiyel saldırı vektörleri ve güvenlik tehditleri konusunda eğitim alması, insan kaynaklı hataların önüne geçebilir. Kullanıcılar, phishing saldırıları ve veri ihlalleri konusunda sürekli bilgilendirilmelidir.

Sonuç

Bulut ortamındaki güvenliği artırmak için saldırıların nasıl gerçekleştiğini anlamak, bu tehditlerin önlenmesine yönelik stratejiler geliştirmek açısından kritik öneme sahiptir. Yatay hareketin tespiti ve ilgili savunmaları güçlendirmek, güvenlik pozisyonunu önemli ölçüde iyileştirir. Azure platformundaki güvenlik açıklarının yönetilmesi, sürekli izleme ve güncellemeler ile desteklenmeli, oluşabilecek risklere karşı hazırlıklı olunmalıdır. Güvenlik, bir hedef değil, işle ilgili sürekli bir süreçtir.