ACLs - DACLs/SACLs/ACEs
Last updated
Last updated
Trickest kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen iş akışlarını kolayca oluşturun ve otomatikleştirin. Bugün Erişim Alın:
Erişim Kontrol Listesi (ACL), bir nesne ve özellikleri için korumaları belirten sıralı bir Erişim Kontrol Girişi (ACE) setinden oluşur. Temelde, bir ACL, belirli bir nesne üzerinde hangi güvenlik ilkelerinin (kullanıcılar veya gruplar) hangi eylemlere izin verildiğini veya reddedildiğini tanımlar.
İki tür ACL vardır:
İhtiyari Erişim Kontrol Listesi (DACL): Hangi kullanıcıların ve grupların bir nesneye erişimi olup olmadığını belirtir.
Sistem Erişim Kontrol Listesi (SACL): Bir nesneye erişim girişimlerinin denetimini yönetir.
Bir dosyaya erişim süreci, sistemin nesnenin güvenlik tanımını kullanıcının erişim belirteci ile karşılaştırarak erişimin verilmesi gerekip gerekmediğini ve bu erişimin kapsamını belirlemesini içerir.
DACL: Kullanıcılara ve gruplara bir nesne için erişim izinleri veren veya reddeden ACE'leri içerir. Temelde, erişim haklarını belirleyen ana ACL'dir.
SACL: Erişim girişimlerini denetlemek için kullanılır; burada ACE'ler, Güvenlik Olay Günlüğü'nde kaydedilecek erişim türlerini tanımlar. Bu, yetkisiz erişim girişimlerini tespit etmek veya erişim sorunlarını gidermek için çok değerli olabilir.
Her kullanıcı oturumu, o oturumla ilgili güvenlik bilgilerini içeren bir erişim belirteci ile ilişkilidir; bu bilgiler arasında kullanıcı, grup kimlikleri ve ayrıcalıklar bulunur. Bu belirteç ayrıca oturumu benzersiz bir şekilde tanımlayan bir oturum SID'si içerir.
Yerel Güvenlik Otoritesi (LSASS), erişim isteklerini nesnelere işleyerek, erişim sağlamaya çalışan güvenlik ilkesine uyan ACE'leri DACL'de inceleyerek gerçekleştirir. İlgili ACE'ler bulunmazsa erişim hemen verilir. Aksi takdirde, LSASS, erişim belirtecindeki güvenlik ilkesinin SID'si ile ACE'leri karşılaştırarak erişim uygunluğunu belirler.
ACL'ler: DACL'ler aracılığıyla erişim izinlerini ve SACL'ler aracılığıyla denetim kurallarını tanımlar.
Erişim Belirteci: Bir oturum için kullanıcı, grup ve ayrıcalık bilgilerini içerir.
Erişim Kararı: DACL ACE'leri ile erişim belirtecini karşılaştırarak verilir; SACL'ler denetim için kullanılır.
Üç ana Erişim Kontrol Girişi (ACE) türü vardır:
Erişim Reddedildi ACE: Bu ACE, belirli kullanıcılar veya gruplar için bir nesneye erişimi açıkça reddeder (bir DACL'de).
Erişim İzin Verildi ACE: Bu ACE, belirli kullanıcılar veya gruplar için bir nesneye erişimi açıkça verir (bir DACL'de).
Sistem Denetim ACE: Bir Sistem Erişim Kontrol Listesi (SACL) içinde yer alır ve kullanıcılar veya gruplar tarafından bir nesneye erişim girişimlerinde denetim günlükleri oluşturulmasından sorumludur. Erişimin izin verilip verilmediğini ve erişimin niteliğini belgeler.
Her ACE'nin dört kritik bileşeni vardır:
Kullanıcının veya grubun Güvenlik Tanımlayıcısı (SID) (veya grafiksel bir temsil içindeki ilke adı).
ACE türünü tanımlayan bir bayrak (erişim reddedildi, izin verildi veya sistem denetimi).
Çocuk nesnelerin ACE'yi ebeveynlerinden miras alıp almayacağını belirleyen miras bayrakları.
erişim maskesi, nesnenin verilen haklarını belirten 32 bitlik bir değer.
Erişim belirlemesi, her ACE'yi sırasıyla inceleyerek gerçekleştirilir:
Bir Erişim-Reddedildi ACE açıkça erişim belirtecinde tanımlanan bir güvenilir kişiye istenen hakları reddeder.
Erişim-İzin Verildi ACE'leri açıkça erişim belirtecindeki bir güvenilir kişiye tüm istenen hakları verir.
Tüm ACE'ler kontrol edildikten sonra, istenen haklardan herhangi biri açıkça izin verilmemişse, erişim dolaylı olarak reddedilir.
AC'lerin (bir şeye kimin erişip erişemeyeceğini belirten kurallar) bir DACL içinde nasıl sıralandığı çok önemlidir. Çünkü sistem, bu kurallara dayanarak erişim verip reddettikten sonra geri kalanına bakmayı durdurur.
Bu ACE'leri düzenlemenin en iyi yolu "kanonik sıra" olarak adlandırılır. Bu yöntem, her şeyin düzgün ve adil bir şekilde çalışmasını sağlamaya yardımcı olur. İşte Windows 2000 ve Windows Server 2003 gibi sistemler için nasıl gittiği:
Öncelikle, bu öğe için özel olarak oluşturulmuş tüm kuralları, başka bir yerden gelen kurallardan (örneğin, bir üst klasörden) önce yerleştirin.
Bu özel kurallar içinde, "hayır" (reddet) diyenleri, "evet" (izin ver) diyenlerden önce yerleştirin.
Başka bir yerden gelen kurallar için, en yakın kaynaktan gelenlerle başlayın, yani ebeveynlerden başlayarak geriye doğru gidin. Yine, "hayır" öncelikle "evet" olmalıdır.
Bu düzenleme iki büyük şekilde yardımcı olur:
Eğer belirli bir "hayır" varsa, bu saygı gösterilir; diğer "evet" kuralları ne olursa olsun.
Bir nesnenin sahibi, herhangi bir üst klasörden veya daha geriden gelen kurallardan önce kimin gireceği konusunda son sözü söyleyebilir.
Bu şekilde, bir dosya veya klasörün sahibi, kimin erişim alacağı konusunda çok hassas olabilir, doğru kişilerin girebilmesini ve yanlış olanların giremeyeceğini sağlamak için.
Bu nedenle, bu "kanonik sıra", erişim kurallarının net ve iyi çalışmasını sağlamak, özel kuralları öncelikli hale getirmek ve her şeyi akıllıca düzenlemekle ilgilidir.
Trickest kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen iş akışlarını kolayca oluşturun ve otomatikleştirin. Bugün Erişim Alın:
Bu, ACL, DACL ve ACE'leri gösteren bir klasörün klasik güvenlik sekmesidir:
Gelişmiş butona tıkladığımızda miras gibi daha fazla seçenek alırız:
Ve bir Güvenlik İlkesi eklediğinizde veya düzenlediğinizde:
Son olarak, Denetim sekmesinde SACL'yi görüyoruz:
Kaynaklara, örneğin bir klasöre erişimi yönetirken, Erişim Kontrol Listeleri (ACL'ler) ve Erişim Kontrol Girişleri (ACE'ler) olarak bilinen listeleri ve kuralları kullanırız. Bu, kimin belirli verilere erişip erişemeyeceğini tanımlar.
Diyelim ki Cost adında bir klasörünüz var ve herkesin erişmesini istiyorsunuz, ancak pazarlama ekibinin erişmesini istemiyorsunuz. Kuralları doğru bir şekilde ayarlayarak, pazarlama ekibinin erişiminin açıkça reddedildiğinden emin olabiliriz; bu, pazarlama ekibine erişimi reddeden kuralı, diğer herkesin erişimine izin veren kuraldan önce yerleştirerek yapılır.
Diyelim ki pazarlama müdürü Bob'un Cost klasörüne erişime ihtiyacı var, oysa pazarlama ekibinin genel olarak erişimi olmamalı. Bob için erişim izni veren belirli bir kural (ACE) ekleyebiliriz ve bunu pazarlama ekibine erişimi reddeden kuraldan önce yerleştirebiliriz. Bu şekilde, Bob, ekibinin genel kısıtlamasına rağmen erişim alır.
ACE'ler, bir ACL'deki bireysel kurallardır. Kullanıcıları veya grupları tanımlar, hangi erişimin izin verildiğini veya reddedildiğini belirtir ve bu kuralların alt öğelere (miras) nasıl uygulanacağını belirler. İki ana ACE türü vardır:
Genel ACE'ler: Bunlar geniş bir şekilde uygulanır, tüm nesne türlerini etkiler veya yalnızca konteynerler (klasörler gibi) ve konteyner olmayanlar (dosyalar gibi) arasında ayrım yapar. Örneğin, kullanıcıların bir klasörün içeriğini görmesine ancak içindeki dosyalara erişmesine izin veren bir kural.
Nesne-Özel ACE'ler: Bunlar daha hassas kontrol sağlar, belirli nesne türleri veya bir nesne içindeki bireysel özellikler için kuralların ayarlanmasına izin verir. Örneğin, bir kullanıcılar dizininde, bir kullanıcının telefon numarasını güncellemesine ancak giriş saatlerini güncellemesine izin veren bir kural olabilir.
Her ACE, kuralın kime uygulandığı (bir Güvenlik Tanımlayıcısı veya SID kullanarak), kuralın neyi izin verdiği veya reddettiği (bir erişim maskesi kullanarak) ve diğer nesneler tarafından nasıl miras alındığı gibi önemli bilgileri içerir.
Genel ACE'ler, nesnenin tüm yönlerine veya bir konteyner içindeki tüm nesnelere aynı kuralın uygulandığı basit erişim kontrol senaryoları için uygundur.
Nesne-Özel ACE'ler, özellikle Active Directory gibi ortamlarda, bir nesnenin belirli özelliklerine erişimi farklı bir şekilde kontrol etmeniz gerektiğinde daha karmaşık senaryolar için kullanılır.
Özetle, ACL'ler ve ACE'ler, yalnızca doğru bireylerin veya grupların hassas bilgilere veya kaynaklara erişimini sağlamak için kesin erişim kontrolleri tanımlamaya yardımcı olur ve erişim haklarını bireysel özellikler veya nesne türleri seviyesine kadar özelleştirme yeteneği sunar.
Tür
ACE türünü belirten bayrak. Windows 2000 ve Windows Server 2003, tüm güvenli nesnelere eklenen üç genel ACE türü ve Active Directory nesneleri için meydana gelebilecek üç nesne-özel ACE türü destekler.
Bayraklar
Miras ve denetimi kontrol eden bit bayrakları seti.
Boyut
ACE için tahsis edilen bellek bayt sayısı.
Erişim maskesi
Nesne için erişim haklarına karşılık gelen bitlerin bulunduğu 32 bitlik değer. Bitler ya açık ya da kapalı olarak ayarlanabilir, ancak ayarın anlamı ACE türüne bağlıdır. Örneğin, izinleri okuma hakkına karşılık gelen bit açıldığında ve ACE türü Reddet ise, ACE nesnenin izinlerini okuma hakkını reddeder. Aynı bit açıldığında ancak ACE türü İzin Ver ise, ACE nesnenin izinlerini okuma hakkını verir. Erişim maskesinin daha fazla ayrıntısı bir sonraki tabloda görünmektedir.
SID
Bu ACE tarafından kontrol edilen veya izlenen bir kullanıcı veya grubu tanımlar.
0 - 15
Nesne Özel Erişim Hakları
Verileri oku, Çalıştır, Verileri ekle
16 - 22
Standart Erişim Hakları
Sil, ACL yaz, Sahibi yaz
23
Güvenlik ACL'sine erişebilir
24 - 27
Ayrılmış
28
Genel Tüm (Oku, Yaz, Çalıştır)
Her şey aşağıda
29
Genel Çalıştır
Bir programı çalıştırmak için gerekli tüm şeyler
30
Genel Yaz
Bir dosyaya yazmak için gerekli tüm şeyler
31
Genel Oku
Bir dosyayı okumak için gerekli tüm şeyler
Trickest kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen iş akışlarını kolayca oluşturun ve otomatikleştirin. Bugün Erişim Alın:
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)