En Az Ayrıcalık İlkesi
Principle of Least Privilege (PoLP)
- İngilizcesi
- Principle of Least Privilege
- Türkçe karşılığı
- en az yetki ilkesi, en az yetki prensibi
- Okunuşu
- prinsıpıl ov list privılic
Günlük kullanımda iki ad da yaygın.
Kısaca
En az ayrıcalık ilkesi, her kullanıcıya, programa ve servise yalnızca işini yapması için gereken asgari erişimin verilmesini öngören güvenlik kuralıdır.
En az ayrıcalık ilkesi nedir?
Çoğunlukla PoLP olarak kısaltılan en az ayrıcalık ilkesi, her hesabın, sürecin veya sistemin görevinin gerektirdiği izinlere tam olarak sahip olması, bunun ötesinde hiçbir izne sahip olmaması gerektiğini söyler. Yalnızca siparişleri okuyan bir raporlama servisi onları silebilmemelidir ve tek bir projede çalışan bir geliştirici her production sunucusunda yönetici erişimine sahip olmamalıdır. Fikir 1970'lerdeki bilgisayar güvenliği araştırmalarına uzanır ve artık modern güvenlik tasarımının bir temelidir.
Pratikte bu, geniş izinler yerine dar ve belirli izinler vermek demektir: yalnızca ihtiyaç duyduğu tablolarda SELECT yetkisi olan bir veritabanı kullanıcısı, tek bir depolama bucket'ını okuyabilen bir bulut rolü, tek bir depoyla sınırlı bir API token'ı. Zamanı da kapsar; çünkü nadir yönetici görevleri için geçici, tam zamanında (just-in-time) erişim kalıcı haklardan daha güvenlidir ve kullanılmayan izinler düzenli olarak gözden geçirilip kaldırılmalıdır. Programların kendileri root veya yönetici olarak değil, ayrıcalıksız kullanıcılar olarak çalışmalı ve container'lar ihtiyaç duymadıkları yetenekleri (capabilities) bırakmalıdır.
Asıl fayda, patlama yarıçapını sınırlamaktır. Bir saldırgan en az ayrıcalıklı bir kimlik bilgisini çalarsa veya bir servisteki hatayı istismar ederse yalnızca o kimliğin yapmasına izin verilen şeyleri yapabilir; bu yüzden çalınmış salt okunur bir raporlama token'ı veritabanını silmek için kullanılamaz. Bir otel oda kartı gibi düşünün: kendi odanızı ve spor salonunu açar, binadaki her odayı değil ve check-out yaptığınızda çalışmayı bırakır.
En az ayrıcalık sıklıkla RBAC ve zero trust ile karıştırılır. RBAC, izinleri roller üzerinden atamanın bir mekanizmasıdır ve çok fazla yetki veren bir rol yine en az ayrıcalığı bozar; zero trust ise her isteği doğrulayan ve en az ayrıcalığı temel kurallarından biri sayan daha geniş bir mimaridir. Kısacası en az ayrıcalık hedeftir, erişim kontrol sistemleri ise ona ulaşmak için kullanılan araçlardır.
Önemli noktalar
- Her kullanıcıya, servise ve sürece yalnızca görevinin gerektirdiği izinleri verin.
- Geniş ve kalıcı haklar yerine dar kapsamlı ve geçici erişimi tercih edin.
- Programları
rootveya yönetici olarak değil, ayrıcalıksız kullanıcılar olarak çalıştırın. - En az ayrıcalık, bir hesap ya da servis ele geçirildiğinde zararı sınırlar.
- Erişim birikme eğiliminde olduğundan kullanılmayan izinleri düzenli olarak gözden geçirip kaldırın.
Örnek
-- A reporting service only needs to read two tables
CREATE ROLE reporting_service LOGIN; -- password set from a secrets manager
GRANT SELECT ON orders, customers TO reporting_service;
-- So it cannot change or delete anything:
-- UPDATE orders SET total = 0; -- ERROR: permission denied for table orders
-- The checkout service can read and add orders, but not delete them
CREATE ROLE checkout_service LOGIN;
GRANT SELECT, INSERT ON orders TO checkout_service;Sık sorulan sorular
En az ayrıcalık ilkesine bir örnek nedir?
Veritabanına süper kullanıcı hesabı yerine yalnızca kendi tablolarını okuyup yazabilen bir hesapla bağlanan bir web uygulaması. Uygulama hacklenirse saldırgan diğer veritabanlarını silemez veya yeni yönetici kullanıcılar oluşturamaz.
En az ayrıcalık ile zero trust arasındaki fark nedir?
En az ayrıcalık, ne kadar erişim verileceğine dair bir kuraldır. Zero trust ise hiçbir ağın veya cihazın otomatik olarak güvenilir olmadığını varsayan ve her isteği doğrulayan, en az ayrıcalığı temel ilkelerinden biri sayan daha geniş bir güvenlik modelidir.
Ayrıcalık birikmesi (privilege creep) nedir?
Ayrıcalık birikmesi, erişim haklarının kademeli olarak birikmesidir; örneğin insanlar ekip değiştirir ama eski izinlerini korur. Düzenli erişim incelemeleri ve süresi dolan izinler bunu önler.
İlgili sayfalar
- YetkilendirmeGüvenlik, s. 48Yetkilendirme, kimliği doğrulanmış bir kullanıcının ya da servisin hangi verileri okuyabileceğine, değiştirebileceğine veya silebileceğine karar vermektir.
- RBACGüvenlik, s. 29RBAC, izinleri admin veya editor gibi rollere veren ve kullanıcılara bu rolleri atayarak erişim sağlayan bir yetkilendirme modelidir.
- Zero TrustGüvenlik, s. 49Zero trust, varsayılan olarak hiçbir kullanıcı, cihaz veya ağa güvenmeyip her isteği kimliğe, cihaz sağlığına ve bağlama göre doğrulayan güvenlik modelidir.
- Dosya İzinleriİşletim Sistemleri, s. 9Dosya izinleri, bir dosyayı kimin okuyup değiştirebileceğini ya da çalıştırabileceğini belirleyen ve işletim sisteminin her erişimde uyguladığı kurallardır.
- Secrets ManagementGüvenlik, s. 34Secrets management, parola, API anahtarı ve token gibi hassas kimlik bilgilerini güvenle saklama, dağıtma, döndürme ve denetleme pratiğidir.
- API AnahtarıGüvenlik, s. 2API anahtarı, API çağrılarında uygulamayı veya projeyi tanımlayan, erişim denetimi, kullanım takibi ve hız sınırı için kullanılan benzersiz gizli bir dizedir.
- sudoİşletim Sistemleri, s. 30sudo, izin verilen bir kullanıcının kendi parolasıyla tek bir komutu root ya da başka bir kullanıcının yetkileriyle çalıştırmasını sağlar ve bunu kaydeder.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin