Merhaba
Active Directory Sıkılaştırma serisinin ikinci bölümünde, kimlik doğrulama katmanından dosya paylaşım katmanına iniyoruz. Bu bölümün konusu, yıllardır güvenlik ekiplerinin listesinin en üstünde yer alması gereken bir protokol: SMBv1.
Bölüm 1’de NTLMv1’i ele almış, eski kimlik doğrulama protokollerini ortamdan temizlemenin önemini konuşmuştuk. SMBv1 de aynı ailenin bir üyesi: modası geçmiş, saldırılara açık ve modern Windows ortamlarında artık hiçbir teknik gerekçesi kalmamış bir protokol. Bu yazıda SMBv1’in neden bu kadar riskli olduğunu, kullanımını nasıl tespit edeceğinizi ve ortamdan güvenli şekilde nasıl kaldıracağınızı adım adım ele alıyoruz.
SMBv1 Neden Bu Kadar Tehlikeli
SMBv1, 1980’lerin sonuna dayanan, çok eski bir dosya paylaşım protokolü. Sorun sadece yaşlı olması değil; tasarımı gereği modern güvenlik ihtiyaçlarını karşılamaması.
SMBv1’in temel zaafları özetle şöyle. Trafik bütünlüğünü koruyacak modern imzalama (signing) mekanizmalarından yoksun, dolayısıyla man-in-the-middle ve relay saldırılarına açık. Şifreleme desteği yok. Kimlik doğrulama ve oturum yönetimi zayıf. Ve en önemlisi, kötü amaçlı yazılımların ağ içinde yatay hareket (lateral movement) için tercih ettiği bir yayılma kanalı.
Kısacası SMBv1, ortamınızda çalışır durumda bırakıldığında yalnızca bir uyumluluk borcu değil, aktif bir saldırı yüzeyi. Modern Windows sistemleri SMBv2 ve SMBv3’ü yıllardır destekliyor; bu sürümler imzalama, şifreleme ve çok daha güçlü bütünlük kontrolleri sunuyor.
Windows Server 2025 ve Güncel Durum
İyi haber şu: Microsoft SMBv1’i uzun süredir kademeli olarak devre dışı bırakıyor. Windows Server 2019 ve sonrası ile Windows 10 (Home/Pro dışı sürümler) ve Windows 11’de SMBv1 varsayılan olarak kurulu gelmiyor. Windows Server 2025 de bu çizgiyi sürdürüyor.
Ancak burada dikkat çeken nokta şu: “varsayılan olarak kurulu değil” ifadesi, “ortamınızda kesinlikle yok” anlamına gelmiyor. Uzun süredir ayakta olan domain’lerde SMBv1 çeşitli yollarla hala açık olabilir:
- Eski işletim sistemlerinden yükseltilerek gelen sunucularda özellik hala kurulu olabilir.
- Eski NAS cihazları, yazıcılar, tarayıcılar veya legacy uygulamalar SMBv1’e bağımlı olabilir.
- Bir yönetici geçmişte uyumluluk için özelliği manuel olarak yeniden etkinleştirmiş olabilir.
- İstemci tarafındaki SMBv1 sürücüsü (client driver) hala yüklü olabilir.
Bu yüzden doğru yaklaşım “zaten kapalıdır” varsayımı değil, önce tespit edip sonra emin olmak.
Aşama 1: SMBv1 Var mı, Kullanılıyor mu
NTLMv1 bölümünde olduğu gibi burada da altın kural aynı: önce görmek, sonra kaldırmak. SMBv1’i körlemesine kapatıp eski bir yazıcının ya da NAS’ın erişiminin kesilmesiyle uğraşmak istemezsiniz.
Özelliğin Kurulu ve Etkin Olup Olmadığını Kontrol Etmek
Sunucu tarafında SMBv1 protokolünün etkin olup olmadığını görmek için:
Windows PowerShell‘i Run as administrator (Yönetici olarak) açın ve aşağdaki komutu çalıştırın:
Get-SmbServerConfiguration | Select-Object EnableSMB1Protocol
EnableSMB1Protocol değerinin False dönmesi, sunucu tarafında SMBv1 protokolünün kapalı olduğunu gösterir. Değer True olsaydı protokol aktif demekti.
Windows özelliği olarak kurulu olup olmadığını kontrol etmek için:
Windows PowerShell‘i Run as administrator (Yönetici olarak) açın ve aşağdaki komutu çalıştırın:
Client ve Sunucu için ortak (Opsiyonel Özellik):
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Get-WindowsOptionalFeature çıktısında State: Disabled görünüyor; SMB 1.0/CIFS File Sharing Support özelliği kurulu değil. ServerComponent\UniqueName alanının FS-SMB1 olduğuna da dikkat edin.
Windows Server Rolü olarak:
Get-WindowsFeature -Name FS-SMB1
Windows Server rolü olarak bakıldığında FS-SMB1 özelliğinin Install State değeri Available; yani sunucuda kurulu değil, kurulmaya hazır durumda. Kurulu olsaydı Installed görünürdü.
EnableSMB1Protocol değeri True dönüyorsa ya da özellik Enabled/Installed görünüyorsa, o makinede SMBv1 mevcut demektir.
SMBv1 Kullanımını Denetim (Audit) ile Yakalamak
Asıl kritik soru şu: SMBv1 açık olsa bile, gerçekten kullanan bir istemci var mı? Bunu görmenin en doğru yolu, protokolü kapatmadan önce denetim modunu açmak. Windows, SMBv1 erişim denemelerini kaydedebilir.
Denetimi etkinleştirmek için:
Windows PowerShell‘i Run as administrator (Yönetici olarak) açın ve aşağdaki komutu çalıştırın:
Set-SmbServerConfiguration -AuditSmb1Access $true
Denetim etkinleştirilirken PowerShell bir onay (Confirm) istemi gösterir. Y ile onayladığınızda SMBv1 erişim denemeleri kaydedilmeye başlar. Onay istemini atlamak isterseniz komuta -Confirm:$false parametresini ekleyebilirsiniz.
Bu ayardan sonra, bir istemci sunucuya SMBv1 ile bağlanmaya çalıştığında olay günlüğüne bir kayıt düşer:
- Olay günlüğü:
Microsoft-Windows-SMBServer/Audit - Event ID: 3000 (her SMBv1 bağlantı denemesinde üretilir)
Bu kayıtları toplamak için:
Get-WinEvent -LogName "Microsoft-Windows-SMBServer/Audit" |
Where-Object { $_.Id -eq 3000 } |
Select-Object TimeCreated, Message -First 50
Event 3000 kayıtları, hangi istemcinin hangi sunucuya SMBv1 ile eriştiğini gösterir. Bu istemciler genellikle eski cihazlar, yazıcılar veya güncellenmemiş uygulamalardır. Öneri: denetimi en az bir ay açık tutun ki periyodik işler (aylık raporlar, yedekleme görevleri, ay sonu entegrasyonları) da yakalanabilsin.
Denetim durumunu kontrol etmek için:
Get-SmbServerConfiguration | Select-Object AuditSmb1Access
Aşama 2: SMBv1’i Kaldırmak
Denetim sonucunda SMBv1’e bağımlı cihaz kalmadığından emin olduktan sonra kaldırma aşamasına geçebilirsiniz. Kaldırma işlemi iki katmanlıdır: önce protokolü kapatmak, ardından özelliği tamamen sistemden sökmek.
Sunucu Tarafında Kaldırma
En hızlı ve yeniden başlatma gerektirmeyen adım, protokolü kapatmaktır:
Yeniden Başlatma Gerektirmez
Set-SmbServerConfiguration -EnableSMB1Protocol $false
Özelliği tamamen sistemden kaldırmak için (Yeniden başlatma gerektirir):
Opsiyonel Özellik Olarak Kaldırma (Client ve Sunucu):
Set-SmbServerConfiguration -EnableSMB1Protocol $false
Windows Server Rolü Olarak Kaldırma:
Remove-WindowsFeature -Name FS-SMB1
Kurumsal ortamda tek tek makinelere bağlanmak yerine bu komutları merkezi yönetim (PowerShell Remoting, Configuration Manager, Intune veya bir GPO (Group Policy Object) scripti) ile dağıtmak en pratik yoldur.
İstemci Tarafındaki SMBv1 Sürücüsü
Sunucu tarafını kapatmak yeterli değil. İstemci makinelerinde SMBv1 client sürücüsü (mrxsmb10) hala yüklüyse, bu makineler dışarıya SMBv1 ile bağlanmaya devam edebilir. İstemci bileşenini de kaldırın:
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Alternatif olarak SMBv1 istemci sürücüsünü servis seviyesinde devre dışı bırakmak için:
SMB1 Client Sürücüsünü Devre Dışı Bırak:
sc.exe config mrxsmb10 start= disabled
sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi
Group Policy ile Yaygınlaştırma
Ortam genelinde tutarlılık için SMBv1’in kaldırılmasını GPO ile de zorlayabilirsiniz. Yeni SMB sürümlerinin kullanılmasını sağlamak, eski istemci sürücüsünü devre dışı bırakmak ve gerektiğinde bir başlangıç scripti (startup script) ile özelliği kaldırmak yaygın yaklaşımlardır. Böylece yeni eklenen ya da yeniden görüntülenen (reimage) makinelerde de SMBv1 geri gelmez.
Kaldırma Sonrası Doğrulama
Kaldırma işleminden sonra durumu mutlaka teyit edin:
Protokol Kapalı mı:
Get-SmbServerConfiguration | Select-Object EnableSMB1Protocol
Özellik Kaldırılmış mı:
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
EnableSMB1Protocol değerinin False, özellik durumunun Disabled> 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.
Geri Alma (Rollback) Planı
Beklenmedik bir uyumluluk sorunu çıkarsa, SMBv1’i geçici olarak geri açmak mümkündür. Ancak bunu yalnızca sorunu tespit edip kalıcı çözümü (cihazın değiştirilmesi veya güncellenmesi) planlamak için bir köprü olarak kullanın, kalıcı bir durum olarak değil:
Geçici Geri Açma (Yalnızca Acil Durum için)
Set-SmbServerConfiguration -EnableSMB1Protocol $true
Pilot yaklaşım burada da geçerli: değişikliği önce düşük riskli bir sunucu grubunda uygulayın, bir hafta izleyin, ardından dalgalar halinde tüm ortama yayın.
Genel Görünüm
SMBv1, kaldırılması gereken protokoller listesinde tartışmasız en üst sıralarda. WannaCry ve NotPetya gibi saldırıların bıraktığı ders net: çalışır durumda bırakılan tek bir SMBv1 uç noktası bile bütün bir ağı riske atabilir. Windows Server 2025 bu protokolü varsayılan olarak getirmiyor, ancak eski ortamlardan miras kalan izleri temizlemek sizin sorumluluğunuzda.
İzlenecek yol Bölüm 1’deki mantıkla aynı: önce görünürlük (denetim ile Event 3000 takibi), sonra kademeli kaldırma (önce protokolü kapat, sonra özelliği sök), en son da doğrulama. Bu sırayı koruduğunuzda hem EternalBlue sınıfı saldırıların kapısını kapatır hem de üretim ortamını kesintiye uğratmadan sıkılaştırmayı tamamlarsınız.
Serinin bir sonraki bölümünde LDAP signing zorlamasını ele alacağız. Kimlik altyapısını katman katman sağlamlaştırmaya devam edeceğiz.
Başka bir yazımızda görüşmek dileğiyle…

