Azure Sanal Makineler için Tam Zamanında (JIT) Erişimi Yönetme
01/10/2024
Bu teknik ve eğitici makale, güvenlik analistlerine, BT yöneticilerine ve sistem mühendislerine Azure Sanal Makineler (VM'ler) için Tam Zamanında (JIT) Erişimi uygulama ve yönetme konusunda rehberlik etmeyi amaçlamaktadır. JIT, Bulut için Microsoft Defender tarafından sunulan, VM'lerin yetkisiz erişim saldırılarına karşı korunmasına yardımcı olan, yönetim bağlantı noktalarına erişimi yalnızca kesinlikle gerekli olduğu zaman ve süre boyunca sınırlayarak ağ saldırı yüzeyini önemli ölçüde azaltan temel bir güvenlik özelliğidir [1].
Giriş
Bulut ortamlarında, Sanal Makineler genellikle kaba kuvvet saldırılarının ve bağlantı noktası taramalarının, özellikle de internete açık yönetim bağlantı noktalarına (RDP 3389 ve SSH 22 gibi) sahip olanların hedefidir. Bu bağlantı noktalarını sürekli olarak açık tutmak gereksiz derecede büyük bir saldırı yüzeyi oluşturarak uzlaşma riskini artırır. JIT Erişimi, güvenlik ekiplerinin varsayılan olarak VM'lere gelen trafiği engellemesine ve yönetim bağlantı noktalarını yalnızca talep üzerine, sınırlı bir süre için ve belirli IP adreslerinden açmasına olanak tanıyarak bu sorunu çözer. Bu yaklaşım, en az ayrıcalık ve Sıfır Güven ilkesini takip ederek erişimin yalnızca gerekçeli olduğunda ve mümkün olan en kısa süre için verilmesini sağlar [2].
Bu pratik kılavuz, JIT'i etkinleştirme önkoşullarını, Microsoft Güvenlik Merkezi aracılığıyla yapılandırma sürecini, JIT erişiminin nasıl talep edileceğini ve onaylanacağını, güvenlik uyarılarıyla entegrasyonu ve etkili yönetim için en iyi uygulamaları kapsayacaktır. Okuyucunun JIT'yi uygulayabilmesi ve doğrulayabilmesi, Azure VM'lerinin güvenliğini güçlendirebilmesi ve yetkisiz erişim tehditlerine karşı koruyabilmesi için adım adım talimatlar, örnek Azure CLI komutları ve talimatları sağlanacaktır.
Azure VM'leri için Tam Zamanında (JIT) Erişim neden önemlidir?
- Saldırı Yüzeyini Azaltma: VM yönetimi bağlantı noktalarını varsayılan olarak kapatır, bunları yalnızca gerektiği zaman ve gerektiği kadar süreyle açığa çıkararak saldırganlara yönelik fırsatları en aza indirir.
- Ayrıntılı Erişim Kontrolü: Hangi kullanıcıların erişim isteyebileceğini, hangi bağlantı noktalarının ne kadar süreyle ve hangi kaynak IP adreslerinden açılabileceğini belirlemenizi sağlar.
- Uyumluluk: Kritik kaynaklara erişim üzerinde sıkı kontrol gerektiren uyumluluk gereksinimlerinin karşılanmasına yardımcı olur.
- Görünürlük ve Denetim: Tüm JIT erişim isteklerinin, onaylarının ve bağlantı noktası açılış/kapanışlarının ayrıntılı günlüklerini sağlayarak güvenlik denetimini ve soruşturmasını kolaylaştırır.
- Bulut için Defender ile Entegrasyon: Bulut için Microsoft Defender ile tamamen entegre olup güvenlik duruşu yönetimi ve tehdit koruma özelliklerinden yararlanır.
- Otomasyon: Olay müdahalesi veya planlı bakım işlemleri gibi belirli senaryolarda erişimi onaylamak için otomatikleştirilebilir.
Önkoşullar
Azure Sanal Makineleri için JIT Erişimini uygulamak için aşağıdaki öğelere ihtiyacınız olacak:
- Etkin Azure Aboneliği: Kaynakları oluşturmaya ve yönetmeye yönelik bir Azure aboneliği.
- Yönetim Erişimi: Azure aboneliğinde veya VM'lerin bulunduğu kaynak grubunda "Sahip", "Katkıda Bulunan" veya "Güvenlik Yöneticisi" rolüne sahip bir hesap.
- Bulut Standardı için Microsoft Defender (veya Sunucular için Defender): JIT, Bulut için Microsoft Defender'ın premium bir özelliğidir ve VM'leri [3] içeren abonelikte Sunucular için Defender planının etkinleştirilmesini gerektirir.
- Mevcut Azure Sanal Makineleri: JIT ile korumak istediğiniz Azure VM'leri. Bu eğitimde, halihazırda VM'lerin dağıtıldığını varsayacağız.
- Azure CLI veya Azure PowerShell: Azure ile etkileşim kurmak için yüklenmiş ve yapılandırılmış komut satırı araçları.
Adım Adım: JIT Erişimini Etkinleştirme ve Yönetme
Azure VM'leriniz için JIT'yi yapılandıralım.
1. Sunucular için Defender Planını Etkinleştirme
Önkoşullarda belirtildiği gibi JIT, Sunucular için Defender planının etkinleştirilmesini gerektirir.
- Tarayıcınızı açın ve Azure portalına gidin:
https://portal.azure.com. - Gerekli izinlere sahip bir hesapla oturum açın.
- Üstteki arama alanına 'Bulut için Defender' yazın ve sonuçlardan seçin.
- Defender for Cloud kontrol panelinde Ortam Ayarları'nı seçinve sol gezinme bölmesinde.
- VM'lerinizi içeren Azure aboneliğini seçin.
- Defender planları sayfasında Sunucular için Defender planının 'Etkin' olduğundan emin olun. Değilse, 'Etkinleştir'i tıklayın ve etkinleştirmek için talimatları izleyin.
2. VM'ler için JIT Erişimini Etkinleştirme
JIT'i tek tek VM'ler için veya birden fazla VM için aynı anda etkinleştirebilirsiniz.
- Defender for Cloud kontrol panelinde, sol gezinme bölmesinde İş Yükü Koruması seçeneğini seçin.
- 'Gelişmiş Koruma' bölümüne gidin ve Tam Zamanında Sanal Makine Erişimi seçeneğine tıklayın.
-
'Sanal Makineler' sekmesi altında üç alt sekme göreceksiniz: 'Yapılandırılmış', 'Önerilen' ve 'Yapılandırılmamış'.
Önerilen: Güvenlik Merkezi'nin JIT ile korunmasını önerdiği VM'leri listeler.Yapılandırılmadı: JIT korumalı olmayan ancak uygun VM'leri listeler.
-
'Önerilen' veya 'Yapılandırılmamış' sekmesinde JIT'yi etkinleştirmek istediğiniz VM'leri seçin.
-
VM'de JIT'i etkinleştir'i tıklayın.
-
JIT Politikasını Yapılandırın: Seçilen her VM için aşağıdaki seçenekleri yapılandırabilirsiniz:
- Bağlantı Noktaları: Korunacak yönetim bağlantı noktaları (ör. 22, 3389, 5985, 5986). Özel bağlantı noktaları ekleyebilirsiniz.
- Protokol: Her bağlantı noktasının protokolü (ör. TCP, UDP).
- Maksimum talep süresi: Onaylanan bir talepten sonra bir kapının açılabileceği maksimum süre (saat cinsinden). Varsayılan 3 saattir.
- Onaylanan kaynak IP adresleri: İsteğe bağlıdır, ancak önemle tavsiye edilir. Belirli IP'lere veya IP bloklarına erişimi kısıtlar. Varsayılan olarak "Herhangi biri" ("*") şeklindedir; bu, herhangi bir IP'nin erişim isteyebileceği anlamına gelir.
-
JIT politikasını seçilen VM'lere uygulamak için Kaydet'i tıklayın.
3. Bir VM'ye Tam Zamanında Erişim İsteme
Bir kullanıcının veya yöneticinin JIT korumalı bir VM'ye erişmesi gerektiğinde erişim talep etmesi gerekir.
- Güvenlik Merkezi kontrol panelinde İş Yükü Koruması > Tam Zamanında Sanal Makine Erişimi seçeneğini seçin.
- 'Sanal Makineler' sekmesinde, erişmek istediğiniz VM'yi seçin ('Yapılandırılmış' sekmesinde olmalıdır).
-
Erişim İste'ye tıklayın.
-
'Erişim İste' penceresinde şunu belirtin:
- Kapılar: Açmanız gereken kapılar.
- Kaynak IP Adresi: Bağlanacağınız genel IP adresi. Bir IP veya CIDR belirtmek için "IP Adresim"i (cihazınızın mevcut genel IP'si) veya "Özel"i seçebilirsiniz.
- Zaman Aralığı: Erişim süresi (JIT politikasında yapılandırılan 'Maksimum İstek Süresi' ile sınırlıdır).
- Gerekçe: Erişim talebinin nedeninin kısa bir açıklaması.
-
Bağlantı Noktalarını Aç'a tıklayın.
- Not: JIT politikası onay gerektiriyorsa istek, bağlantı noktaları açılmadan önce yapılandırılan onaylayıcılara gönderilecektir.
4. JIT Erişim İsteklerini Onaylama (yapılandırılmışsa)
Onayın gerekli olduğu senaryolarda (Azure Logic Apps veya Azure Functions aracılığıyla) süreç değişiklik gösterebilir. Varsayılan olarak JIT, bir iş akışı otomasyonu yapılandırılmadığı sürece bağlantı noktalarını istek üzerine hemen açar.
- İpucu: Onay iş akışları için, Azure denetim günlüklerini veya Azure Güvenlik Merkezi olaylarını izlemek ve bir onay sürecini tetiklemek (ör. manuel onay için bir güvenlik grubuna e-posta göndermek) için Azure Logic Apps'i kullanabilirsiniz.
5. JIT Erişim Durumunu Kontrol Etme
Erişim talebinde bulunduktan sonra durumu portaldan kontrol edebilirsiniz.
- Güvenlik Merkezi kontrol panelinde İş Yükü Koruması > Tam Zamanında Sanal Makine Erişimi seçeneğini seçin.
- 'Sanal Makineler' sekmesinde, erişim talep ettiğiniz VM, erişimin 'Etkin' veya 'Beklemede' (onaylanmışsa) olduğunu belirten bir durum göstermelidir.
- 'Kalan Süre' sütunu ne kadar erişim süresinin kaldığını gösterecektir.
6. JIT Erişimini Devre Dışı Bırakma (İsteğe Bağlı)
Bir VM için JIT'i devre dışı bırakmanız gerekiyorsa şu adımları izleyin:
- Güvenlik Merkezi kontrol panelinde İş Yükü Koruması > Tam Zamanında Sanal Makine Erişimi seçeneğini seçin.
- 'Sanal Makineler' sekmesinde yapılandırılmış VM'yi seçin.
- VM'de JIT'yi devre dışı bırak'a tıklayın.
Doğrulama ve Test Etme
JIT Erişiminin etkililiğini doğrulamak, VM'lerinizin korunmasını ve gerektiğinde erişim verilebilmesini sağlamak açısından çok önemlidir.
1. D-Bloğunu Test Etmeve Standart Erişim
- JIT korumalı bir VM'den JIT erişimi istemeden bir yönetim bağlantı noktasına (örn. RDP 3389 veya SSH 22) erişmeyi deneyin.
- Beklenen Sonuç: Bağlantı noktaları varsayılan olarak kapalı olduğundan bağlantının reddedilmesi veya zaman aşımına uğraması gerekir.
2. Onaylanmış JIT Erişiminin Test Edilmesi
- Genel IP adresini kullanarak istenen VM'ye ve bağlantı noktasına JIT erişimi talep edin.
-
Onaylandıktan sonra (veya onay yapılandırılmamışsa hemen açıldıktan sonra), aynı genel IP adresinden VM'ye RDP veya SSH aracılığıyla erişmeyi deneyin.
- Beklenen Sonuç: Bağlantı başarılı olmalıdır.
-
JIT erişim süresi dolana kadar bekleyin (veya erişimi manuel olarak iptal edin).
- VM'ye tekrar erişmeyi deneyin.
- Beklenen Sonuç: Bağlantının tekrar reddedilmesi gerekir.
3. Denetim Günlüklerini Kontrol Etme
Tüm JIT işlemleri Azure denetim günlüklerine kaydedilir ve kimin neyi, ne zaman ve nereden talep ettiğine dair eksiksiz bir takip sağlanır.
- Azure portalında kaynak grubunuza veya belirli VM'ye gidin.
- Sol gezinme bölmesinde Etkinlik Günlüğü'nü seçin.
- 'Tam Zamanında VM Erişimi' veya 'Microsoft.Security/locations/jitNetworkAccessPolicies' ile ilgili olayları filtreleyin.
- 'JIT ağ erişim politikası oluşturuldu', 'JIT ağ erişim politikası talep edildi', 'JIT ağ erişim politikası onaylandı' (varsa) ve 'JIT ağ erişim politikası kapatıldı' gibi olayları göreceksiniz.
Güvenlik İpuçları ve En İyi Uygulamalar
- En Az Ayrıcalık Prensibi: JIT politikalarını mümkün olan en az ayrıcalığı (mümkün olan en kısa sürede ve en kısıtlı kaynak IP'lerinden gereken tam bağlantı noktalarını) verecek şekilde yapılandırın.
- Kaynak IP Adreslerini Kısıtla: Mümkün olduğunda, JIT politikasında ve erişim isteklerinde kaynak IP adreslerini belirtin. Kaynak IP'ler için 'Herhangi biri' ('*') kullanmaktan kaçının.
- Kısa Süreler: Maksimum istek süresini makul olan en kısa süreye (ör. 1-2 saat) ayarlayarak kullanıcıları erişim ihtiyacını yeniden değerlendirmeye zorlayın.
- İzleme ve Uyarılar: Azure İzleyici'de, özellikle kritik bağlantı noktaları veya beklenmeyen IP'ler için JIT erişim isteklerine yönelik uyarıları yapılandırın. Bu uyarıları SIEM'inizle (ör. Microsoft Sentinel) entegre edin.
- İş Akışı Otomasyonu: Onay gereksinimlerinin katı olduğu ortamlar için, JIT isteklerine yönelik özel onay iş akışları oluşturmak amacıyla Azure Logic Apps veya Azure İşlevlerini kullanın.
- Belgeleme ve Eğitim: JIT erişim politikalarını açıkça belgeleyin ve kullanıcıları nasıl erişim talep edecekleri ve en iyi güvenlik uygulamalarını takip etmenin önemi konusunda eğitin.
- Periyodik İnceleme: İlgili ve etkili kaldıklarından emin olmak için JIT politikalarını ve erişim günlüklerini düzenli olarak inceleyin.
- NSG'ler ve Azure Güvenlik Duvarı ile birleştirin: JIT, Ağ Güvenlik Grupları (NSG'ler) ve Azure Güvenlik Duvarı gibi diğer ağ güvenliği katmanlarını tamamlar. Derinlemesine savunma için bunları birlikte kullanın.
Genel Sorun Giderme
- VM için JIT etkinleştirilemiyor: VM aboneliği için Sunucular için Defender planının etkinleştirildiğini doğrulayın. VM'nin geçersiz bir durumda olmadığından veya çakışan ayarların bulunmadığından emin olun.
- JIT erişimi istenemiyor: Erişim istemek için gerekli izinlere (ör. "Ortak Çalışan" veya "Sanal Makine Tam Zamanında Erişim Operatörü") sahip olduğunuzdan emin olun. VM'nin JIT için yapılandırıldığından ve bağlantı noktalarının politikada tanımlandığından emin olun.
- JIT isteğinden sonra bağlantı reddedildi: JIT isteğinde belirttiğiniz kaynak IP adresinin cihazınızın genel IP'siyle eşleşip eşleşmediğini kontrol edin. Sürenin dolmadığını doğrulayın. JIT bağlantı noktasını açtıktan sonra trafiği engelleyen ek NSG'ler veya güvenlik duvarı kuralları olmadığını doğrulayın.
- Yanlış bağlantı noktaları açık: Doğru bağlantı noktalarının listelendiğinden emin olmak için VM için yapılandırılan JIT politikasını kontrol edin. Azure CLI kullanıyorsanız bağlantı noktası parametrelerini kontrol edin.
- JIT Erişim Güvenliği Uyarıları: JIT ile ilgili güvenlik uyarılarını araştırın. Bu, yetkisiz erişim girişimini veya yanlış yapılandırmayı gösterebilir.
- VM performansı etkilendi: JIT'in kendisi VM performansını etkilememelidir. Sorun varsa VM'nin veya ağın diğer bileşenlerini araştırın.
Sonuç
OAzure Sanal Makineleri için Tam Zamanında (JIT) Erişim yönetimi, bulut kaynaklarınızı yetkisiz erişim tehditlerine karşı korumaya yönelik önemli bir güvenlik stratejisidir. JIT, yönetim bağlantı noktalarını varsayılan olarak kapatarak ve bunları yalnızca talep üzerine açarak saldırı yüzeyini önemli ölçüde azaltır, güvenlik duruşunuzu güçlendirir ve uyumluluk gereksinimlerini karşılamanıza yardımcı olur. JIT'in etkili bir şekilde uygulanması, en iyi güvenlik uygulamaları ve sürekli izlemeyle birleştiğinde, VM'lerinizin güvende kalmasını ve yalnızca meşru kullanıcılar ve amaçlar için erişilebilir olmasını sağlar. Bu pratik kılavuzla güvenlik profesyonelleri, JIT Erişimini yapılandırmak, doğrulamak ve yönetmek için iyi bir donanıma sahip olacak ve Azure Sanal Makinelerini daha dayanıklı ve korumalı hale getirecek.
Referanslar:
[1] Microsoft Learn. Sanal Makineye JIT (tam zamanında) erişimi nedir?. Şu adreste bulunabilir: https://learn.microsoft.com/pt-br/azure/defender-for-cloud/just-in-time-access-overview [2] Microsoft Learn. VM'lerde tam zamanında erişimi etkinleştirin. Şu adreste bulunabilir: https://learn.microsoft.com/pt-br/azure/defender-for-cloud/just-in-time-access-usage [3] Microsoft Learn. Bulut için Microsoft Defender ile sunucu güvenliğini yönetin. Şu adreste bulunabilir: https://learn.microsoft.com/pt-br/azure/defender-for-cloud/tutorial-enable-servers-plan [4] Microsoft Learn. PowerShell'i kullanarak VM'lerinize JIT (tam zamanında) erişimini yönetin. Şu adreste bulunabilir: https://learn.microsoft.com/pt-br/azure/defender-for-cloud/just-in-time-access-powershell