Microsoft Graph PowerShell'e Erişim Nasıl Güvenli Olur?
Microsoft Graph PowerShell, komut satırı aracılığıyla Microsoft 365 ve Azure AD'ye yönelik yönetim ve yönetim görevlerini gerçekleştirmenize olanak tanır. Daha önce kullanmadıysanız, kullandığınızda connect cmdlet'ini çalıştırmanın ve yönetici kimlik bilgilerinizle oturum açmanın ardındaki ilk konseptin alışık olduğunuza benzer olduğunu fark edebilirsiniz. Ancak sorun aynı olmamasıdır… Modül, Azure AD'de, Microsoft Graph için belirli izinlere, temsilci veya uygulama izinleri aracılığıyla açıkça izin verilen bir uygulamaya bağlanmak üzere tasarlanmıştır. Bu, hem Azure AD Uygulamaları hem de PowerShell aracılığıyla Microsoft Graph'a bağlanma şekliniz ile ilgili bazı güvenlik hususlarını ortaya çıkarır.
Bu eğitimde, bu güvenlik hususlarını ve bu nedenle ortaya çıkan sorunları ayrıntılı olarak anlatacağım ve ayrıca Microsoft Graph PowerShell'i güvenli bir şekilde nasıl kullanacağınızı göstereceğim.
Microsoft Graph PowerShell için güvenlik hususları
Varsayılan uygulama adı her zaman aynıdır
Microsoft Graph PowerShell modülünü yükledikten ve Microsoft Graph'a başlangıçta en yaygın olan temsilci izinleriyle bağlandıktan sonra, Kiracınıza 'Microsoft Graph Command Line Tools' adı verilen ortak bir kurumsal uygulama kaydedilecektir. Uygulama kimliği, tüm kiracılar arasında tutarlı olan ve aynı kiracıda yeniden oluşturulması durumunda tutarlı olan '14d82eec-204b-4c2f-b7e8-296a70dab67e' olarak ayarlanır. Bu, uygulamanın iyi ve arka aktörler tarafından kolayca tanımlanabileceği anlamına gelir. Ayrıca varsayılan uygulama adını belirtmenize de gerek yoktur; Connect-MgGraph'ın kendisi bunu yapacaktır.
Temsilci izinlerine izin vermek için genel yönetici olmanız gerekir
Microsoft Graph'a temsilci izinleriyle bağlanmak kolaydır ve süreç, MSOnline ve AzureAD modülleri gibi eski modülleri kullanırken 'neredeyse' tam olarak aşina olacağınız süreçtir. Ancak, ilk kez bağlandığınızda veya geçmişte belirli bir izin belirtmediyseniz, Azure AD'deki Microsoft Graph Komut Satırı Araçları izinlerine izin vermek için kiracınızda Genel Yönetici olmanız gerekecektir. Bu izinler daha sonra yalnızca oturumunuzun süresi boyunca değil, kalıcı olarak uygulamaya atanır.
İzinlerin herkes için yalnızca bir yönetici tarafından bir kez onaylanması gerekir
Microsoft Graph'a ilk kez bağlandığınızda, artık izinleri tekrar belirtmenize gerek kalmayacak ve öncekiyle aynı erişim düzeyine sahip olacaksınız, eğer izinler varsa belki daha da fazla erişime sahip olacaksınız. zamanla oluşmuşlardır. Get-MgContext cmdlet'ini kullanarak veya Azure AD'deki uygulama izinlerini görüntüleyerek bunu inceleyebilirsiniz. Buradaki sorun, (özellikle üçüncü taraf yönetilen BT sağlayıcılarında) varsayılan uygulama oluşturma izinlerinin olmasıdır; bu da gelecekteki oturumların aşırı derecede ayrıcalıklı olmasına yol açabilir.
Herkes, kendi kullanıcı bağlamında varsayılan olarak izin verilen izni kullanabilir
Azure AD'deki Microsoft Graph Komut Satırı uygulaması için varsayılan kullanıcı atama ayarı, kullanıcı atamasının gerekmemesi şeklindedir. Bu, ortamınızdaki herhangi bir kullanıcının, Microsoft Graph'a bağlanmak ve kendi kullanıcı bağlamı içindeki verilere programlı erişime sahip olmak için bir PowerShell oturumunda (Koşullu Erişim iznine sahip) Connect-MgGraph cmdlet'ini kullanabileceği anlamına gelir. Bu, bir yönetici kullanıcının Microsoft Graph'ı kullanarak ayrıcalıklı bir değişiklik yapabileceği ve ardından diğer ayrıcalıklı kullanıcıların da aynı verilere program aracılığıyla erişebileceği anlamına gelir. Bu bir sorun gibi görünmese de, bir güvenlik ihlali durumunda saldırganların verileri çok hızlı bir şekilde sızdırmasına yardımcı oluyorsunuz.
Fazla mesai oturumları aşırı ayrıcalıklı hale gelecek
Azure AD'de uygulamaya yönelik izinleri 'geri almanın' veya izin verilen izinleri kaldırmanın basit bir yolu yoktur. Seçenekleriniz, eski Azure AD PowerShell modülü aracılığıyla izinlerin devredildiği izinleri kaldırmak veya Azure AD'deki uygulamayı manuel olarak silmektir (biraz tercih edilir). Ancak uygulamayı silip yeniden oluşturursanız "Atama gerekli" özelliğini Evet olarak güncellemeyi unutmayın.
Koşullu Erişim türü çalışmalar...
Yerleşik uygulama da dahil olmak üzere Microsoft Graph PowerShell'e bağlanmak için kullandığınız uygulamalara erişimi kısıtlamak için koşullu erişimi kullanabilirsiniz, ancak bu çalışmaz. Koşullu Erişim ile Microsoft Graph'e erişimi hedefliyorsanız 'Tüm Bulut Uygulamaları'nı seçmelisiniz.
Microsoft Graph PowerShell Erişiminin Güvenliği Nasıl Sağlanır?
Aşağıdaki ayarlardan bazıları sizin veya kuruluşunuz için tamamen geçerli olmayabilir. Ancak bunların hepsinin şu ya da bu şekilde uygulanmasının kiracınıza ek güvenlik faydaları sağlayacağı anlaşılmalıdır. Belirli bir sırayla, her öneri için aşağıdaki adımları izleyin.
Kullanıcı uygulaması iznini engelleyin veya sınırlandırın
Varsayılan olarak kuruluşunuzdaki kullanıcılar, uygulamalara hesaplarıyla ilgili ayrıntıları görüntüleme izni verebilir. Sadece minimum miktarda bilgiye izin verilebilmesi için bunun kilitlenmesini öneriyorum. Bu, gerekirse kritik uygulamanın kullanıcı hesabıyla oturum açmasına olanak tanır ancak uygulamanın görüntüleyebileceği bilgi miktarını azaltır. Yalnızca minimum miktarda bilgiye izin verilebilmesini sağlamak için aşağıdaki adımları izleyin; bu bilgiler "düşük riskli" olarak sınıflandırılır.
1. Buradan Microsoft Entra'ya giriş yapın: https://entra.microsoft.com/
2. Uygulamalar'ı genişletin ve Kurumsal uygulamalar'ı seçin
3. Onay ve izinler'i seçin
4. Ardından, Kullanıcı izni ayarları sekmesinde, Seçili izinler için, doğrulanmış yayıncıların uygulamaları için kullanıcı iznine izin ver (Önerilen)'i seçin.
5. Aynı sayfada, Düşük etkili olarak sınıflandırmak için izinleri seçin'i tıklayın.
6. Düşük sekmesinde, İzin ekle'yi tıklayın ve aşağıdaki izinleri ekleyin:
- Profil > Kullanıcıların temel profilini görüntüleyin
- Openid > Kullanıcıların oturum açması
- E-posta > Kullanıcıların e-posta adresini görüntüleyin
Varsayılan Microsoft Graph Komut Satırı Araçları uygulamasını Atama Gerekli olarak ayarlayın
Azure AD'deki uygulamalar için 'Atama gerekli' açılışı, uygulamaların varsayılan olarak herkesin uygulamanıza bağlanamamasına neden olur. Bu, yalnızca manuel olarak tanımlanan kullanıcılara/gruplara uygulamanıza bağlanma ve dolayısıyla erişim izni verilen verilere erişme haklarının verilmesini sağlamanıza olanak tanır. Yalnızca belirli kullanıcıların varsayılan uygulamaya veya Grafik izinlerine sahip herhangi bir özel uygulamaya erişebildiğinden emin olmak için aşağıdaki adımları izleyin.
1. Microsoft Entra'da Uygulamalar > Kurumsal uygulamalar'ı seçin
2. Microsoft Graph Komut Satırı Araçları Uygulamasını açın
3. Özellikler'i tıklayın ve ardından Atama gerekli seçeneğini Evet olarak değiştirin.
Küresel yöneticilerin miktarını en aza indirin
Genel yöneticilerinizi inceleyin. Önerilen sayıda genel yöneticiniz var mı ve idari görevleri izliyor musunuz? Ayrıcalıklı rolleri kontrol etmek ve izlemek için PIM'i de kullanabilirsiniz. Genel yönetici rolüne ilişkin etkin ve uygun atamaları incelemek için aşağıdaki adımları izleyin.
1. Microsoft Entra'da Roller ve yöneticiler'i seçin
2. Tüm roller sekmesinde, roller listesinden Genel Yönetici'yi seçin
3. Uygun ve Etkin atamalar sekmesini inceleyin, ardından her kullanıcının hâlâ genel yönetici erişimine ihtiyacı olup olmadığını doğrulayın, Genel yönetici haklarına ihtiyaç duymayan hesapları kaldırın
Önceden atanmış Microsoft Graph İzinleriyle Azure AD'deki özel uygulamaları kullanın
Yerleşik Microsoft Graph Komut Satırı Araçları uygulamasına erişimi engelleyerek ve görevi tamamlamak için gerekli izinlere sahip belirli Microsoft Graph Uygulamaları oluşturarak, gereksiz Kiracınızdaki ayrıcalıklı uygulamalara sahip olmanızı ve o uygulamaya yalnızca gerekli personelin bağlanabilmesini sağlar.
Buradaki ayrıntılı rehberimi takip edin: 'Microsoft Graph PowerShell'e İstemci Gizli Anahtarıyla Bağlanma' ve Azure AD'de uygulama oluşturmaya ve ilgili izinleri atamaya yönelik adımları izleyin.
Connect-MgGraph cmdlet'iyle özel uygulamanıza bağlanmak için -ClientId ve TenantId parametrelerini kullanabilirsiniz.
Connect-Mggraph -ClientId <ClientId> -TenantId <TenantId>Daha güçlü koşullu erişimle erişimi hedeflemek için benzersiz kimlikler kullanın
Henüz yapmadıysanız, yönetim görevleri için yeni kimlikler (kullanıcı hesabı) yapılandırmanız ve bu hesapların koşullu erişimle yoğun şekilde kilitlenmesi gerekir. Microsoft Graph PowerShell ile ilgili sorun, uygulamanın Koşullu Erişim ile doğrudan hedeflenememesi ve uygulamaya erişimde ek güvenlik uygulamak için 'Tüm Bulut Uygulamaları'nı seçmeniz gerekmesidir. Bu nedenle, erişiminizi, Azure AD Uygulama düzeyinde yalnızca belirli kimliklerin erişime sahip olacağı şekilde tasarlamanız ve ardından bu kimliklerin, tüm bulut uygulamalarını hedefleyen güçlü bir koşullu erişim ilkesiyle hedeflenmesi gerekir.
BT personelinize yönetici eğitimi sağlayın
Son olarak, BT personelinizin Microsoft 365 ve Azure AD'yi PowerShell ile yönetme konusunda nelerin değiştiğini bilmesi önemlidir. Bazı görevler büyük ihtimalle alışkanlık haline gelmiş olsa da değişiklikler hızla ve büyük ölçüde gerçekleşiyor. Bu nedenle ekipleriniz için belirli saatlerde eğitime zaman ayırmanız önemlidir.
Özet
Sonuç olarak Microsoft Graph PowerShell uygulamasını kullanırken gözden kaçan bazı varsayılan yapılandırmalar vardır. Yetersiz kullanıcı izin yönetimi ve günlük kullanıcı hesaplarına ayrıcalıklı rollerin atanması, sizin bile bilmediğiniz bir saatli bombaya sahip olabilirsiniz. Bu gönderide ayrıntılı olarak açıklanan adımlar, kiracınızda Microsoft Graph PowerShell ile yararlanılabilecek saldırıları ve ayrıcalık yükseltme yollarını en aza indirmeye yardımcı olacaktır.