Як увімкнути або вимкнути протокол SMB 1.0 у Windows 10/11 та Windows Server?
Протокол доступу до загальних файлів SMB 1.0 (Server Message Block) за замовчуванням вимкнено в останніх версіях Windows 11 та 10, а також у Windows Server 2019/2022. Ця версія протоколу є небезпечною/уразливою, і не рекомендується використовувати її на пристроях у локальній мережі. Windows підтримує більш безпечні версії протоколу SMB (2.x та 3.x).
SMB v1 може бути необхідним, тільки якщо у вашій мережі залишилися застарілі пристрої з Windows XP/2003, старі версії NAS, принтери з підтримкою SMB, пристрої зі старими версіями samba, і т.д. У цій статті ми розглянемо, як увімкнути або вимкнути протокол спільного доступу до файлів SMB 1.0 у Windows.
Зверніть увагу, що протокол SMB складається з двох компонентів, які можна включати/відключати окремо:
- Клієнт SMB0 – необхідний для доступу до спільних папок на інших комп'ютерах
- Сервер SMB 0 – повинен бути увімкнений, якщо ваш комп'ютер використовується як файловий сервер, до якого підключаються інші комп'ютери та пристрої.
Увімкнути/вимкнути SMB 1.0 у Windows 10 та 11
Починаючи з Windows 10 1709, протокол SMB 1 вимкнено в десктопних версіях Windows, але його можна увімкнути з вручну.
Відкрийте командний рядок та перевірте статус компонентів протоколу SMBv1 у Windows за допомогою команди DISM:
Dism/online/Get-Features/format:table | find "SMB1Protocol"
У нашому прикладі видно, що всі компоненти SMBv1 вимкнено:
SMB1Protocol | Disabled SMB1Protocol-Client | Disabled SMB1Protocol-Server | Disabled SMB1Protocol-Deprecation | Disabled
У Windows 10 та 11 також можна керувати компонентами SMB 1 з панелі Windows Features (optionalfeatures.exe). Розгорніть гілку Підтримка
спільного
доступу
до
файлів
SMB 1.0/CIFS (SMB 1.0/CIFS File Sharing Support). Як ви бачите тут також доступні 3 компоненти:
- Клієнт SMB 1.0/CIFS (SMB 1.0/CIFS Client)
- Сервер SMB 1.0/CIFS (SMB 1.0/CIFS Server)
- Автоматичне видалення протоколу SMB0/CIFS (SMB 1.0/CIFS Automatic Removal)
Клієнт SMB v1.0 потрібно встановити, якщо ваш комп'ютер потребує доступу до мережних папок на старих пристроях. Якщо застарілі мережні пристрої повинні писати дані до мережних папок на вашому комп'ютері, або використовувати його спільні мережні принтери, потрібно включити сервер SMB 1.
Ви можете увімкнути клієнт або сервер SMB 1.0 у Windows 10/11 з панелі вікна керування компонентами або за допомогою команд:
Dism /online /Enable-Feature /FeatureName:"SMB1Protocol"
Dism /online /Enable-Feature /FeatureName:"SMB1Protocol-Client"
Dism /online /Enable-Feature /FeatureName:"SMB1Protocol-Server"
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Server
Якщо після включення клієнта SMBv1 він не використовується більше 15 днів, він автоматично вимикається.
Щоб вимкнути SMB1 у Windows, виконайте такі команди DISM:
Dism /online /Disable-Feature /FeatureName:"SMB1Protocol"
Dism /online /Disable-Feature /FeatureName:"SMB1Protocol-Client"
Dism /online /Disable-Feature /FeatureName:"SMB1Protocol-Server"
Або видаліть компоненти SMB1Protocol за допомогою PowerShell:
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -Remove
Якщо ви відключили підтримку SMBv1 клієнта у Windows 10/11, то при доступі до мережної папки на файловому сервері (пристрої), який підтримує лише SMBv1, з'являться помилки:
Ви не можете підключитися до спільної папки, оскільки вона є небезпечною. Ця спільна папка працює за застарілим протоколом SMB1, який небезпечний і може піддати вашу систему ризику атаки. Вашій системі необхідно використовувати SMB2 або пізнішу версію.
Неможливо підключитися до файлу shares because it is not secure. Цей share потрібний для всіх SMB1 protocol, який не є безпечним і необхідним для expose your system to attacks
Ви не можете підключитися до спільної папки, оскільки вона є небезпечною.Ця спільна папка працює за застарілим протоколом SMB1, який небезпечний і може піддати вашу систему ризику атаки. Вашій системі необхідно використовувати SMB2 або пізнішу версію.
Ви не можете підключити до файлу share because it's not secure. Цей share requires the obsolete SMB1 protocol, which is unsafe і could expose свою систему до attack. Ваша система вимагає SMB2 або higher).
Також при відключенні клієнта SMBv1 на комп'ютері перестає працювати Комп'ютер Browser (Обозреватель комп'ютерів), яка використовується застарілим протоколом NetBIOS для виявлення пристроїв у мережі. Для коректного відображення сусідніх комп'ютерів у мережному оточенні Windows потрібно настроїти службу Function Discovery Provider Host (Див. Статтю).
Увімкнення та вимкнення SMB 1.0 у Windows Server 2019/2022
У Windows Server 2019 та 2022 компоненти протоколу SMBv1 також за замовчуванням вимкнено. Увімкнути SMB v1 у цих версіях можна через Server Manager (компонент SMB 1.0/CIFS File Sharing Support) або за допомогою PowerShell.
Перевірити, чи SMB 1.0 у Windows Server за допомогою команди PowerShell:
Щоб встановити клієнт SMB 1, виконайте команду:
Включити підтримку серверної частини SMB 1.0:
Потім перевірте, чи протокол SMB 1 увімкнено в налаштуваннях SMB сервера. Якщо протокол вимкнено, увімкніть його:
Get-SmbServerConfiguration | select EnableSMB1Protocol
Set-SmbServerConfiguration -EnableSMB1Protocol $true -Force
Якщо EnableSMB1Protocol = True, значить цей сервер підтримує SMB 1.0 клеїнтів.
Щоб вимкнути SMBv1 (потрібне перезавантаження), виконайте:
Set-SmbServerConfiguration -EnableSMB1Protocol $false -Force
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Щоб повністю видалити компоненти SMB1 із диска, виконайте:
Uninstall-WindowsFeature -Name FS-SMB1 -Remove
У Windows 7/8 та Windows Server 2008 R2/2012 можна відключати службу та драйвер доступу SMBv1 командами:
sc.exe config lanmanworkstation depend=bowser/mrxsmb20/nsi
sc.exe config mrxsmb10 start=disabled
Аудит доступу до файлового сервера SMB v1.0
Перед вимкненням та повним видаленням драйвера SMB 1.0 на стороні файлового сервера бажано переконатися, що в мережі не залишилося застарілих клієнтів, які використовують для підключення протокол SMB v1.0. Щоб знайти таких клієнтів, потрібно включити аудит доступу до файлового сервера за протоколом SMB1:
Set-SmbServerConfiguration -AuditSmb1Access $true
За кілька днів відкрийте на сервері журнал подій Event Viewer -> Applications and Services -> Microsoft -> Windows -> SMBServer -> Audit і перевірте, чи були спроби доступу до ресурсів сервера за протоколом SMB1.
Get-WinEvent -LogName Microsoft-Windows-SMBServer/Audit
Перевірте, чи є у журналі подія з EventID 3000 від джерела SMBServer, в якому зазначено, що клієнт 192.168.1.10 намагається звернутися до сервера за протоколом SMB1.
SMB1 access Client Address: 192.168.1.10 Guidance: Цей показник визначить, що клієнт застосовується до використання сервера за допомогою SMB1. Для зупинки auditing SMB1 access, використовуючи Windows PowerShell cmdlet Set-SmbServerConfiguration.
Вам потрібно знайти в мережі комп'ютер або пристрій із цією IP адресою. Якщо можливо, оновіть на ньому ОС або прошивку, що до версії підтримує, новіші протоколи SMBv2 або SMBv3. Якщо оновити такий клієнт не вдасться, доведеться увімкнути SMBv1 на вашому файловому сервері.
Щоб знайти у Active Directory усі комп'ютери, на яких включено протокол SMB v1, виконайте команду:
Ця команда отримає список активних комп'ютерів у домені за допомогою командлету Get-ADComputer. Потім за допомогою Invoke-Command здійснить підключення через PowerShell Remoting до кожного комп'ютера і перевірить, чи увімкнений сервіс SMB 1.0.
Якщо ви бажаєте через GPO відключити на комп'ютерах та клієнт SMB 1.0, створіть додатково два параметри реєстру:
- Параметр Start (Типу REG_DWORD) зі значенням 4 у гілці реєстру HKLM\SYSTEM\CurrentControlSet\services\mrxsmb10;
- Параметр DependOnService (Типу REG_MULTI_SZ) зі значенням Bowser, MRxSmb20, NSI (кожне значення з нового рядка) у гілці реєстру HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation.
Залишилось оновити налаштування групових політик на клієнтах та після перезавантаження перевірити, що компоненти SMBv1 повністю відключені.
У групових політиках Security Baseline із Microsoft Security Compliance Toolkit є окремий адміністративний шаблон GPO (файли SecGuide.adml та SecGuide.ADMX), в яких є окремі параметри для відключення сервера та клієнта SMB:
Sergey 13.05.2017 Якраз прочитав до масштабної атаки) Відповісти
Сергій 14.05.2017 Вразливість, що використовується в масовій атаці 12.05.17, була закрита MS ще в оновленні від 14 березня (https://support.microsoft.com/en-us/help/4013389/title).
Але епічність атаки мабуть була настільки висока, що оперативно випустили патчі навіть для Xp/2003: https://blogs.technet.microsoft.com/msrc/2017/05/12/customer-guidance-for-wannacrypt-attacks/ Відповісти
Анонім 14.05.2017 Автор ніби знав про майбутню атаку «wannacry», і вирішив підстрахувати своїх читачів, випустивши статтю.) Причому за 2 дні до вторгнення! Збіг? Відповісти
itpro 16.05.2017 На правах реклами
Чи не хочеш пропустити чергову атаку і зберегти свій офіс? Підписуйся на оновлення на сайті winitpro.ru!
Форма справа Відповісти
Hackod 22.05.2017 Реклама працює.) Відповісти
Сергій 16.05.2017 Та тут не треба було бути семи п'ядей на лобі, щоб це передбачити. Для тих, хто стежить за новинами кібербезпеки, все було заздалегідь зрозуміло. Ось наприклад аналітики Касперського пророкували це ще 25-го квітня (пруф: . Причому саме той сценарій, який стався.)
Dimitry 14.05.2017 За командою:
Get-WindowsOptionalFeature –Online FeatureName SMB1Protocol
Виходить повідомлення:
Get-WindowsOptionalFeature : Неможливо знайти позиційний параметр, який приймає аргумент «FeatureName».
рядок:1 знак:1
+ Get-WindowsOptionalFeature –Online FeatureName SMB1Protocol
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Get-WindowsOptionalFeature], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.Dism.Commands.GetWindowsOptionalFeatureCommand Інші команди пройшли успішно, в чому може бути проблема?
Олександр 15.05.2017 Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Дефіс пропущений перед FeatureName.
Влад 15.05.2017 Здрастуйте! Підкажіть, якщо я на своєму комп'ютері розшарив ресурс, через вкладку «Доступ» то використовується smb, якщо та то якої версії? Є ще команда dism/online/norestart/disable-feature /featurename:SMB1Protocol, вона відключає що сервера та клієнта чи що? Я так зрозумів щоб зараза яка зараз йде небезпечна для клієнта? стара версія клієнта і відключати для сервера не варіант. «Доступ», то мій ПК працює як сервер?
Сергій 15.05.2017 Влад, якщо ти ставиш такі питання, то видно, що ти не дуже в тобі розумієшся (без образ). просту річ - вразливість, яку використовує WannaCry для проникнення, була закрита Майкрософтом _ще в Марте_. Тому треба встановити на вінду все оновлення і жити спокійно далі. І надалі оперативно ставити всі вихідні оновлення.
itpro 16.05.2017 Вразливість на стороні SMB сервераЧи розшарений у вас каталог чи ні, не має значення, у Windows все одно запущений сервіс, що слухає 445 порт. При доступі клієнта до сервера вони узгодять і використовують максимальну версію SMB, що підтримується одночасно клієнтом і сервером (посилання є у статті).
А загалом, Сергій має рацію, все залежить від версії ОС на сервері та прошивок медіапрогравачів. Відповісти
Sasha Odarchuk 16.05.2017 А що робити якщо файлопомийка на Вин2003 а клієнти як ХР так і Вин7.
Він2003 вміє вище SMBv1 ?? Відповісти
itpro 16.05.2017 Мігрувати. Windows 2003 і XP вміють тільки SMBv1 Відповісти
Сергій 16.05.2017 Народ! Ви бодай коментарі почитали. MS ВИПУСТИЛА ПАТЧ ДЛЯ XP І 2003 (посилання є вище).
А загалом itpro має рацію — час уже мігрувати на більш сучасну версію. Відповісти
Sasha Odarchuk 16.05.2017 Про патч знаю.
Мова про те, що на всіх ПК було відключено СМБв1
і лише потім виявилося, що є якийсь файловий сервер на Він2003 і до нього потрібен ВСІМ доступ 🙂 Відповісти
Сергій 16.05.2017 Накотити на сервер патч та жити далі. Чи мова про те, що скрізь відключили клієнтську частину SMB1? Особисто мій погляд відключення клієнтської частини безглуздо, т.к. атаки йдуть через серверну частину (я маю на увазі не саме цю атаку, а взагалі). Хоча можна гіпотетично уявити сценарій атаки через клієнтську частину. Але це треба змусити користувача зайти за якимось посиланням. Тобто. це вже не так просто провернути.
Краще, звичайно, перевстановити сервер на нову ОС. У принципі завдання сисадміну вчасно злазити з ОС, підтримка якої припинилася. Я розумію звичайно, що ліньки 🙂 Ну а що робити? Відповісти
Sasha Odarchuk 16.05.2017 Так, на всіх ПК відключили клієнтську частину SMB1.
Патч на сервері встановлено.
Сергій 16.05.2017 Вмикай назад, оновлюй сервер, потім вимкнеш знову.
Або увімкни і на цьому зупинись. Як я вже написав, щоб атакувати через клієнтську частину потрібно змусити користувача зайти за посиланням.Очевидно, що посилання буде зовнішнє (бо інакше треба всередині мережі розгорнути сервер). Але стандартні користувачі не повинні мати можливість входити на зовнішні посилання по SMB. Ну треба принаймні прагнути до того, щоб це було так 🙂
Сергій 25.05.2017 Чи правильно я розумію, що АНБ використало цю вразливість з часів появи SMBv1. Воно могло підключитися до будь-якого комп'ютера по 445 порту, знаючи його лише IP-адресу. Відповісти
Сергій 25.05.2017 Не «використало», а «могло використовувати».. з часів появи SMBv1. Адже широкої громадськості не відомо коли саме вразливість була знайдена. А може звичайно вразливість була зроблена спеціально як бекдор.
І все-таки не до будь-якого комп'ютера, а потрібно, щоб цей комп'ютер мав білий IP + відкритий порт + SMBv1. Саме це поєднання факторів не є нормальним апріорі. Білий IP звичайно не обов'язковий фактор, але тоді потрібно потрапити в мережу де комп'ютер стоїть, тобто. атака вже не безпосередньо з Інтернету. Відповісти
андрей 29.06.2017 Доброго дня! Підкажіть не працює команда повершелл
Set-SmbServerConfiguration -AuditSmb1Access $true
на 2012 r2 сервері? Відповісти
Валерій 11.03.2020 Доброго дня! Допоможіть вирішити обернену задачу — встановити SMBv1. Після того як зробив дії за вашою статтею і повністю видалити драйвер на одному з серверів знадобився доступ по SMBv1. Установка за допомогою «Додати ролі та компоненти» та виконання в PowerShell команди Install-WindowsFeature FS-SMB1 закінчується помилкою «Не вдалося знайти вихідні файли.» Відповісти
Протокол SMB: визначити, увімкнути або вимкнути певну версію SMB у Windows
Мережевий протокол SMB (Server Message Block) використовується для надання спільного віддаленого доступу до файлів, принтерів та інших пристроїв через порт TCP 445.У цій статті ми розглянемо: які версії (діалекти) протоколу SMB доступні у різних версіях Windows (і як вони співвідносяться з версіями samba у Linux); як визначити версію SMB на вашому комп'ютері; і як увімкнути/вимкнути клієнт та сервер SMBv1, SMBv2 та SMBv3.
Версії протоколу SMB у Windows
Є кілька версій протоколу SMB (діалектів), які послідовно з'являлися у нових версіях Windows:
Для реалізації протоколу SMB у Linux/Unix системах використовується samba. У дужках ми вказали, в яких версіях samba підтримується кожен діалект SMB.
- CIFS - Windows NT 4.0;
- SMB 1.0 - Windows 2000;
- SMB 2.0 — Windows Server 2008 та Windows Vista SP1 (підтримується Samba 3.6);
- SMB 2.1 - Windows Server 2008 R2 та Windows 7 (підтримується в Samba 4.0);
- SMB 3.0 - Windows Server 2012 та Windows 8 (підтримується в Samba 4.2);
- SMB 3.02 - Windows Server 2012 R2 та Windows 8. 1 (не підтримується в Samba);
- SMB 3.1.1 – Windows Server 2016 та Windows 10 (не підтримується Samba).
При мережній взаємодії протоколу SMB між клієнтом і сервером використовується максимальна версія протоколу, що підтримується одночасно і клієнтом, і сервером.
Нижче наведено зведену таблицю, за якою можна визначити версію протоколу SMB, яка вибирається при взаємодії різних версій Windows:
| Операційна система | Win 10, Server 2016 | Windows 8.1, Server 2012 R2 | Windows 8, Server 2012 | Windows 7, Server 2008 R2 | Windows Vista, Server 2008 | Windows XP, Server 2003 та нижче |
Windows 10
|
Наприклад, при підключенні клієнтського комп'ютера з Windows 8.1 до файлового сервера з Windows Server 2016 використовуватиметься протокол SMB 3.0.2.
Згідно з таблицею Windows XP, Windows Server 2003 для доступу до спільних файлів та папок на сервері можуть використовувати лише SMB 1.0, який у нових версіях Windows Server (2012 R2/2016) може бути вимкнений.Таким чином, якщо у вашій інфраструктурі одночасно використовуються комп'ютери з Windows XP (знятої з підтримки), Windows Server 2003/R2 та сервери з Windows Server 2012 R2/2016/2019, застарілі клієнти не зможуть отримати доступ до файлів та папок на файловому сервері нової ОС.
Якщо Windows Server 2016/2012 R2 з вимкненим SMB v1.0 використовується як контролер домену, значить клієнти на Windows XP/Server 2003 не зможуть отримати доступ до каталогів SYSVOL і NETLOGON на контролерах домену і авторизуватися в AD.
На старих клієнтах під час спроби підключитися до ресурсу на файловому сервері з вимкненим SMB v1 з'являється помилка:
Спеціальна мережа name не є тривалим available
Як перевірити підтримувані версії SMB у Windows?
Розглянемо, як визначити, які версії протоколу SMB підтримуються на комп'ютері Windows.
У Windows 10, 8.1 і Windows Server 2019/2016/2012R2 можна перевірити стан різних діалектів SMB протоколу за допомогою PowerShell:
Get-SmbServerConfiguration | select EnableSMB1Protocol,EnableSMB2Protocol
Ця команда повернула, що протокол SMB1 відключений ( EnableSMB1Protocol=False ), а протоколи SMB2 і SMB3 включені ( EnableSMB1Protocol=True ).
Зверніть увагу, що протоколи SMBv3 та SMBv2 тісно пов'язані між собою. Не можна вимкнути або увімкнути окремо SMBv3 або SMBv2. Вони завжди включаються/відключаються лише разом, т.к. використовують один стек.
У Windows 7, Vista, Windows Server 2008 R2/2008:
Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object
Якщо в цій гілці реєстру немає параметрів з іменами SMB1 або SMB2, протоколи SMB1 і SMB2 за промовчанням увімкнені.
Також у цих версіях Windows можна перевірити, які діалекти SMB дозволено використовувати як клієнтів за допомогою команд:
sc.exe query mrxsmb10
SERVICE_NAME: mrxsmb10 TYPE : 2 FILE_SYSTEM_DRIVER STATE : 4 RUNNING (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN) WIN32_EXIT_CODE : 0 (0x0) SERVICE_EXIT_CODE : 0 WAIT_HINT : 0x0
sc.exe query mrxsmb20
SERVICE_NAME: mrxsmb20 TYPE : 2 FILE_SYSTEM_DRIVER STATE : 4 RUNNING (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN) WIN32_EXIT_CODE : 0 (0x0) SERVICE_EXIT_CODE : 0 WAIT_HINT : 0x0
В обох випадках служби запущені (STATE=4 Running). Отже, Windows може підключатися як до SMBv1, так і до SMBv2 серверів.
Вивести використовувані версії SMB за допомогою Get-SMBConnection
Як ми говорили раніше, комп'ютери при взаємодії протоколу SMB використовують максимальну версію, підтримувану як клієнтом, і сервером. Для визначення версії SMB, яка використовується для доступу до віддаленого комп'ютера, можна використовувати командлет PowerShell Get-SMBConnection :
Версія SMB, яка використовується для підключення до віддаленого сервера (ServerName), вказана в стовпці Dialect.
Можна вивести інформацію про версії SMB, які використовуються для доступу до конкретного сервера:
Get-SmbConnection -ServerName servername
Якщо потрібно відобразити, чи використовується шифрування SMB (з'явилося в SMB 3.0), виконайте:
Get-SmbConnection | ft ServerName,ShareName,Dialect,Encrypted,UserName
У Linux вивести список SMB підключення і діалекти в samba можна командою:
Щоб на стороні сервера вивести список версій протоколу SMB, що використовуються клієнтами, і кількість клієнтів, що використовуються ту чи іншу версію протоколу SMB, виконайте команду:
Get-SmbSession | Select-Object -ExpandProperty Dialect | Sort-Object -Unique
У нашому прикладі є 825 клієнтів, підключених до сервера за допомогою SMB 2.1 (Windows 7/Windows Server 2008 R2) та 12 клієнтів SMB 3.02.
За допомогою PowerShell можна увімкнути аудит версій SMB, які використовуються для підключення:
Set-SmbServerConfiguration -AuditSmb1Access $true
Get-WinEvent -LogName Microsoft-Windows-SMBServer/Audit
Про небезпеку використання SMBv1
Останні кілька років Microsoft із міркувань безпеки планомірно відключає застарілий протокол SMB 1.0. Пов'язано це з великою кількістю критичних уразливостей у цьому протоколі (згадайте історію з епідеміями вірусів-шифрувальників wannacrypt та petya, які використовували вразливість саме у протоколі SMBv1). Microsoft та інші IT компанії настійно рекомендують відмовитись від його використання.
Однак вимкнення SMBv1 може викликати проблеми з доступом до загальних файлів та папок на нових версіях Windows 10 (Windows Server 2016/2019) зі застарілих версій клієнтів (Windows XP, Server 2003), сторонніх ОС (Mac OSX 10.8 Mountain Lion, Snow Leopard, Maverick , старі версії Linux), різні старі NAS пристрої.
Якщо у вашій мережі не залишилося legacy пристроїв з підтримкою лише SMBv1, обов'язково відключайте цю версію діалекту у Windows.
Якщо у вашій мережі залишилися клієнти з Windows XP, Windows Server 2003 або інші пристрої, які підтримують лише SMBv1, їх потрібно якнайшвидше оновити або ретельно ізолювати.
Увімкнення та вимкнення SMBv1, SMBv2 та SMBv3 у Windows
Розглянемо способи увімкнення, відключення різних версій SMB у Windows. Ми розглядаємо окремо включення клієнта та сервера SMB (це різні компоненти).
Windows 10, 8.1, Windows Server 2019/2016/2012R2:
Вимкнути клієнт та сервер SMBv1:
Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol
Вимкнути лише SMBv1 сервер:
Set-SmbServerConfiguration -EnableSMB1Protocol $false
Включити клієнт та сервер SMBv1:
Enable-WindowsOptionalFeature -Online -FeatureName smb1protocol
Включити лише SMBv1 сервер:
Set-SmbServerConfiguration -EnableSMB1Protocol $true
Вимкнути сервер SMBv2 та SMBv3:
Set-SmbServerConfiguration -EnableSMB2Protocol $false
Увімкнути сервер SMBv2 та SMBv3:
Set-SmbServerConfiguration -EnableSMB2Protocol $true
Windows 7, Vista, Windows Server 2008 R2/2008:
Вимкнути SMBv1 сервер:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 –Force
Увімкнути SMBv1 сервер:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 1 –Force
Вимкнути SMBv1 клієнт:
sc.exe config lanmanworkstation depend=bowser/mrxsmb20/nsi
sc.exe config mrxsmb10 start=disabled
Включити SMBv1 клієнт:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb10 start=auto
Вимкнути SMBv2 сервер:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 0 -Force
Увімкнути SMBv2 сервер
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 1 –Force
Вимкнути SMBv2 клієнт:
sc.exe config lanmanworkstation depend=bowser/mrxsmb10/nsi
sc.exe config mrxsmb20 start=disabled
Включити SMBv2 клієнт:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb20 start=auto
Для вимкнення сервера SMBv1 на всіх комп'ютерах незалежно від версії Windows можна розповсюдити параметр реєстру типу REG_DWORD з ім'ям SMB1 та значенням 0 (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters)на через GPO.
Для відключення SMBv2 необхідно в цій же гілці встановити параметр SMB2=0.
Для відключення SMBv1 клієнта потрібно поширити такий параметр реєстру:
- Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\mrxsmb10
- Name: Start
- Type: REG_DWORD
- Value: 4
При відключенні SMB 1.0/CIFS File Sharing Support у Windows ви можете зіткнутися з помилкою “0x80070035, не знайдено шлях до мережі”, помилкою при доступі до спільних папок, та проблемами виявлення комп'ютерів у мережному оточенні. У цьому випадку замість служби браузера комп'ютерів (Computer Browser) потрібно використовувати служби виявлення (лінк).
uel 11.12.2014 Колеги, у мене файл-сервер та КД на 2012R2.Машини з XP без проблем підключаються до обох, як через мережеве оточення в провіднику, так і мережним диском. Єдино бувають проблеми якщо комп'ютер із робочої групи намагається лізти на доменні сервери, але там швидше з ОС на комп'ютері косяки (попередній адмін любив всякі збірки). Як це відбувається тоді? Може на XP SMB патчем, яким оновили? Відповісти
itpro 12.12.2014 У залежностях служби Server (LanmanServer) є згадка про SMB 1.x драйвера (як на другому скріншоті)? Відповісти
uel 13.12.2014 Ні (не знаю як скрін приклеїти), там тільки Server SMB 2.xxx Driver Відповісти
Алекс 11.11.2016 з 2003 сервер без будь-яких шаманств кулі на 2012R2 видно та доступні. Відповісти
Adminny 11.05.2017 How to enable and disable SMBv1, SMBv2, and SMBv3 в Windows і Windows Server
https://support.microsoft.com/en-gb/help/2696547 Відповісти
JKQ 03.06.2021 може у вас є інструкція, як захиститися використовуючи smb 1? Відповісти
itpro 09.06.2021 Інструкції немає. Якщо без smbv1 ніяк, потрібно постаратися обмежити кількість хостів із увімкненим SMBv1 сервером до одного. На ньому на WIndows Firewall нарізати правила, що фільтрують доступ по 445 витрат лише обмеженому діапазону довірених пристроїв по IP.
В ідеалі прибрати такий сервер з домену, щоб за наявності зараження не пішло поширюватися доменом. Відповісти
В'ячеслав 14.12.2022 Дивна проблема: є два клієнти Windows 10 (можливо трохи різні) і є два сервери Windows 2012R2 з трохи різним набором Updates.
З сервера1 відкривається кулі C$ клиента1, але з відкривається кулі С$ клиента2.
З сервера2 навпаки: відкривається кулі C$ клиента2, але з відкривається кулі С$ клиента1.
Потрібно щоб кулі з обох серверів відкривалися. Сервери оновлювати не хочеться, чи раптом мало пропаде доступ у інших клієнтів.
Оновити клієнта1 та клієнта2 з Wsus? У нас особливість: з Wsus ставляться лише оновлення безпеки.Додатково знайти файли Upgradе-ів і також ними оновити клієнтів? Ставити поспіль, все, що поставиться? Відповісти
itpro 16.12.2022 Перевірте поточні версії SMB клієнтів та серверів на всіх комп'ютерах. Я думаю, десь якусь версію відключено чи не доступно. Відповісти
Insecure 31.05.2023 У локалці три ПК. На ПК-1 та ПК-2 встановлено оригінальне фінальне складання Windows 10 19045.2965. Після активації ПК-1 ключем Windows 10 education на ньому вилізла помилка 0x80070035.
Під мікроскопом порівнював налаштування на ПК-1 та ПК-2: 1. Get-SMBServerConfiguration - 100% ідентичні працює SMBv2 і вище. SMBv1 вимкнено.
2. NetBIOS через TCP/IP – за замовчуванням на обох.
3. Параметри загального доступу 100% однакові в тому числі для поточного профілю "Приватні". Вимкнено доступ із парольним захистом та увімкнено мережне виявлення.
4. Network security: LAN Manager authentication level – не встановлено для обох.
5. Group Policy AllowInsecureGuestAuth - не задано для обох.
6. Windows Defender Firewall – налаштування ідентичні. Вмикав/вимикав.
7. Налаштування служб (Хост постачальника функції виявлення. Публікація ресурсів виявлення функції. Служба виявлення SSDP. Вузол універсальних PNP-пристроїв. DNS клієнт) — ідентичні. Автоматичний/ручний запуск цих служб змінював – ролі не грає.
8. Скидання мережі в налаштуваннях.
9. З драйверами адаптера на ПК-1 все нормально. до. при дозволі AllowInsecureGuestAuth все працює.
10. Скидав локальні безпекові політики, відновлював за замовчуванням.
11. Чистил DHCP налаштування
ipconfig /release
ipconfig /flushdns
ipconfig /renew
і
ipconfig /flushdns
nbtstat -r
netsh int ip reset
netsh winsock reset 12. Видаляв усі облікові дані Windows та виставляв нові.
13. На ПК-2(Win 10 19045.2965) та ПК-3(Win 7) з доступом до розшарованих на всіх трьох ПК папок у локалці проблем немає. Куди ще копати? До активації все працювало. Відповісти
Євген 18.07.2023 а чи можна оновити версію smb 3.0.2 в 2012r2 до 3.1.1 Відповісти
Євген 18.07.2023 чи можна оновити смб у 2012р2 до 3.1.1 Відповісти
srg 05.03.2024 де в AD на серверах включений smbv1 та smbv2
$serverList = Get-ADComputer-Filter | Select-Object -ExpandProperty Name
# Створення масиву для результатів
$results = @()
# Прохід по кожному серверу
foreach ($server in $serverList) $serverStatus = Test-Connection -ComputerName $server -Count 1 -Quiet
if ($serverStatus) $smbStatus = Invoke-Command -ComputerName $server -ScriptBlock Get-SmbServerConfiguration | Select-Object EnableSMB1Protocol, EnableSMB2Protocol
>
# Додавання результатів до масиву
$results += [PSCustomObject]@ ServerName = $server
IsOnline = $true
SMBv1Enabled = $smbStatus.EnableSMB1Protocol
SMBv2Enabled = $smbStatus.EnableSMB2Protocol
>
>
else # Якщо сервер недоступний
$results += [PSCustomObject]@ ServerName = $server
IsOnline = $false
SMBv1Enabled = $null
SMBv2Enabled = $null
>
>
>
# Виведення результатів
$results | Format-Table -AutoSize
# Збереження результатів у CSV-файлі
$results | Export-Csv -Path "C:\SMB_Status.csv" -NoTypeInformation Відповісти