Site icon Baki ÇUBUK

Active Directory Sıkılaştırma Serisi Bölüm 6: SMB Signing Zorlaması

Merhaba

Active Directory Sıkılaştırma serisinin altıncı bölümünde, dosya paylaşımının güvenliğine geri dönüyoruz. Bölüm 2‘de eskimiş SMBv1 protokolünü ortamdan kaldırmıştık; bu bölümde ise kullanmaya devam ettiğimiz modern SMB (SMBv2/SMBv3) trafiğini imzalayarak, yani SMB signing’i zorunlu kılarak sıkılaştırıyoruz.

SMB signing, LDAP signing ve channel binding ile aynı mantığın dosya paylaşımı tarafındaki karşılığıdır: bir kimlik doğrulamayı ve trafiği kriptografik olarak koruyarak, saldırganların araya girip oturumu başka bir hedefe aktarmasını (SMB relay) engeller. Bu, kurumsal ağlarda en sık istismar edilen saldırı zincirlerinden birini kırar.

SMB Signing Neden Önemli

SMB, Windows dünyasında dosya ve yazıcı paylaşımının temel protokolü. Sorun şu ki, imzalanmamış bir SMB oturumunda trafiğin bütünlüğü ve tarafların kimliği doğrulanmaz.

Burada dikkat çeken nokta şu: İmzasız SMB, klasik SMB relay saldırısına açıktır. Bu senaryoda saldırgan, ağdaki bir kullanıcının veya makinenin kimlik doğrulamasını (örneğin bir NTLM oturumunu) yakalar ve bunu başka bir sunucuya aktararak o kullanıcının yetkileriyle işlem yapar. İmzasız oturumda hedef sunucu, gelen oturumun gerçekten o kullanıcıdan mı yoksa araya giren bir saldırgandan mı geldiğini ayırt edemez.

SMB signing bu boşluğu kapatır. Her SMB mesajına, mesajın tamamının bir hash’ini ve gönderen ile alıcının kimliğini içeren kriptografik bir imza eklenir. Trafik yolda değiştirilir ya da başka bir hedefe aktarılırsa imza doğrulaması başarısız olur ve oturum reddedilir. Böylece SMB relay ve man-in-the-middle saldırıları etkisiz kalır.

Kısacası SMB signing, dosya paylaşım trafiğinde LDAP signing’in dizin trafiğinde yaptığı işi yapar: bütünlüğü garanti eder ve relay’i imkansız hale getirir.

Windows Server 2025 ve Güncel Durum

SMB signing konusunda Windows Server 2025 önemli bir dönüm noktası.

Microsoft, modern Windows sürümlerinde SMB signing’i artık varsayılan olarak zorunlu hale getirmeye başladı:

Bu, uzun yıllar imzasız SMB’ye izin veren varsayılan davranışın tersine dönmesi anlamına geliyor. Yine de eski ortamlardan yükseltilen sistemlerde, üçüncü taraf NAS cihazlarında veya imzalamayı desteklemeyen legacy uygulamalarda durum farklı olabilir. Bu yüzden doğru yaklaşım, serinin genel mantığıyla aynı: önce görmek, sonra zorlamak.

Önemli bir uyarı: Microsoft, üçüncü taraf bir sunucuyla uyum için SMB signing’i devre dışı bırakmayı önermez. İmzalamayı kapatmak yalnızca güvenliği zayıflatmakla kalmaz, imzasız guest erişimine de kapı aralar. Çözüm imzalamayı kapatmak değil, uyumsuz cihazı imzalamayı destekleyecek şekilde güncellemek ya da değiştirmektir.

SMB Signing Ayarları ve Registry Değerleri

SMB signing hem istemci (client) hem sunucu (server) tarafında ayrı ayrı yapılandırılır. Her tarafta iki ayar vardır: imzalamayı etkinleştirmek (enable) ve imzalamayı zorunlu kılmak (require).

İstemci tarafı:

Sunucu tarafı:

Her iki tarafta da şu iki değer bulunur:

Değer Anlamı Güvenlik
EnableSecuritySignature = 1 İmzalama destekleniyor (karşı taraf isterse imzalanır) Orta
RequireSecuritySignature = 1 İmzalama zorunlu (imzasız oturum reddedilir) Güçlü
Her ikisi = 0 İmzalama kapalı Zayıf

Hedef değer her iki tarafta da RequireSecuritySignature = 1. Bu, imzalamayı yalnızca desteklemek değil, zorunlu kılmak demektir.

Bu değerler, aşağıdaki Group Policy Object politikalarına karşılık gelir:

Group Policy Object Politikası Registry Karşılığı
Microsoft network client: Digitally sign communications (always) LanmanWorkstation · RequireSecuritySignature
Microsoft network client: Digitally sign communications (if server agrees) LanmanWorkstation · EnableSecuritySignature
Microsoft network server: Digitally sign communications (always) LanmanServer · RequireSecuritySignature
Microsoft network server: Digitally sign communications (if client agrees) LanmanServer · EnableSecuritySignature

Aşama 1: Mevcut Durumu Tespit Etmek

Zorlamaya geçmeden önce ortamdaki mevcut SMB signing durumunu görmelisiniz. PowerShell ile hem istemci hem sunucu tarafındaki ayarları kolayca sorgulayabilirsiniz.

Sunucu tarafında imzalamanın zorunlu olup olmadığını kontrol etmek için:

Get-SmbServerConfiguration | Format-List EnableSecuritySignature, RequireSecuritySignature

Çıktıda hem EnableSecuritySignature hem RequireSecuritySignature değerinin True olması, sunucu tarafında SMB imzalamanın zorunlu olduğunu gösterir. Windows Server 2025’te giden imzalama varsayılan olarak zorunlu geldiği için bu değeri baştan True görmeniz olağandır; eski sürümlerden yükseltilen sistemlerde ise False olabilir.

İstemci tarafında:

Get-SmbClientConfiguration | Format-List EnableSecuritySignature, RequireSecuritySignature

RequireSecuritySignature değeri True dönüyorsa imzalama zorunlu, False ise yalnızca destekleniyor ya da kapalı demektir.

İmzasız bağlantı kuran istemcileri tespit etmek için SMB istemci bağlantılarını da izleyebilirsiniz. Özellikle imzalamayı desteklemeyen eski NAS cihazları, yazıcılar veya legacy uygulamalar bu aşamada dikkat edilmesi gereken noktalardır. Bir denetim penceresi boyunca (örneğin bir ay) dosya paylaşımı trafiğini izleyip imzasız bağlantı kuran uç noktaları listelemek en sağlıklı yoldur.

Aşama 2: SMB Signing’i Zorunlu Kılmak

İmzalamayı desteklemeyen cihazları tespit edip düzelttikten (veya güncelledikten) sonra zorlamaya geçebilirsiniz. Bunu iki tarafta da uygulayın: hem sunucu hem istemci.

Group Policy ile Uygulama

Ortam genelinde SMB signing’i zorunlu kılmak için, aşağıdaki dört politikanın always olanlarını Enabled yapın:

Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > Security Options

Buradan:

İstemci tarafı için adımlar sırasıyla şöyle:

Security Options altında Microsoft network client: Digitally sign communications (always) politikasını bulun. Başlangıçta durumu genellikle Not Defined olur.

Politikayı çift tıklayın, Define this policy setting kutusunu işaretleyip Enabled seçin ve Apply‘a tıklayın.

Windows, bu değişikliğin istemci ve uygulama uyumluluğunu etkileyebileceğine dair bir onay penceresi gösterir. Aşama 1’deki tespiti tamamladıysanız Yes ile devam edin.

Ayarın Enabled olduğunu doğrulayıp OK ile pencereyi kapatın.


Politika listesinde istemci imzalama ayarının artık Enabled olduğunu görürsünüz.

Aynı adımları sunucu tarafı için de tekrarlayın:

Microsoft network server: Digitally sign communications (always) politikasını bulun; başlangıçta Not Defined görünür.

Politikayı çift tıklayın, Define this policy setting kutusunu işaretleyip Enabled seçin ve Apply‘a tıklayın.

Onay penceresinde Yes ile devam edin.

Ayarın Enabled olduğunu doğrulayıp OK ile kapatın.

Politika listesinde sunucu imzalama ayarının da Enabled olduğunu görürsünüz. Değişikliğin makinelere ulaşması için gpupdate /force çalıştırabilirsiniz.

 

Bu iki ayar, sırasıyla istemci ve sunucu tarafında RequireSecuritySignature değerini 1 yapar. if client agrees / if server agrees ayarları ise yalnızca destekleme (enable) seviyesindedir; tam koruma için always olanları zorunlu kılmanız gerekir.

PowerShell ile Uygulama

GPO (Group Policy Object)’ya alternatif olarak veya tek makine testlerinde PowerShell ile de uygulayabilirsiniz.

Sunucu tarafında imzalamayı zorunlu kılmak için:

Set-SmbServerConfiguration -RequireSecuritySignature $true

Kurumsal ortamda önerilen yöntem GPO (Group Policy Object)’dur; böylece ayar tüm domain üyelerine tutarlı şekilde dağıtılır ve yeni eklenen makinelerde de geçerli olur.

Doğrulama

Zorlamadan sonra, Get-SmbServerConfiguration ve Get-SmbClientConfiguration çıktılarında RequireSecuritySignature değerinin True olduğunu görmelisiniz. Ayrıca dosya paylaşımlarının, yazıcıların ve uygulamaların normal çalışmaya devam ettiğini bir hafta boyunca izleyin.

İmzalamayı desteklemeyen bir cihaz varsa, zorlamadan sonra o cihazın dosya paylaşımına erişimi kesilir. Bu yüzden Aşama 1’deki tespiti dikkatle yapmak kritiktir.

Geri Alma (Rollback) Planı

Zorlama sonrası kritik bir erişim kesilirse, GPO ayarını geri alıp gpupdate /force ile hızlıca eski davranışa dönebilirsiniz. PowerShell ile uyguladıysanız RequireSecuritySignature değerini $false yaparak imzalamayı zorunlu olmaktan çıkarabilirsiniz (ancak imzalamayı tamamen kapatmak önerilmez; yalnızca zorunluluğu geçici olarak kaldırın).

Bunu kalıcı bir çözüm değil, yalnızca sorunlu cihazı imzalamayı destekleyecek şekilde düzeltene kadar geçici bir köprü olarak kullanın. Pilot yaklaşım burada da geçerlidir: değişikliği önce sınırlı bir kapsamda uygulayın, izleyin, sonra dalgalar halinde tüm ortama yayın.

Genel Görünüm

SMB signing zorlaması, LDAP signing ve channel binding ile birlikte, kurumsal ağlarda relay saldırılarını kapatan sıkılaştırma ailesinin dosya paylaşımı ayağıdır. Windows Server 2025 bu konuda önemli bir adım atıp giden imzalamayı varsayılan olarak zorunlu kılıyor; ancak eski cihazlardan ve karışık ortamlardan kaynaklanan istisnaları yönetmek yine sizin sorumluluğunuzda.

İzlenecek yol serinin genel mantığıyla aynı: önce görünürlük (mevcut ayarların ve imzasız istemcilerin tespiti), sonra uyumsuz cihazları düzeltme, ardından GPO ile hem sunucu hem istemci tarafında always zorlaması, en son da doğrulama. Bu sırayı koruduğunuzda hem SMB relay riskini kapatır hem de üretim ortamını kesintiye uğratmadan sıkılaştırmayı tamamlarsınız.

Serinin bir sonraki ve son bölümünde en az yetki (least privilege) ilkesinin uygulanmasını ele alacağız. Kimlik altyapısını katman katman güçlendirmenin son halkasını tamamlayacağız.

Uyumluluk ve Çerçeve Eşlemesi

Aşağıdaki tablo, serideki her sıkılaştırmanın hangi uyumluluk çerçevesi kontrolünü karşıladığını ve hangi MITRE ATT&CK tekniğini engellediğini özetler. Hiçbir çerçeve bu ayarları isim isim zorunlu tutmaz; sıkılaştırmalar ilgili kontrolleri karşılar. Bağlayıcılık: Zorunlu = PCI DSS (kart verisi), KVKK (TR), TCMB (finansal), HIPAA (ABD sağlık); Taahhüde bağlı = ISO 27001; Gönüllü = NIST CSF, CIS Controls.

Sıkılaştırma (Bölüm) İlgili Çerçeve Kontrolleri Engellenen MITRE ATT&CK
NTLMv1’i devre dışı bırakmak (Bölüm 1) PCI DSS 2.2/4.2/8.3 · KVKK Md.12 · TCMB · ISO A.8.24/A.8.5 · NIST PR.AA/PR.DS · CIS Benchmark (LAN Manager auth level) T1557 (NTLM relay), T1550.002 (Pass-the-Hash), T1187
SMBv1’i kaldırmak (Bölüm 2) PCI DSS 2.2/6.3/1 · KVKK Md.12 · TCMB · ISO A.8.8/A.8.9 · NIST PR.PS/ID.RA · CIS Benchmark (SMBv1 disable) T1210 (EternalBlue), T1021.002 (SMB Shares), T1570
LDAP signing zorlaması (Bölüm 3) PCI DSS 4.2/2.2 · KVKK Md.12 · TCMB · ISO A.8.24/A.5.14/A.8.20 · NIST PR.DS/PR.AA · CIS Benchmark (LDAP server signing) T1557 (LDAP/NTLM relay), T1550
Kerberos için AES zorlaması (Bölüm 4) PCI DSS 4.2/2.2 · KVKK Md.12 · TCMB · ISO A.8.24 · NIST PR.DS · CIS Benchmark (Kerberos encryption types) T1558.003 (Kerberoasting), T1558
LDAP channel binding zorlaması (Bölüm 5) PCI DSS 4.2/2.2 · KVKK Md.12 · TCMB · ISO A.8.24/A.8.20 · NIST PR.DS/PR.AA · CIS Benchmark (LDAP channel binding token) T1557 (LDAPS üzerinden NTLM relay)
SMB signing zorlaması (Bölüm 6) PCI DSS 4.2/2.2 · KVKK Md.12 · TCMB · ISO A.8.24/A.5.14 · NIST PR.DS · CIS Benchmark (Microsoft network client/server digitally sign) T1557 (SMB relay), T1187
En az yetki (least privilege) (Bölüm 7) PCI DSS 7.x/8.x · KVKK Md.12 · TCMB · ISO A.8.2/A.5.15 · NIST PR.AA · CIS Controls v8 5.4/6.8 T1078 (Geçerli Hesaplar), T1548 (Yetki Yükseltme)
Windows LAPS (Bölüm 8) PCI DSS 8.2/8.3/7 · KVKK Md.12 · TCMB · ISO A.5.17/A.8.2 · NIST PR.AA · CIS Controls v8 5.2/5.4/4.7 T1078 (Geçerli Hesaplar), T1550.002 (Pass-the-Hash), T1021

Engellenen başlıca MITRE ATT&CK teknikleri: T1557 Adversary-in-the-Middle (NTLM relay), T1550.002 Pass-the-Hash, T1187 Forced Authentication

Başka bir yazımızda görüşmek dileğiyle…

Exit mobile version