Bir önceki makalemde NTFS (New Technology File System) İzinleri konusuna değinmiş ve bu yapıdaki erişim denetimi mekanizmalarının nasıl çalıştığını detaylıca ele almıştım. NTFS izinleri, dosya ve klasörlere yönelik erişim haklarını belirlerken, sistemin fiziksel disk üzerindeki veri güvenliğini sağlamaya odaklanır. Ancak, Network üzerinden paylaşılan kaynaklarda yalnızca NTFS izinleri yeterli değildir. Burada devreye Sharing Permissions (paylaşım izinleri) girer ve belirli kullanıcıların veya grupların paylaşılan kaynaklara nasıl erişeceğini yönetir.
Windows Server 2019’da Sharing Permissions (paylaşım izinleri), doğrudan Network üzerinden erişimi düzenleyen bir katmandır. NTFS Permissions (NTFS izinleri) ile birlikte çalışarak çift katmanlı bir güvenlik politikası oluşturur. Bir kaynağa erişim hakkı belirlenirken, NTFS ve Sharing izinleri çakışırsa, her zaman en kısıtlayıcı olan izin uygulanır. Bu durum, paylaşılan kaynaklarda beklenmedik erişim problemlerinin önüne geçmek için kritik bir faktördür.
Bir paylaşım oluşturulduğunda, sistem varsayılan olarak Everyone grubuna Read izni atar. Ancak bu, güvenlik açısından zayıf bir yapılandırmadır ve her ortamda ihtiyaca göre özelleştirilmelidir. Sharing Permissions; Full Control, Change ve Read olmak üzere üç temel seviyede belirlenebilir. Full Control, yetkilendirilmiş kullanıcıların her türlü değişikliği yapmasına olanak tanırken, Change yalnızca dosya ve klasör içeriklerinde değişiklik yapılmasını sağlar. Read ise yalnızca okuma erişimi ile sınırlandırılmıştır.
Access-Based Enumeration (ABE) gibi özellikler sayesinde, kullanıcılar yalnızca yetkileri olan paylaşımları görebilir, böylece gereksiz erişim denemeleri engellenir ve güvenlik artırılır. Ayrıca, User and Group Based Permissions kullanılarak belirli klasörlerin belirli kullanıcı gruplarına atanması mümkündür. Özellikle büyük Network ortamlarında, Group Policy ile birleşik bir yönetim modeli oluşturulabilir.
Yetkilendirme süreçlerinde Least Privilege prensibi her zaman göz önünde bulundurulmalı ve gereksiz geniş yetkilendirmelerden kaçınılmalıdır. PowerShell üzerinden paylaşım izinlerinin yönetilmesi, büyük ölçekli ortamlarda otomasyon süreçlerine dahil edilerek daha tutarlı bir güvenlik modeli oluşturulmasını sağlar.
Windows Server 2019 paylaşım izinlerinin doğru yapılandırılması, özellikle Standalone Server, Domain Environment veya Hybrid Architecture gibi farklı altyapılarda veri erişim güvenliğini korumanın temel unsurlarından biri haline gelir. NTFS ve Sharing izinlerinin birlikte nasıl çalıştığını anlamadan yapılan yanlış konfigürasyonlar, yetkisiz erişimlerin veya beklenmeyen erişim sorunlarının ortaya çıkmasına neden olabilir. Bu nedenle, her paylaşım senaryosunun detaylı bir şekilde değerlendirilmesi ve güvenlik politikalarına uygun şekilde uygulanması gerekir.
Örnek Senaryo-1
Server'ım üzerinde COMPANY isimli bir klasör var. Bu klasörümü paylaşıma açarak gerekli izin atamalarını oluşturmuş olduğum kulanıcılar üzerinde sağlayacağım ancak başlamadan önce bir kaç noktaya da değinmekte fayda var.
✔ Paylaşım izinleri (Sharing Permissions), sadece klasörlere uygulanabilir.
✔ Paylaşım izinleri (Sharing Permissions), hem FAT hem de NTFS Format'lı Volume'ler üzerinde bulunan klasörlere uygulanabilir.
✔ Paylaşım izinleri (Sharing Permissions), paylaşıma açılan klasör sadece UNC (Universal Naming Convention) Path üzerinden \\Host Name ya da \\IP Adresi üzerinden erişildiği zaman geçerli olan bir izin yöntemidir.
Yukarıdaki bu bilgilere göre COMPANY isimli klasörümü paylaşıma açıyorum;
1- Klasör Özellikleri penceresinde Sharing tab'ında Advanced Sharing... butonuna tıklıyorum.

2- Advanced Sharing penceresinde Share this folder Check Box'ını seçili hale getiriyorum.

3- Share this folder Check Box'ını seçili hale getirdikten sonra, izinleri atayabileceğimiz Permissions butonu da aktif hale geliyor.

Paylaşım izinleri ve tanımlamalarını Permissions penceresinden yapacağız. Paylaşım izinleri (Sharing Permissions) üç kısımdan ve iki temel izinden oluşmaktadır. Bunlar, Allow ve Deny grupları altında; Read (okuma), Change (değiştirme), Full Control (tam denetim) şeklindedir.
1- Allow Grubu
Read: Varsayılan olarak Everyone grubu atanmış olup, bu grup için varsayılan seçenektir.
• Klasör içindeki dosyaları ve alt klasörleri görüntüleme yetkisi verir.

Change: Read izninin bütün özelliklerini içermesinin yanında;
• Klasör içerisindeki dosyalar üzerinde değişiklik yapma yetkisi verir.
• Alt klasörleri ve dosyaları silme yetkisi verir.

Full Control: Read ve Change izinlerinin bütün özelliklerini içermesinin yanında;
• Klasör izin değişikliği ya da sahipliğini alma gibi yetkiler verir.

2- Deny Grubu
Read: Klasör içindeki dosya ve alt klasörlere erişimi engeller.

Change: Read izninin bütün özelliklerini içermesinin yanında;
• Klasör içerisindeki dosyalar üzerinde değişiklik yapmayı engeller.
• Alt klasörleri ve dosyaları silmeyi engeller.

Full Control: Read ve Change izinlerinin bütün özelliklerini içermesinin yanında;
• Klasör izin değişikliği ya da sahipliğini alma gibi işlemleri engeller.

4- Paylaşım İzinleri (Sharing Permissions) İçin Kullanıcı ve/veya Grup tanımlamaları yapma Group or user names altındaki alana ACL (Access Control List) adı verilmektedir. Paylaşım İzinleri (Sharing Permissions) İçin Kullanıcı ve/veya Grup tanımlamaları da, Kullanıcı ve/veya Grup buradaki ACL'e eklenmeleri ile sağlanmaktadır. ACL'e eklenen her Kullanıcı ve/veya Grup için ayrı ayrı izin tanımlamaları yapılabilmektedir.

5- Kullanıcı ve/veya Grup eklemek için Add.. butonuna basıyorum.

6- Karşıma çıkan Select Users, Computers, Service Account or Groups penceresinde Enter the object names to select alanında, Kullanıcı ve/veya Grup isminin tamamı yazılabilir veya ismin bir kısmı yazılarak sağdaki Check Names butonuna basılarak sistemin bunu algılayarak ismi otomatik tamamlaması sağlanabilir. Ben Fırat Boyan Kullanıcısını ekliyorum.




6.1- Size tavsiyem, gerekmedikçe Everyone kullanıcı grubu kaldırarak, sadece izin ataması yapmak istediğiniz Kullanıcı ve/veya Grupları ACL'e eklemeniz olacaktır.

7- Fırat Boyan isimli kullanıcıya COMPANY isimli klasör üzerinde Full Control-Allow yetkisi veriyorum.


8- Bu işlemden sonra "COMPANY" isimli klasörüm paylaşıma açılarak Fırat Boyan isimli kullanıcıya da gerekli yetkilendirme yapıldı.

9- Fırat Boyan kullanıcısı ile PC01 Host Name'li bilgisayarda oturum açarak, \\Host Name ya da \\IPAdresi üzerinden paylaşıma erişiyorum.

10- "COMPANY" isimli paylaşım klasörüme tıkladığımda Fırat Boyan kullanıcısı için Full Control-Allow yetkisi tanımlamama rağmen erişim için gerekli iznimin olmadığı hata bilgisi ile karşılaştım. Bunun nedeni, klasöre asıl klasör izni olan Security (Güvenlik-NTFS) izin ataması gerçekleştirmemiş olmamdır.

📌 Bir kaynağa ister Universal Naming Convention (UNC) üzerinden, ister de paylaşımın açıldığı bilgisayardan erişilsin, mutlaka güvenlik izlerinin (NTFS İzinnleri) yapılandırılması şarttır.
Bu noktada bir ayrım söz konusudur. Bu ayrım da;
✅ Paylaşıma açılan klasör, Network üzerinden erişiliyorsa, hem Sharing Permission (Paylaşım İzni) hem de Security Permission (NTFS İzni) gerçeli olarak, her iki taraftadaki izinler karşılaştırılır ve aralarında en kısıtlayıcı olan hangisi ise, o uygulanır.
✅ Paylaşıma açılan klasör, paylaşımın açıldığı bilgisayardan erişiliyorsa, Sharing Permission (Paylaşım İzni) geçerli olmaz. Sadece Security Permission (NTFS İzni) geçerli olur ve aralarında karşılaştırma da yapılmaz.
11- Yukarıdaki bilgiler doğrultusunda Server'da paylaşıma açtığım "COMPANY" isimli paylaşım klasörüm üzerinde bu sefer de Security sekmesinde Fırat Boyan kullanıcısı için Security Permission (NTFS İzni) tanımlaması gerçekleştireceğim. Bunun için Edit... butonuna basıyorum.

12- Karşıma çıkan pencerede ACL (Access Control List) içine Fırat Boyan kullanıcısını eklemek için Add... botonuna basıyorum.

13- Eklemek istediğim kullacım olan Fırat Boyan için fırat yazarak Check Names butonuna basıyor, ismin tamamlanmasını sağlayarak OK butonuna basıp, ekliyorum.

14- Kullanıcım eklendikten sonra varsayılan olarak Read (Okuma) izni atanmış durumdadır.


15- Fırat Boyan kullanıcısı PC01 Host Name'li bilgisayarda tekrar \\Host Name ya da \\IPAdresi üzerinden paylaşıma erişim sağladığımda bu sefer sorunsuz bir şekilde klasörün içini görüntüleyebiliyorum.

16- Paylaşım klasörüm içinde bir New Folder (Yeni Klasör) oluşturuyorum.

16.1- Fırat Boyan kullanıcısı için Full Control-Allow yetkisi tanımlamama rağmen yeni bir klasör oluşturamıyorum. Bunun nedeni de; Network (ağ) üzerinden erişilen paylaşım klasöründe hem Sharing Permission (paylaşım izni) hem de Security Permission (Güvenlik-NTFS İzni) gerçeli olarak, her iki taraftadaki izinlerin karşılaştırıldığıdır.
Bu noktada da en kısıtlayıcı izinler Security Permission (Güvenlik-NTFS İzni) tarafında Read (okuma) olarak tanımlandığı için, Sharing Permission (Paylaşım İzni) Full Control-Allow olsa dahi, en kısıtlayıcı olan uygulanacaktır.

Örnek Senaryo-2 (Örnek Senaryo-1'in devamı)
17- Active Directory Users and Computers üzerinde daha önceden oluşturmuş olduğum IT isimli Security Group'a Fırat Boyan kullanısını da dahil ediyorum.

17.1- IT isimli Security Group için Full Control-Allow ataması yapıyorum.

17.2- Fırat Boyan kullanıcısı için de bu sefer Full Control-Deny ataması yapıyorum.

17.3- Fırat Boyan kullanıcısı PC01 Host Name'li bilgisayarda tekrar \\Host Name ya da \\IP Adresi üzerinden paylaşıma erişim sağladığımda, kullancımın "IT" isimli Security Group üzerinde Full Control-Allow izni olmasına rağmen gerekli iznimin olmadığı hata bilgisi ile karşılaştım. Bunun nedeni; DENY tanımlanan bir kullanıcı, herhangi bir grup'tan ALLOW iznili olarak gelse dahi DENY, her zaman ALLOW'un üzerinde olmasıdır.

Windows Server 2019'da Sharing Permissions, NTFS izinleriyle birlikte kullanıldığında daha güvenli ve esnek bir yetkilendirme modeli sunar. Bir paylaşım oluşturulurken belirlenen erişim seviyeleri, yalnızca Network üzerinden erişimi kontrol ettiği için NTFS izinleriyle birlikte düşünülmesi gerekir. Bu iki katmanlı yapı sayesinde, dosya ve klasörler hem fiziksel hem de uzaktan erişim açısından detaylı şekilde yönetilebilir.
Paylaşım izinleri belirlenirken Least Privilege prensibi göz önünde bulundurulmalı ve gereksiz geniş yetkilendirmelerden kaçınılmalıdır. Varsayılan olarak Everyone - Read erişimi ile gelen paylaşım izinleri, yetkisiz erişimlere karşı yeterli koruma sağlamayabilir. Full Control, Change ve Read seviyelerinin dikkatlice yapılandırılması, dosya bütünlüğünü korumanın yanı sıra yetkisiz değişiklikleri önlemek açısından önemlidir.
Yetkilendirme süreçlerinin daha verimli hale gelmesi için PowerShell ile otomasyon sağlanabilir. Büyük ölçekli ortamlarda Group Policy entegrasyonu ve Access-Based Enumeration (ABE) gibi ek güvenlik mekanizmaları kullanılarak, kullanıcıların yalnızca yetkili oldukları kaynakları görmeleri sağlanabilir. Doğru yapılandırılmış bir paylaşım modeli, yönetim süreçlerini sadeleştirirken veri güvenliğini üst seviyede tutmaya yardımcı olur.
Faydalı olması dileğiyle...
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.