FDE Foundations · Modül 11: Güvenlik ve Veri
Yetkilendirme Temelleri
Yetkilendirme kenarlarda kırılır: kontrolü unutulan uçlar, kimlikle çağrılan nesneler, arayüzde gizlenen admin yolları. Açıkça modelleyin, her yerde zorlayın, olumsuzları test edin.
11 dk okuma
Kazanımlar
- Rolleri ve izinleri açıkça modellemek
- Yetkilendirmeyi her istekte sunucu tarafında zorlamak
- Olumsuz durumları birinci sınıf vatandaş olarak test etmek
Açık model
Rolleri, her birinin ne yapabileceğini ve hangi nesneler üzerinde (kendi, ekip, kuruluş) yazılı tutun. Modeli küçük tutun: rol çoğalması bir güvenlik kokusudur. Müşterinin mevcut bir kimlik sağlayıcısı varsa paralel bir evren icat etmek yerine gruplarıyla bütünleşin.
Her yerde, sunucu tarafında zorlayın
Kontrol, liste uçları dahil (izinle filtrele), iç içe kaynaklar ve dışa aktarımlar dahil her istek için sunucuda yaşar. Arayüzün butonu gizlemesi kozmetiktir, zorlama değildir. En önemli kontrol nesne düzeyidir: A kullanıcısının kimliği değiştirerek B kullanıcısının faturasını çekmesi klasik zaafiyettir ve yalnızca size ait olmayan kimlikler test edilerek yakalanır.
Varsayılan olarak reddet
Yeni uçlar kapalı başlar: bildirilmemiş yol reddeder, eksik rol kontrolü kodlanabiliyorsa lint kuralını düşürür. Varsayılan açık sistemler çürür: her yeni özellik, kimsenin hatırlamadığı adımı sessizce atlar.
Olumsuz testler
Her uç için erişimin başarısız olması gereken testi yazın. "Hayır" durumları takımı regresyon ağınızdır ve modelin belgelemesini de yapar. Süresi bitmiş oturumları, devre dışı kullanıcıları ve kiracılar arası sınmaları bu takıma ekleyin.
Mini kontrol
2-3 soruluk isteğe bağlı öz kontrol. Yanıtlar cihazından çıkmaz, saklanmaz ve hiçbir değerlendirmeye sayılmaz.
Alıştırma
Kurgusal bir faturalandırma portalı için yetkilendirme modelini yazın: iki nesne türü üzerinde izinleri olan üç rol, sunucu tarafı zorlama noktaları ve yazacağınız beş olumsuz test.
Geçme kriterleri
Model açık ve küçük olmalı, zorlama nesne düzeyi kontrolleri ve liste filtrelemeyi içermeli, beş olumsuz test kimlik manipülasyonunu ve süresi bitmiş ya da devre dışı kimlikleri kapsamalıdır.