Aracılığıyla paylaş


Windows'da SMBv1, SMBv2 ve SMBv3'i algılama, etkinleştirme ve devre dışı bırakma

Bu makalede, SMB istemci ve sunucu bileşenlerinde Sunucu İleti Bloğu (SMB) sürüm 1 (SMBv1), SMB sürüm 2 (SMBv2) ve SMB sürüm 3 (SMBv3) nasıl etkinleştirileceği ve devre dışı bırakıldığı açıklanır.

SMBv1'i devre dışı bırakır veya kaldırırsanız, eski bilgisayarlarda veya yazılımlarda uyumluluk sorunlarıyla karşılaşabilirsiniz. SMBv1'de önemli güvenlik açıkları vardır ve bunukullanmamanızı kesinlikle öneririz. SMBv1, Windows 11 veya Windows Server 2019 ve sonraki sürümlerin herhangi bir sürümünde varsayılan olarak yüklenmez. SMBv1, Home ve Pro sürümleri dışında Windows 10'da da varsayılan olarak yüklenmez. SMBv1'i yeniden yüklemek yerine, yine de gerekli olan SMB sunucusunu güncelleştirmenizi öneririz. SMBv1 gerektiren iş ortaklarının listesi ve gereksinimi kaldıran güncelleştirmeleri için bkz. SMB1 Product Clearinghouse.

Sorun giderme için SMBv2 veya SMBv3'i devre dışı bırakma

SMBv2 ve SMBv3'ün etkin kalmasını öneririz, ancak sorun giderme için geçici olarak devre dışı bırakmanız yararlı olabilir. Daha fazla bilgi için bkz. SMB protokollerini yönetmek için komut satırını veya Kayıt Defteri Düzenleyicisi'ni kullanma.

SMBv3'ün devre dışı bırakılması aşağıdaki işlevleri devre dışı bırakır:

  • Saydam yük devretme: İstemcilere bakım veya yük devretme sırasında küme düğümlerine kesintisiz olarak yeniden bağlanmanın bir yolunu sağlar
  • Ölçek genişlemesi: Tüm dosya kümesi düğümlerinde paylaşılan verilere eş zamanlı erişim sağlar
  • Çok Kanallı SMB: İstemci ile sunucu arasında birden çok yol varsa, ağ bant genişliğinin ve hataya dayanıklılığın bir araya getirilmesini kolaylaştırır.
  • Doğrudan Erişimli SMB: Düşük gecikme süresi ve düşük CPU kullanımı ile yüksek performans için uzaktan doğrudan bellek erişimi (RDMA) ağ desteği ekler
  • Şifreleme: Uçtan uca şifreleme sağlar ve güvenilir olmayan ağlarda dinlemeye karşı koruma sağlar
  • Dizin kiralama: Önbelleğe alma yoluyla şubelerdeki uygulama yanıt sürelerini iyileştirir
  • Performans iyileştirmesi: Küçük rastgele okuma/yazma G/Ç işlemlerini iyileştirir

SMBv2 devre dışı bırakıldığında aşağıdaki işlevler devre dışı bırakılır:

  • İstek birleştirme işlevi: Birden çok SMBv2 isteğini tek bir ağ isteği olarak göndermeyi destekler
  • Daha büyük okuma ve yazma işlemleri: Daha hızlı ağların kullanımını iyileştirir
  • Klasör ve dosya özelliklerinin önbelleğe alınmasını sağlama: İstemcilere klasörlerin ve dosyaların yerel kopyalarını tutma olanağı verir
  • Dayanıklı kollar: Geçici bir bağlantı kesildikten sonra bir bağlantının sunucuya sorunsuzca yeniden bağlanması için bir yol sağlar.
  • Geliştirilmiş İleti İmzalama: Karma algoritması olarak Message-Digest Algoritması 5 (MD5) yerine 256 bit özetli (HMAC SHA-256) karma tabanlı ileti kimlik doğrulama kodu (HMAC) güvenli karma algoritmasını (SHA) kullanır.
  • Dosya paylaşımı için geliştirilmiş ölçeklenebilirlik: Sunucu başına kullanıcı, paylaşım ve açık dosya sayısını büyük ölçüde artırır
  • Sembolik bağlantılar için destek
  • İstemci oplock kiralama modeli: İstemci ile sunucu arasında aktarılan verileri sınırlar, yüksek gecikme süreli ağlarda performansı artırır ve SMB sunucusu ölçeklenebilirliğini artırır
  • Büyük maksimum iletim birimi (MTU) desteği: 10 Gigabit Ethernet'in (GbE) tam kullanımını destekler
  • Geliştirilmiş enerji verimliliği: Bir sunucuya açık dosyaları olan istemcilerin uyku moduna geçirmesi için bir yol sağlar

SMBv2 protokolü Windows Vista ve Windows Server 2008'de kullanıma sunulmuştur. SMBv3 protokolü Windows 8 ve Windows Server 2012'de kullanıma sunulmuştur. SMBv2 ve SMBv3 özellikleri hakkında daha fazla bilgi için aşağıdaki makalelere bakın:

SMBv1'i kaldırmak için PowerShell kullanma

SMBv1 istemcisini veya sunucusunu algılamak, devre dışı bırakmak ve etkinleştirmek için Get-WindowsOptionalFeature Disable-WindowsOptionalFeatureve Enable-WindowsOptionalFeature PowerShell komutlarını kullanabilirsiniz. Komutları yükseltilmiş bir komut isteminde çalıştırın.

Not

SMBv1'i devre dışı bırakmak veya etkinleştirmek için PowerShell komutlarını çalıştırdıktan sonra bilgisayar yeniden başlatılır.

  • Algılamak:

    Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    
  • Devre Dışı Bırak:

    Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    
  • Etkinleştirmek:

    Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    

Bahşiş

Get-SmbServerConfiguration komutunu çalıştırarak SMBv1 durumunu yükseltme olmadan algılayabilirsiniz: Get-SmbServerConfiguration | Format-List EnableSMB1Protocol.

SMBv1'i kaldırma

SMBv1, Windows Server 2019 ve sonraki sürümlerde varsayılan olarak yüklenmez. Windows Server'ın önceki sürümlerinde, SMBv1'i kaldırmak için Sunucu Yöneticisi'ni kullanabilirsiniz:

  1. SMBv1'i kaldırmak istediğiniz sunucuda Sunucu Yöneticisi'ni açın.

  2. Sunucu Yöneticisi Panosu'nda, Bu yerel sunucuyu yapılandıraltında Rol ve özellik ekleöğesini seçin.

  3. Başlamadan Önce sayfasında, Rol ve Özellik Kaldırma Sihirbazı'nı Başlatseçeneğini seçin ve ardından sonraki sayfada İleri'yiseçin.

  4. hedef sunucu seçin sayfasında, Sunucu Havuzualtında, özelliği kaldırmak istediğiniz sunucunun seçili olduğundan emin olun ve ardından İleri seçin.

  5. Sunucu rollerini kaldır sayfasında İleri seçin.

  6. Özellikleri Kaldır sayfasında, SMB 1.0/CIFS Dosya Paylaşımı Desteğionay kutusunun işaretini kaldırın ve ardından İleri'yi seçin .

    Sunucu Yöneticisi panosundaki Özellikleri kaldır sayfasının ekran görüntüsü. Özellikler listesinde SMBv1 vurgulanır.

  7. Kaldırma seçimlerini onayla sayfasında, özelliğin listelendiğini onaylayın ve Kaldır'ı seçin.

SMB protokollerini yönetmek için komut satırını veya Kayıt Defteri Düzenleyicisi'ni kullanın

Windows 10 Fall Creators Update ve Windows Server 2019'dan başlayarak, SMBv1 artık varsayılan olarak yüklenmez. Daha fazla bilgi için bkz. SMBv1, Windows 10 sürüm 1709, Windows Server sürüm 1709 ve sonraki sürümlerde varsayılan olarak yüklenmiş değildir.

Windows 8 veya Windows Server 2012'de SMBv2'yi etkinleştirdiğinizde veya devre dışı bırakdığınızda, SMBv3 de etkinleştirilir veya devre dışı bırakılır. Bu davranış, bu protokollerin aynı yığını paylaşması nedeniyle oluşur.

Sunucu bileşeninde SMBv1, SMBv2 ve SMBv3 protokollerini etkinleştirmek veya devre dışı bırakmak için Set-SMBServerConfiguration cmdlet'ini kullanabilirsiniz. SMB sunucu yapılandırmasını almak için Get-SmbServerConfiguration cmdlet'ini kullanabilirsiniz.

Set-SMBServerConfiguration cmdlet'ini çalıştırdıktan sonra bilgisayarı yeniden başlatmanız gerekmez.

SMBv1

  • Algılamak:

    Get-SmbServerConfiguration | Select EnableSMB1Protocol
    
  • Devre Dışı Bırak:

    Set-SmbServerConfiguration -EnableSMB1Protocol $false
    
  • Etkinleştirmek:

    Set-SmbServerConfiguration -EnableSMB1Protocol $true
    

Daha fazla bilgi için bkz. SMB1kullanmayı durdurma.

SMBv2 ve SMBv3

  • Algılamak:

    Get-SmbServerConfiguration | Select EnableSMB2Protocol
    
  • Devre Dışı Bırak:

    Set-SmbServerConfiguration -EnableSMB2Protocol $false
    
  • Etkinleştirmek:

    Set-SmbServerConfiguration -EnableSMB2Protocol $true
    

Windows 7, Windows Server 2008 R2, Windows Vista ve Windows Server 2008'de SMB'yi etkinleştirme veya devre dışı bırakma

Windows 7, Windows Server 2008 R2, Windows Vista veya Windows Server 2008 çalıştıran bir SMB Sunucusunda SMB protokollerini etkinleştirmek veya devre dışı bırakmak için, aşağıdaki bölümlerde açıklandığı gibi Windows PowerShell veya Kayıt Defteri Düzenleyicisi'ni kullanın.

Windows PowerShell kullanma

Get-Item, Get-ItemPropertyve Set-ItemProperty cmdlet'lerini kullanarak SMB protokollerini algılayabilir, etkinleştirebilir ve devre dışı bırakabilirsiniz.

Not

Aşağıdaki bölümlerdeki komutlar PowerShell 2.0 veya üzerini gerektirir.

SMB sunucusunda SMBv1
  • Algılamak:

    Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
    

    Varsayılan yapılandırma Enabled. Sonuç olarak, value adlı bir kayıt defteri oluşturulmaz, bu nedenle komut SMB1 bir değer döndürmez.

  • Devre Dışı Bırak:

    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 -Force
    
  • Etkinleştirmek:

    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 1 -Force
    

Not

Bu değişiklikleri yaptıktan sonra bilgisayarı yeniden başlatmanız gerekir.

Daha fazla bilgi için bkz. SMB1kullanmayı durdurma.

SMB sunucusunda SMBv2 ve SMBv3
  • Algılamak:

    Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
    
  • Devre Dışı Bırak:

    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 0 -Force
    
  • Etkinleştirmek:

    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 1 -Force
    

Not

Bu değişiklikleri yaptıktan sonra bilgisayarı yeniden başlatmanız gerekir.

Kayıt Defteri Düzenleyicisi'ni kullanma

Önemli

Bu bölümdeki adımları dikkatle izleyin. Kayıt defterini yanlış değiştirirseniz ciddi sorunlar oluşabilir. Değiştirmeden önce, sorun oluşması durumunda geri yükleme için kayıt defterini yedekleyin.

SMB sunucusunda SMBv1'i etkinleştirmek veya devre dışı bırakmak için Kayıt Defteri Düzenleyicisi'ni açın ve aşağıdaki kayıt defteri anahtarı yoluna gidin:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

Aşağıdaki özelliklere sahip bir girdi yapılandırın:

  • Ad için SMB1kullanın.
  • türü için REG_DWORDkullanın.
  • Veriler için 0, Devre Dışı için ve 1, Etkiniçin kullanın. Varsayılan değer 1veya Etkin. Bu durumda hiçbir kayıt defteri anahtarı oluşturulmaz.

SMB sunucusunda SMBv2'yi etkinleştirmek veya devre dışı bırakmak için Kayıt Defteri Düzenleyicisi'ni açın ve aşağıdaki kayıt defteri anahtarı yoluna gidin:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

Aşağıdaki özelliklere sahip bir girdi yapılandırın:

  • Ad için SMB2kullanın.
  • türü için REG_DWORDkullanın.
  • Veriler için 0, Devre Dışı için ve 1, Etkiniçin kullanın. Varsayılan değer 1veya Etkin. Bu durumda hiçbir kayıt defteri anahtarı oluşturulmaz.

Not

 Bu değişiklikleri yaptıktan sonra bilgisayarı yeniden başlatmanız gerekir.

SMBv1'i devre dışı bırakmak için Grup İlkesi'ni kullanma

Bu bölümde, SMBv1'i devre dışı bırakmak için Grup İlkesi'nin nasıl kullanılacağı gösterilmektedir. Bu yöntemi Windows'un çeşitli sürümlerinde kullanabilirsiniz.

SMBv1

Kayıt defterinde aşağıdaki yeni öğeyi yapılandırarak bir SMB sunucusunda SMBv1'i devre dışı bırakabilirsiniz:

  • Anahtar yolu: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
  • Kayıt defteri girdisi: SMB1
  • Giriş türü: REG_DWORD
  • Giriş verileri: 0, Devre Dışı için.

Bu öğeyi yapılandırmak üzere Grup İlkesi'ni kullanmak için aşağıdaki adımları izleyin:

  1. Grup İlkesi Yönetim Konsolu'nu açın. Yeni tercih öğesini içermesi gereken Grup İlkesi nesnesine (GPO) sağ tıklayın ve Düzenleöğesini seçin.

  2. Bilgisayar Yapılandırmasıaltındaki konsol ağacında, Tercihler klasörünü genişletin ve ardından Windows Ayarları klasörünü genişletin.

  3. Kayıt Defteri düğümüne sağ tıklayın, ardından Yeniüzerine gelin ve sonra Kayıt Defteri Öğesiseçin.

    Grup İlkesi Yönetim Konsolu'ndaki konsol ağacının ekran görüntüsü. Kayıt Defteri kısayol menüleri görünür ve ilk menüde Yeni belirtilmiş durumda.

  4. Yeni Kayıt Defteri Özellikleri iletişim kutusunda aşağıdaki değerleri seçin veya girin:

    • Eylem: Oluştur
    • hive : HKEY_LOCAL_MACHINE
    • Anahtar Yolu: SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
    • Değer adı: SMB1
    • Değer türü: REG_DWORD
    • Değer veri: 0

    Yeni Kayıt Defteri Özellikleri iletişim kutusunun ekran görüntüsü. Değerler eylem, hive, anahtar yolu, ad, tür ve veri alanlarında görünür.

Bu yordam SMBv1 sunucu bileşenlerini devre dışı bırakır. Bu ilkeyi etki alanındaki tüm gerekli iş istasyonlarına, sunuculara ve etki alanı denetleyicilerine uygulamanız gerekir.

Not

 Windows Yönetim Araçları (WMI) filtrelerini belirli işletim sistemlerini dışlamak veya istemci veya sunucu işletim sistemlerini dışlamak için ayarlayabilirsiniz. Daha fazla bilgi için bkz. Grup İlkesi Filtreleme ve GPOiçin WMI Filtreleri Oluşturma .

Önemli

Bazı sistemler SYSVOL klasörüne veya diğer dosya paylaşımlarına erişim gerektirir, ancak SMBv2 veya SMBv3'i desteklemez. Bu tür sistemlere örnek olarak eski Windows sistemleri ile eski Linux ve iş ortağı sistemleri verilebilir. Bu sistemlerdeki etki alanı denetleyicilerinde SMBv1'i devre dışı bırakırken dikkatli olun.

SMBv1 kullanımını denetleme

SMBv1 kullanarak SMB sunucusuna bağlanmaya çalışan istemcileri belirlemek için Windows Server ve Windows istemcilerinde denetimi etkinleştirebilirsiniz. Denetimi etkinleştirmek veya devre dışı bırakmak için Set-SmbServerConfiguration cmdlet'ini kullanın. Denetim durumunu denetlemek için Get-SmbServerConfiguration cmdlet'ini kullanın.

  • Etkinleştirmek:

    Set-SmbServerConfiguration -AuditSmb1Access $true
    
  • Devre Dışı Bırak:

    Set-SmbServerConfiguration -AuditSmb1Access $false
    
  • Algılamak:

    Get-SmbServerConfiguration | Select AuditSmb1Access
    

SMBv1 denetimini etkinleştirdikten sonra erişim olayları için Microsoft-Windows-SMBServer\Audit olay günlüğünü denetleyebilirsiniz. bir istemci bir sunucuya bağlanmak için SMBv1 kullanmayı her denediği zaman, günlükte olay kimliği 3000 olan bir girdi görüntülenir.

Grup İlkesi ayarlarını denetleme

Tüm ayarlar aynı GPO'daysa, Grup İlkesi Yönetimi aşağıdaki ayarları görüntüler:

Grup İlkesi Yönetimi Düzenleyicisi kayıt defterinin ekran görüntüsü. Üç öğe görünür: DependOnService, SMB1 ve Start.

İlkeyi test edin ve doğrulayın

Grup İlkesi Yönetim Konsolu'ndaki yapılandırma adımlarını tamamladıktan sonra, Grup İlkesi'ne güncelleştirmeleri ayarlarına uygulaması için zaman verin. Test için gerekirse, bir komut isteminde gpupdate /force çalıştırın ve kayıt defteri ayarlarının doğru uygulandığından emin olmak için hedef bilgisayarları gözden geçirin. SMBv2 ve SMBv3'ün ortamdaki diğer tüm sistemler için çalıştığından emin olun.

Not

İlkeyi test ettikten sonra hedef sistemleri yeniden başlatın.