Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sıfır Güven'in yol gösterici ilkelerine uyan uygulamalar tasarlamayı ve uygulamayı hedefleyen bir geliştirici olarak, uygulama güvenliğini en az ayrıcalıkla artırmak istiyorsunuz. Uygulamanızın saldırı yüzeyini ve güvenlik ihlalinin etkisini azaltmanız şarttır.
Bu makalede, uygulamaların neden ihtiyaç duyduklarından daha fazla izin istememesi gerektiğini öğreneceksiniz. Aşırı Yetki terimini öğrenirsiniz. Uygulamalarınızda ayrıcalığı sınırlamak, erişimi yönetmek ve güvenliği geliştirmek için önerileri ve en iyi yöntemleri keşfedersiniz.
Aşırı ayrıcalık nedir?
Aşırı ayrıcalık , bir uygulama düzgün çalışması için gerekenden daha fazla izin istediğinde veya aldığında gerçekleşir. Bu makalenin geri kalanında kullanılmayan ve azaltılabilir izin örnekleriyle fazla ayrıcalık anlayışınızı geliştirin.
Kullanılmayan izinler
Bu kullanılmayan anahtar örneği için, aşağıdaki diyagramda gösterildiği gibi üç kilitli kapı (mavi, sarı ve yeşil) olduğunu düşünün.
Mal varlığınız kapının arkasında. İlgili kapıyı açmanıza olanak sağlayan üç tuşa (mavi, sarı ve yeşil) sahipsiniz. Örneğin, mavi anahtar mavi kapıyı açabilir. Yalnızca sarı kapıya erişmeniz gerektiğinde, yalnızca sarı anahtarı taşırsınız.
Varlıklarınızı en iyi şekilde korumak için ihtiyacınız olan anahtarları yalnızca ihtiyacınız olduğunda taşır ve kullanılmayan anahtarları güvenli bir konumda tutarsınız.
Azaltılabilir izinler
İndirgenebilir anahtarlar örneği, aşağıdaki diyagramda gösterildiği gibi artık iki özel anahtar eklediğimiz kullanılmayan anahtar örneğinden daha karmaşıktır.
İlk siyah anahtar, tüm kapıları açabilen bir geçiş anahtarıdır. İkinci siyah tuş sarı ve yeşil kapıları açabilir. Yalnızca sarı ve yeşil kapılara erişmeniz gerektiğinde, yalnızca ikinci siyah anahtarı taşırsınız. Şifreli anahtarınızı yedek yeşil anahtarla güvenli bir konumda tutarsınız.
Microsoft kimlik platformunda anahtarlar erişim izinleridir. Kaynaklarınız ve anahtar sahibi olan siz uygulamalarsınız. Gereksiz anahtarları taşıma riskini anlıyorsanız, uygulamalarınızın gereksiz izinlere sahip olma riskinin farkındasınız demektir.
İzin boşluğu ve risk
Kapılar ve anahtarlar, aşırı ayrıcalıkların nasıl gerçekleştiğini anlamaya nasıl yardımcı olabilir? Uygulamanız neden bir görevi gerçekleştirmek için doğru izinlere sahip olabilir, ancak yine de fazla ayrıcalıklara sahip olabilir? Aşağıdaki diyagramda tutarsızlığa neden olabilecek izin boşluğuna bakalım.
X ekseni Saati , Y ekseni ise İzinleri temsil eder. Ölçülen Sürenin başlangıcında, uygulamanız için izin isteyebilir ve alırsınız. İş büyüdükçe ve zamanla değiştikçe, ihtiyaçlarınızı desteklemek için yeni izinler eklersiniz ve İzin Verilen İzinlerin eğimi artar. Kullanılan İzinler, gereksiz izinleri kaldırmayı unuttuğunuzda verilen izinlerden daha düşük olabilir (örneğin, uygulama bozulmazsa) İzin Aralığına neden olur.
Microsoft kimlik platformunda ilginç gözlemler aşağıdadır.
- Microsoft Graph'ta 4.000'den fazla API'miz var.
- Microsoft kimlik platformunda 200'den fazla Microsoft Graph izni mevcuttur.
- Geliştiriciler çok çeşitli verilere erişebilir ve uygulamalarının istediği izinlere ayrıntı düzeyi uygulayabilir.
- Yaptığımız araştırmalarda uygulamaların senaryoları için yalnızca 10% izinden tam olarak yararlandığını bulduk.
Uygulamanızın gerektirdiği izinleri dikkatlice düşünün. İzin boşluğuna dikkat edin ve uygulama izinlerinizi düzenli olarak denetleyin.
Aşırı ayrıcalıklar için güvenlik tehlikeye atıldı.
Şimdi bir örnekle izin boşluklarından kaynaklanan riskleri ayrıntılı olarak ele alalım. Bu ödün verme senaryosu iki rolden oluşur: BT yöneticisi ve geliştirici.
- BT yöneticisi: Jeff, Microsoft Entra Id'deki uygulamaların güvenilir ve güvenli olmasını sağlayan bir kiracı yöneticisidir. Jeff'in işinin bir parçası, uygulama geliştiricilerinin gerektirdiği izinlere onay vermektir.
- Geliştirici: Kelly, Microsoft kimlik platformu kullanan ve uygulamaların sahibi olan bir uygulama geliştiricisi. Kelly'nin görevi, uygulamaların gerekli görevleri gerçekleştirmek için doğru izinlere sahip olduğundan emin olmaktır.
Aşağıdaki yaygın aşırı yetki güvenliği tehlikeye atma senaryosunun genellikle dört aşaması vardır.
- Geliştirici uygulamayı yapılandırmaya ve gerekli izinleri eklemeye başlar.
- BT yöneticisi gerekli izinleri inceler ve onay verir.
- Kötü aktör, kullanıcı kimlik bilgilerini kırmaya başlar ve kullanıcı kimliğini başarıyla ele geçirmektedir.
- Kullanıcının birden çok uygulaması varsa, bunlar da fazla ayrıcalıklara sahip olur. Kötü aktör, hassas verileri almak için verilen iznin belirtecini hızla kullanabilir.
Fazla ayrıcalıklı uygulamalar
Bir varlık, ihtiyaç duyduğundan daha fazla izin istediğinde veya aldığında fazla ayrıcalık alır. Microsoft kimlik platformunda fazla ayrıcalıklı uygulamanın tanımı , kullanılmayan veya azaltılabilir izinlere sahip herhangi bir uygulamadır.
Kullanılmayan izni ve azaltılabilir izni daha iyi anlamak için Gerçek dünya örneğinde Microsoft Graph'ı Microsoft kimlik platformunun bir parçası olarak kullanalım.
Kullanılmayan izin, uygulamanız istenen görevler için gerekli olmayan izinleri aldığında gerçekleşir. Örneğin, bir takvim uygulaması oluşturuyorsunuz. Takvim uygulamanız istekte bulunur ve izin alır Files.ReadWrite.All . Uygulamanız hiçbir dosya API'siyle tümleştirilmez. Bu nedenle, uygulamanızın kullanılmayan Files.ReadWrite.All bir izni vardır.
Azaltılabilir izni bulmak daha zordur. Uygulamanız yalnızca birkaç izin aldığında ve bu izinler gerekli görevler için yeterli erişimi sağlamadığında, daha düşük ayrıcalıklı bir alternatifin yeterli erişimi sağlayabileceği durumlarda oluşur. Takvim uygulaması örneğinde uygulamanız izin isteğinde bulunur ve alır Files.ReadWrite.All . Ancak, yalnızca oturum açmış kullanıcının OneDrive'ından dosyaları okuması ve hiçbir zaman yeni dosyalar oluşturması veya mevcut dosyaları değiştirmesi gerekir. Bu durumda, uygulamanız yalnızca Files.ReadWrite.All'i kısmen kullandığı için Files.Read.All'e düşürmeniz gerekir.
Fazla ayrıcalıklı senaryoları azaltmaya yönelik öneriler
Güvenlik bir yolculuk, hedef değil. Güvenlik yaşam döngüsünde üç farklı aşama vardır:
- Önleme
- Denetim İçin İnceleme
- Remediation
Aşağıdaki diyagramda, fazla ayrıcalıklı senaryoları azaltmaya yönelik öneriler gösterilmektedir.
- Engelle: Bir uygulama oluştururken, uygulamanızın yapması gereken API çağrıları için gerekli izinleri tam olarak anlayın. Yalnızca senaryonuzu etkinleştirmek için gerekenleri isteyin. Microsoft Graph belgelerinde tüm uç noktalar için en az ayrıcalıklı izinlerden en ayrıcalıklı izinlere kadar olan açık başvurular bulunur. Hangi izinlere ihtiyacınız olduğunu belirlerken fazla ayrıcalıklı senaryolara dikkat edin.
- Denetim: Bt yöneticileriyle birlikte mevcut uygulamaların önceden verilen ayrıcalıklarını düzenli olarak gözden geçirmeniz gerekir.
- Düzeltme: Siz veya BT yöneticileri ekosistemde fazla ayrıcalıklara sahip bir uygulama fark ederseniz, fazla ayrıcalıklı izin için belirteç istemeyi durdurun. BT yöneticileri verilen onayları iptal etmelidir. Bu adım genellikle bir kod değişikliği gerektirir.
En az ayrıcalık iznini korumak için en iyi yöntemler
Uygulamalarınızla en az ayrıcalık izninin korunmasına yönelik iki önemli teşvik, uygulamanın benimsenmesini ve yayılmanın durdurulmasını sağlar.
- Müşteriler için aşırı izin isteklerini önleyen güvenilir bir uygulama oluşturarak benimsemeyi destekleyin. Uygulama izinlerinizi yalnızca görevini tamamlamak için gerekenlerle sınırlayın. Bu uygulama saldırıların olası patlama yarıçapını azaltır ve uygulamalarınızın müşteri tarafından benimsenmesini artırır. Uygulamaların istediği izinleri gözden geçirirken ve uygulama izinleri verilip verilmeyeceğine karar verirken daha fazla inceleme uygulayın.
- Kötü aktörlerin daha fazla erişim elde etmek için aşırı ayrıcalıkları kullanamadığından emin olarak yayılmayı durdurun. Gereksiz izinler isteyen bir uygulama oluşturduğunuzda, onay alma veya tamamen reddedilmiş olma olasılığı en düşüktür. Hasarı kontrol etmenin en iyi yolu, kötü niyetli kişilerin ihlal kapsamını artıran yükseltilmiş ayrıcalıklar kazanmasını önlemektir. Örneğin, uygulamanızın yalnızca kullanıcı temel bilgilerini okuması
User.ReadBasic.Allgerekiyorsa OneDrive, Outlook, Teams ve gizli verileriniz bir uygulamanın güvenliğinin ihlal edilmiş olması durumunda güvende olur.
Sonraki Adımlar
- Kaynaklara erişim yetkisi almak , uygulamanız için kaynak erişim izinleri alırken Sıfır Güven'i en iyi şekilde nasıl sağlayacağınızı anlamanıza yardımcı olur.
- Kimlik için Sıfır Güven bir yaklaşımla uygulama oluşturmak, izinlere ve erişime yönelik en iyi yöntemlere genel bir bakış sağlar.
- Belirteçleri Özelleştirin, Microsoft Entra belirteçlerinde alabileceğiniz bilgileri tanımlar. Uygulama Sıfır Güven güvenliğini en az ayrıcalıkla artırırken esnekliği ve denetimi geliştirmek için belirteçlerin nasıl özelleştirileceği açıklanır.
- Belirteçlerde grup taleplerini ve uygulama rollerini yapılandırma , uygulama rol tanımlarıyla uygulamalarınızı yapılandırmayı ve uygulama rollerine güvenlik grupları atamayı gösterir. Bu yöntemler, en az ayrıcalıkla uygulama Sıfır Güven güvenliğini artırırken esnekliği ve denetimi geliştirmeye yardımcı olur.
- Uygulamalarınızda Sıfır Güven hazırlığı elde etme: En Az Ayrıcalık için Tasarlama , Microsoft kimlik platformuyla en az ayrıcalıklı erişim ilkesine sahip uygulamalar tasarlamanıza yardımcı olur.
- Uygulama güvenliğini en az ayrıcalık ilkesiyle artırın, bir uygulamanın saldırı yüzeyini azaltmanıza ve Microsoft kimlik platformuyla tümleşik bir uygulamada bir güvenlik ihlali durumunda etkinin (patlama yarıçapı) azalmasına yardımcı olur.
- Graph Gezgini ve Microsoft Graph izin başvurusu , uygulama senaryonuzu etkinleştirmek için Microsoft Graph API çağrılarını seçmenize ve en düşükten en ayrıcalıklıya kadar ilgili izinleri bulmanıza yardımcı olur.