Сетевой протокол SMB (Server Message Block) используется для предоставления совместного удаленного доступа к файлам, принтерам и другим устройствам через порт TCP 445. В этой статье мы рассмотрим: какие версии (диалекты) протокола SMB доступны в различных версиях Windows (и как они соотносятся с версиями samba в Linux); как определить версию SMB на вашем компьютере; и как включить/отключить клиент и сервер SMBv1, SMBv2 и SMBv3.
Содержание:
- Версии протокола SMB в Windows
- Как проверить поддерживаемые версии SMB в Windows?
- Вывести используемые версии SMB с помощью Get-SMBConnection
- Об опасности использования SMBv1
- Включение и отключение SMBv1, SMBv2 и SMBv3 в Windows
Версии протокола 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).
Начиная с версии Samba 4.14, по умолчанию используется SMB2.1.
При сетевом взаимодействии по протоколу 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 Server 2016 |
SMB 3.1.1 | SMB 3.02 | SMB 3.0 | SMB 2.1 | SMB 2.0 | SMB 1.0 |
Windows 8.1 , Server 2012 R2 |
SMB 3.02 | SMB 3.02 | SMB 3.0 | SMB 2.1 | SMB 2.0 | SMB 1.0 |
Windows 8 , Server 2012 |
SMB 3.0 | SMB 3.0 | SMB 3.0 | SMB 2.1 | SMB 2.0 | SMB 1.0 |
Windows 7, Server 2008 R2 |
SMB 2.1 | SMB 2.1 | SMB 2.1 | SMB 2.1 | SMB 2.0 | SMB 1.0 |
Windows Vista, Server 2008 |
SMB 2.0 | SMB 2.0 | SMB 2.0 | SMB 2.0 | SMB 2.0 | SMB 1.0 |
Windows XP, 2003 и ниже | SMB 1.0 | SMB 1.0 | SMB 1.0 | SMB 1.0 | SMB 1.0 | SMB 1.0 |
К примеру, при подключении клиентского компьютера с 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 появляется ошибка:
The specified network name is no longer 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:SYSTEMCurrentControlSetServicesLanmanServerParameters | ForEach-Object {Get-ItemProperty $_.pspath}
Если в данной ветке реестра нет параметров с именами 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 (0x0) CHECKPOINT : 0x0 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 (0x0) CHECKPOINT : 0x0 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 можно командой:
$ sudo smbstatus
Чтобы на стороне сервера вывести список используемых клиентами версий протокола 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
События подключения затем можно извлечь из журналов Event Viewer с помощью PowerShell:
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, Mavericks, старые версии 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:SYSTEMCurrentControlSetServicesLanmanServerParameters" SMB1 -Type DWORD -Value 0 –Force
Включить SMBv1 сервер:
Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" 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:SYSTEMCurrentControlSetServicesLanmanServerParameters" SMB2 -Type DWORD -Value 0 -Force
Включить SMBv2 сервер
Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" 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_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters)на через GPO.
Для отключения SMBv2 нужно в этой же ветке установить параметр SMB2=0.
Для отключения SMBv1 клиента нужно распространить такой параметр реестра:
- Key: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesmrxsmb10
- Name: Start
- Type: REG_DWORD
- Value: 4
При отключении SMB 1.0/CIFS File Sharing Support в Windows вы можете столкнуться с ошибкой “0x80070035, не найден сетевой путь”, ошибкой при доступе к общим папкам, и проблемами обнаружения компьютеров в сетевом окружении. В этом случае вместо служба обозревателя компьютеров (Computer Browser) нужно использовать службы обнаружения (линк).
Я давно использую старый XBox как медиацентр (XBMC – XBox Media Center). Приставка у меня совсем старая (а не новая под номером 360), аппаратно модифицированная, с установленной специально оболочкой для работы с медиаконтентом. Играется и показывается очень многое, но для любителей видео с высоким разрешением не подходит – все же машинка старая, и процессор не тянет. Зато есть проигрывание видео/аудио с компакт-дисков и по сети, поддержка YouTube и Apple Trailers, погода с прогнозом на три дня вперед и другие приятности.
Сетевые возможности, пожалуй, – самые ходовые. На моем рабочем компьютере лежат файлы (домашний видеоархив и результаты монтажа оного, например), а в другой комнате под телевизором расположилась коробочка XBox. Для работы с общими папками (shared folders) по сети используется протокол SMB (Server Message Block) – специальный протокол запросов и ответов между клиентом и сервером. Он не существует сам по себе, а использует возможности NetBIOS поверх TCP/IP, но это уже технические тонкости.
Так вот, пока у меня на рабочем компьютере стояла операционка Windows XP Pro, все было путем – XBox видел общие папки и их содержимое. Стоило мне перейти на Windows 7, как ситуация изменилась – папки виделись, но к их содержимому доступ был закрыт. На экране постоянно появлялся запрос пароля, который все равно не работал.
Чего я только не перепробовал! Чуть операционку не стал переустанавливать. Интеренет полнился различными советами, но все они до поры до времени были как мертвому припарки. Причем, проблема касалась не только подвинутых влядельцев XBox, но и просто обладателей других операционных систем, включая даже Windows XP. И вот, ища что-то совсем другое (но тоже про Windows 7), я наткнулся на совет, который ниже и изложу.
Дело оказалось в неправильном значении MTU (Maximum Transmission Unit), которое в Windows 7 было отдано на откуп операционке, и она выставляла его самостоятельно. Вот это значение нам и предстоит изменить в реестре операционной системы. Все операции надо будет делать в режиме Администратора, а потому
делайте это все на свой страх и риск – если что-то испортится, то я не виноват. Вначале, естественно, прочитайте всю инструкцию до конца, чтобы знать все шаги, которые предстоит совершить.
1. Жмете Пуск (Start) и в строке поиска вы набираете cmd, но не нажимаете Ввод (Enter). Или следуете Пуск (Start) –> Все Программы (All Programs) –> Стандартные (Accessories) –> Коммандная Строка (Command Prompt). По тому или другому пункту в меню “жмете” правой кнопкой мыши и выбираете опцию “Запустить как Администратор (Run As Administrator)”. Выберете “Да (Yes)”, если появится окно UAC (User Account Control).
2. В режиме командной строки набираете (или копируете из буфера обменя) команду:
netsh int tcp set global autotuninglevel=disabled
и жмете Ввод (Enter). Эта команда отключит автоматическую установку значения MTU.
3. Теперь нам надо установить такое значение, которе будет работать. Делать это надо, редактируя реестр, а потому будьте осторожны. Запускаете regedit.exe (можно также через строку поиска) опять в режиме Администратора. Ступайте вот по такому пути:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservic esTcpipParametersInterfaces
Там вы увидите один или несколько каталогов/папок с кучей букв и цифр в названии. Вам надо найти тот, где внутри среди параметров есть IP адрес вашего компьютера. Если вы не знаете, как это сделать, то просто выполните следующие шаги для всех непустых найденных каталогов.
4. Правой кнопкой мышки “жмете” по названию выбранного каталога и выбираете пункт меню Редактировать (Edit) –> Создать (New
) –> DWORD (32 bit). Вводите имя “MTU” (заглавными буквами и без кавычек).
5. Теперь, когда новый параметр создан, двойным щелчком выбираете его для редактирования и в открывшемся диалоговом окне указываете значение 5d4 в режиме Hexadecimal (должен быть по умолчанию) или 1492 в режиме Decimal.
6. Сохраняете и повторяете для других каталогов/папок если нужно.
7. На всякий случай перегрузите операционную систему.
После этого у меня все заработало “без шуму, без пыли”. Я не гарантирую, что это обязательно будет работать у всех (в операционке множество настроек, которые я не могу предугадать), но мне приведенное выше решение помогло даже без изменения способа шифрования и при сохранении режима с паролями (отмена паролей предлагалась как вариант решения проблемы).
Так что я продолжаю плавание с Windows 7, которая мне по-прежнему нравится. А вам? 😉
www.levkinblog.com
Как включить и отключить протоколы SMB версии 1, 2 и 3 в Windows и Windows Server
Windows 8 и Windows Server 2012
В Windows 8 и Windows Server 2012 представлен новый командлет Windows PowerShell Set-SMBServerConfiguration. Он позволяет включать или отключать протоколы SMB версии 1, 2 и 3 на сервере.
Примечания. При включении или отключении протокола SMB версии 2 в Windows 8 или Windows Server 2012 также происходит включение или отключение протокола SMB версии 3. Это связано с использованием общего стека для этих протоколов.
После выполнения командлета Set-SMBServerConfiguration не требуется перезагрузка компьютера.
Windows 7, Windows Server 2008 R2, Windows Vista и Windows Server 2008
Чтобы включить или отключить протоколы SMB на SMB-сервере с Windows 7, Windows Server 2008 R2, Windows Vista или Windows Server 2008, воспользуйтесь Windows PowerShell или редактором реестра.
Windows PowerShell 2.0 или более поздняя версия PowerShell
Примечание. После внесения этих изменений компьютер необходимо перезагрузить.
Редактор реестра
Внимание! В статье содержатся сведения об изменении реестра. Перед внесением изменений рекомендуется создать резервную копию реестра. и изучить процедуру его восстановления на случай возникновения проблемы. Дополнительные сведения о создании резервной копии, восстановлении и изменении реестра см. в указанной ниже статье базы знаний Майкрософт.322756 Как создать резервную копию и восстановить реестр в WindowsЧтобы включить или отключить протокол SMB версии 1 на SMB-сервере, настройте следующий раздел реестра:
Подраздел реестра: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParametersЗапись реестра: SMB1
REG_DWORD: 0 = отключено
REG_DWORD: 1 = включено
По умолчанию: 1 = включено
Чтобы включить или отключить протокол SMB версии 2 на SMB-сервере, настройте следующий раздел реестра:
Подраздел реестра:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParametersЗапись реестра: SMB2
REG_DWORD: 0 = отключено
REG_DWORD: 1 = включено
По умолчанию: 1 = включено
bga68.livejournal.com
Включение/отключение протоколов SMB в Windows
Windows 8, 10 и Windows Server 2012, 2016
В Windows 8, 10 и Windows Server 2012, 2016 представлен командлет Windows PowerShell Set-SMBServerConfiguration. Он позволяет включать или отключать протоколы SMB версии 1, 2, 3.
При включении или отключении протокола SMB версии 2 в Windows или Windows Server также происходит включение или отключение протокола SMB версии 3. Это связано с использованием общего стека для этих протоколов.
После выполнения командлета Set-SMBServerConfiguration не требуется перезагрузка компьютера.
Узнать состояние
- Чтобы получить текущее состояние конфигурации протокола SMB-сервера, выполните следующий командлет:
Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol
Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol |
Отключить
- Чтобы отключить протокол версии 1 на сервере, выполните следующий командлет:
Set-SmbServerConfiguration -EnableSMB1Protocol $false
Set-SmbServerConfiguration -EnableSMB1Protocol $false |
- Чтобы отключить протоколы версии 2 и 3 на сервере, выполните следующий командлет:
Set-SmbServerConfiguration -EnableSMB2Protocol $false
Set-SmbServerConfiguration -EnableSMB2Protocol $false |
Включить
- Чтобы включить протокол версии 1 на сервере, выполните следующий командлет:
Set-SmbServerConfiguration -EnableSMB1Protocol $true
Set-SmbServerConfiguration -EnableSMB1Protocol $true |
- Чтобы включить протоколы версии 2 и 3 на сервере, выполните следующий командлет:
Set-SmbServerConfiguration -EnableSMB2Protocol $true
Set-SmbServerConfiguration -EnableSMB2Protocol $true |
Windows 7 и Windows Server 2008 R2
Windows PowerShell 2.0
Чтобы включить или отключить протоколы SMB на сервере с Windows 7, Windows Server 2008 R2, Windows Vista или Windows Server 2008
, воспользуйтесь Windows PowerShell или редактором реестра.
Отключить
- Чтобы отключить протокол версии 1 на сервере, выполните следующий командлет:
Set-ItemProperty -Path «HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters» SMB1 -Type DWORD -Value 0 -Force
Set-ItemProperty -Path «HKLM:SYSTEMCurrentControlSetServicesLanmanServer» -Name DependOnService -Value «SamSS,Srv2»
Set-ItemProperty -Path «HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters» SMB1 -Type DWORD -Value 0 -Force Set-ItemProperty -Path «HKLM:SYSTEMCurrentControlSetServicesLanmanServer» -Name DependOnService -Value «SamSS,Srv2» |
- Чтобы отключить протоколы версии 2 и 3 на
сервере, выполните следующий командлет:
Set-ItemProperty -Path «HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters» SMB2 -Type DWORD -Value 0 -Force
Set-ItemProperty -Path «HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters» SMB2 -Type DWORD -Value 0 -Force |
Включить
- Чтобы включить протокол версии 1 на сервере, выполните следующий командлет:
Set-ItemProperty -Path «HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters» SMB1 -Type DWORD -Value 1 -Force
Set-ItemProperty -Path «HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters» SMB1 -Type DWORD -Value 1 -Force |
- Чтобы включить протоколы версии 2 и 3 на сервере, выполните следующий командлет:
Set-ItemProperty -Path «HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters» SMB2 -Type DWORD -Value 1 -Force
Set-ItemProperty -Path «HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters» SMB2 -Type DWORD -Value 1 -Force |
После внесения этих изменений компьютер необходимо перезагрузить.
Редактор реестра
Сервер
- Чтобы включить или отключить протокол версии 1 на сервере, настройте следующий раздел реестра:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters |
Запись реестра: SMB1
REG_DWORD: 0 = отключено
REG_DWORD: 1 = включено
По умолчанию: 1 = включено
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServer
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServer |
Запись реестра: DependOnService
REG_MULTI_SZ: SamSS,Srv2
По умолчанию: SamSS,Srv
- Чтобы включить или отключить протокол версии 2 на сервере, настройте следующий раздел реестра:
Подраздел реестра:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters |
Запись реестра: SMB2
REG_DWORD: 0 = отключено
REG_DWORD: 1 = включено
По умолчанию: 1 = включено
Клиент
- Как включить и отключить протоколы SMB на клиенте Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows 8 и Windows Server 2012
При включении или отключении протокола SMB версии 2 в Windows 8 или Windows Server 2012 также происходит включение или отключение протокола SMB версии 3. Это связано с использованием общего стека для этих протоколов.
Эти команды следует вводить в командной строке с повышенными привилегиями.
После внесения этих изменений компьютер необходимо перезагрузить.
Отключить
- Чтобы Отключить протокол версии 1 на клиенте, выполните следующие команды:
sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi
sc.exe config mrxsmb10 start= disabled
sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi sc.exe config mrxsmb10 start= disabled |
- Чтобы Отключить протокол версии 2 и 3 на клиенте, выполните следующие команды:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi
sc.exe config mrxsmb20 start= disabled
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi sc.exe config mrxsmb20 start= disabled |
Включить
- Чтобы Включить протокол версии 1 на клиенте, выполните следующие команды:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb10 start= auto
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi sc.exe config mrxsmb10 start= auto |
- Чтобы Включить протокол версии 2 и 3 на клиенте, выполните следующие команды:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb20 start= auto
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi sc.exe config mrxsmb20 start= auto |
Help Microsoft https://support.microsoft.com/ru-ru/help/2696547/how-to-detect-enable-and-disable-smbv1-smbv2-and-smbv3-in-windows-and
goit24.ru
Домашняя сеть в Documents на iPad. Настройка через SMB
В данной инструкции я расскажу, как настроить домашнюю сеть в программе Documents (спасибо одному из читателей за вопрос на эту тему!). То есть я поведаю, как сделать, чтобы Documents видела файлы с вашего персонального компьютера.
Для доступа к файлам ПК мы будем использовать технологию SMB.
SMB (сокр. от англ. Server Message Block) — сетевой протокол прикладного уровня для удалённого доступа к файлам, принтерам и другим сетевым ресурсам, а также для межпроцессного взаимодействия.
Для удобной работы и настройки iPad, iPhone, iPod Touch должны находится в одной Wi-Fi сети с компьютером.
Настройка SMB в Documents
Заходите в настройки программы (иконка в левом верхнем углу). Затем тыкайте раздел “Сеть” и жмите “Добавить аккаунт”.
Выбирайте сервис для хранения “Windows SMB”.
Осталось вбить параметры:
- Название – пишите, что хотите. 🙂
- URL-адрес – смотрите разделы ниже про Mac OS и Windows.
- Домен – не обязательный пункт.
- Логин – логин пользователя на компьютере, который имеет доступ к файлам (см. разделы ниже)
- Пароль – пароль пользователя на компьютере (см. разделы ниже)
Всё, SMB настроено. Теперь можно получать доступ к файлам компьютера буквально в 1 клик и в зависимости от настроек читать их, копировать или даже изменять.
Настройка SMB в Mac OS (OS X)
Откройте Системные настройки и найдите пункт “Общий доступ”.
Далее поставьте галочку напротив пункта “Общий доступ к файлам”.
Если нажать кнопку “Параметры”, должно выскочить окно, в котором галочка нужна напротив пункта: Предоставление общего доступа к файлам и папкам с помощью SMB.
Также укажите какой учётной записи будет предоставлен доступ по SMB (потребуется ввести пароль от неё).
Теперь в окне настройте “Общие папки”. Именно их будет видно в Documents. И пользователей, которые получат доступ к ним.
Настройка SMB в Windows
В Windows самое главное узнать свой IP-адрес. Это можно сделать, нажав клавиши Win+R. Откроется окно программы cmd (командная строка). Там вбейте команду ipconfig (и жмите Enter). Ваша строчка “IPv4 Address”. Именно этот IP надо вбить в Documents.
Логин и пароль можно использовать тот, что вы используете на вход в Windows. Далее необходимо открыть общий доступ к папке, которую вы хотите сделать доступной через SMB.
Правая кнопка мыши на папке. В меню выберите “Свойства”. А затем вкладку “Доступ” и в ней надо нажать кнопку “Общий доступ”.
Далее в списке уже должен быть текущий пользователь. Надо нажать кнопку “Общий доступ”.
Это простой способ, который позволяет добавить папку для SMB. Расширенные настройки под конкретные ситуации нужно искать на специализированных сайтах.
Всем удачи!
ipadstory.ru
Нет доступа к общим папкам на Windows 7
После очередного обновления Windows 10, есть мнение что это Fall Creators Update 1709, у пользователя пропал доступ к общим папкам опубликованным на компьютерах с Widows 7.
В частности, при попытке открыть информационную базу 1С, платформа 1С выдала ошибку:
Вы не можете подключиться к общей папке, так как она небезопасна. Эта общая папка работает по устаревшему протоколу SMB1, который небезопасен и может подвергнуть вашу систему риску атаки.
Вашей системе необходимо использовать SMB2 или более позднюю версию.
Это связано с тем, что в Windows 10 окончательно снята поддержка протокола SMB1 ввиду его уязвимости. Для того чтобы исправить ситуацию необходимо включить поддержку SMB2 на компьютерах с Windows 7.
При включении или отключении протокола SMB версии 2 в Windows 8 или Windows Server 2012 также происходит включение или отключение протокола SMB версии 3. Это связано с использованием общего стека для этих протоколов.
Способ с использованием PowerShell
Для этого способа требуется PowerShell 2.0 или более поздней версии.
Обнаружение:
Get-ItemProperty HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters | ForEach-Object {Get-ItemProperty $_.pspath}
Включение:
Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" SMB2 -Type DWORD -Value 1 –Force
Для безопасности, а опасность заключается в шифровальщиках, распространяемых через общие папки благодаря уязвимости протокола SMB1 — Вы можете отключить протокол SMB1 на ПК с Windows 7.
Обнаружение:
Get-Item HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters | ForEach-Object {Get-ItemProperty $_.pspath}
Конфигурация по умолчанию = Enabled (раздел реестра не создается), значение SMB1 не возвращается
Отключение:
Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" SMB1 -Type DWORD -Value 0 –Force
После внесения этих изменений компьютер необходимо перезагрузить.
Способ с использованием командной строки
Команды следует вводить в командной строке с повышенными привилегиями — с правами администратора.
Обнаружение:
sc.exe query lanmanworkstation
Включение SMB2:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb20 start= auto
Отключение SMB1:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi
sc.exe config mrxsmb20 start= disabled
После внесения этих изменений компьютер необходимо перезагрузить.
Поделиться ссылкой:
Похожее
kazhaev.ru
Боремся с вирусами и инфраструктурой, или отключение SMB v1 / Сервер Молл corporate blog / Habr
В связи с недавной эпидемией шифровальщика WannaCry, эксплуатирующим уязвимость SMB v1, в сети снова появились советы по отключению этого протокола. Более того, Microsoft настоятельно рекомендовала отключить первую версию SMB еще в сентябре 2016 года. Но такое отключение может привести к неожиданным последствиям, вплоть до курьезов: лично сталкивался с компанией, где после борьбы с SMB перестали играть беспроводные колонки Sonos.
Специально для минимизации вероятности «выстрела в ногу» я хочу напомнить об особенностях SMB и подробно рассмотреть, чем грозит непродуманное отключение его старых версий.
SMB (Server Message Block) – сетевой протокол для удаленного доступа к файлам и принтерам. Именно он используется при подключении ресурсов через servernamesharename. Протокол изначально работал поверх NetBIOS, используя порты UDP 137, 138 и TCP 137, 139. С выходом Windows 2000 стал работать напрямую, используя порт TCP 445. SMB используется также для входа в домен Active Directory и работы в нем.
Помимо удаленного доступа к ресурсам протокол используется еще и для межпроцессорного взаимодействия через «именованные потоки» – named pipes. Обращение к процессу производится по пути .pipename.
Первая версия протокола, также известная как CIFS (Common Internet File System), была создана еще в 1980-х годах, а вот вторая версия появилась только с Windows Vista, в 2006. Третья версия протокола вышла с Windows 8. Параллельно с Microsoft протокол создавался и обновлялся в его открытой имплементации Samba.
В каждой новой версии протокола добавлялись разного рода улучшения, направленные на увеличение быстродействия, безопасности и поддержки новых функций. Но при этом оставалась поддержка старых протоколов для совместимости. Разумеется, в старых версиях было и есть достаточно уязвимостей, одной из которых и пользуется WannaCry.
Под спойлером вы найдете сводную таблицу изменений в версиях SMB.
Версия | Операционная система | Добавлено, по сравнению с предыдущей версией |
SMB 2.0 | Windows Vista/2008 | Изменилось количество команд протокола со 100+ до 19 |
Возможность «конвейерной» работы – отправки дополнительных запросов до получения ответа на предыдущий | ||
Поддержка символьных ссылок | ||
Подпись сообщений HMAC SHA256 вместо MD5 | ||
Увеличение кэша и блоков записичтения | ||
SMB 2.1 | Windows 7/2008R2 | Улучшение производительности |
Поддержка большего значения MTU | ||
Поддержка службы BranchCache – механизм, кэширующий запросы в глобальную сеть в локальной сети | ||
SMB 3.0 | Windows 8/2012 | Возможность построения прозрачного отказоустойчивого кластера с распределением нагрузки |
Поддержка прямого доступа к памяти (RDMA) | ||
Управление посредством командлетов Powershell | ||
Поддержка VSS | ||
Подпись AES–CMAC | ||
Шифрование AES–CCM | ||
Возможность использовать сетевые папки для хранения виртуальных машин HyperV | ||
Возможность использовать сетевые папки для хранения баз Microsoft SQL | ||
SMB 3.02 | Windows 8.1/2012R2 | Улучшения безопасности и быстродействия |
Автоматическая балансировка в кластере | ||
SMB 3.1.1 | Windows 10/2016 | Поддержка шифрования AES–GCM |
Проверка целостности до аутентификации с использованием хеша SHA512 | ||
Обязательные безопасные «переговоры» при работе с клиентами SMB 2.x и выше |
Посмотреть используемую в текущий момент версию протокола довольно просто, используем для этого командлет Get–SmbConnection:
Вывод командлета при открытых сетевых ресурсах на серверах с разной версией Windows.
Из вывода видно, что клиент, поддерживающий все версии протокола, использует для подключения максимально возможную версию из поддерживаемых сервером. Разумеется, если клиент поддерживает только старую версию протокола, а на сервере она будет отключена – соединение установлено не будет. Включить или выключить поддержку старых версий в современных системах Windows можно при помощи командлета Set–SmbServerConfiguration, а посмотреть состояние так:
Get–SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol
Выключаем SMBv1 на сервере с Windows 2012 R2.
Результат при подключении с Windows 2003.
Таким образом, при отключении старого, уязвимого протокола можно лишиться работоспособности сети со старыми клиентами. При этом помимо Windows XP и 2003 SMB v1 используется и в ряде программных и аппаратных решений (например NAS на GNULinux, использующий старую версию samba).
Под спойлером приведу список производителей и продуктов, которые полностью или частично перестанут работать при отключении SMB v1.
Производитель | Продукт | Комментарий |
Barracuda | SSL VPN | |
Web Security Gateway backups | ||
Canon | Сканирование на сетевой ресурс | |
Cisco | WSA/WSAv | |
WAAS | Версии 5.0 и старше | |
F5 | RDP client gateway | |
Microsoft Exchange Proxy | ||
Forcepoint (Raytheon) | «Некоторые продукты» | |
HPE | ArcSight Legacy Unified Connector | Старые версии |
IBM | NetServer | Версия V7R2 и старше |
QRadar Vulnerability Manager | Версии 7.2.x и старше | |
Lexmark | МФУ, сканирование на сетевой ресурс | Прошивки Firmware eSF 2.x и eSF 3.x |
Linux Kernel | Клиент CIFS | С 2.5.42 до 3.5.x |
McAfee | Web Gateway | |
Microsoft | Windows | XP/2003 и старше |
MYOB | Accountants | |
NetApp | ONTAP | Версии до 9.1 |
NetGear | ReadyNAS | |
Oracle | Solaris | 11.3 и старше |
Pulse Secure | PCS | 8.1R9/8.2R4 и старше |
PPS | 5.1R9/5.3R4 и старше | |
QNAP | Все устройства хранения | Прошивка старше 4.1 |
RedHat | RHEL | Версии до 7.2 |
Ricoh | МФУ, сканирование на сетевой ресурс | Кроме ряда моделей |
RSA | Authentication Manager Server | |
Samba | Samba | Старше 3.5 |
Sonos | Беспроводные колонки | |
Sophos | Sophos UTM | |
Sophos XG firewall | ||
Sophos Web Appliance | ||
SUSE | SLES | 11 и старше |
Synology | Diskstation Manager | Только управление |
Thomson Reuters | CS Professional Suite | |
Tintri | Tintri OS, Tintri Global Center | |
VMware | Vcenter | |
ESXi | Старше 6.0 | |
Worldox | GX3 DMS | |
Xerox | МФУ, сканирование на сетевой ресурс | Прошивки без ConnectKey Firmware |
Список взят с сайта Microsoft, где он регулярно пополняется.
Перечень продуктов, использующих старую версию протокола, достаточно велик – перед отключением SMB v1 обязательно нужно подумать о последствиях.
Если программ и устройств, использующих SMB v1 в сети нет, то, конечно, старый протокол лучше отключить. При этом если выключение на SMB сервере Windows 8/2012 производится при помощи командлета Powershell, то для Windows 7/2008 понадобится правка реестра. Это можно сделать тоже при помощи Powershell:
Set–ItemProperty –Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" SMB1 –Type DWORD –Value 0 –Force
Или любым другим удобным способом. При этом для применения изменений понадобится перезагрузка.
Для отключения поддержки SMB v1 на клиенте достаточно остановить отвечающую за его работу службу и поправить зависимости службы lanmanworkstation. Это можно сделать следующими командами:
sc.exe config lanmanworkstation depend=bowser/mrxsmb20/nsi
sc.exe config mrxsmb10 start=disabled
Для удобства отключения протокола по всей сети удобно использовать групповые политики, в частности Group Policy Preferences. С помощью них можно удобно работать с реестром.
Создание элемента реестра через групповые политики.
Чтобы отключить протокол на сервере, достаточно создать следующий параметр:
Создание параметра реестра для отключения SMB v1 на сервере через групповые политики.
Для отключения поддержки SMB v1 на клиентах понадобится изменить значение двух параметров.
Сначала отключим службу протокола SMB v1:
Обновляем один из параметров.
Потом поправим зависимость службы LanmanWorkstation, чтоб она не зависела от SMB v1:
И заменяем другой.
После применения групповой политики необходимо перезагрузить компьютеры организации. После перезагрузки SMB v1 перестанет использоваться.
Как ни странно, эта старая заповедь не всегда полезна – в редко обновляемой инфраструктуре могут завестись шифровальщики и трояны. Тем не менее, неаккуратное отключение и обновление служб могут парализовать работу организации не хуже вирусов.
Расскажите, а вы уже отключили у себя SMB первой версии? Много было жертв?
habr.com
Как настроить smb на Windows 7
Настройка доступа к Windows 7
Windows 10 & 7 Shared Folder SMB
วิธี Disable SMB in windows 7 (Regedit)
Основы работы с SMB. Доступ к папке с другого компьютера
Как отключить Smbv1 через Windows PowerShell. Защитить компьютер от WannaCry WINDOWS 7
Как настроить драйвер для сканера-hp2400 на виндовс7
Как сделать общую папку в linux, настройка samba
Настройка локальной сети между Ubuntu Linux и Windows для файлового обмена
How to setup SMB scanning on windows 7 or Vista for Bizhub C360.avi
SMB протокол в windows NT, использование настройка и управление
Также смотрите:
- Изменить иконку приложения Windows
- Namebench 1 3 1 Windows как пользоваться
- Удалил языковую панель Windows 7
- Универсальный образ Windows xp acronis как создать
- 4 способа установить Windows 7 с флешки
- Как переустановить Windows 7 iso
- Windows modules installer worker как удалить
- Как быстро удалить папку Windows old
- Где найти защитник Windows
- Windows 10 как вернуть старый пуск
- Как установить винду Windows на ноутбуке
- В колонках посторонний шум Windows 10
- Не хочу устанавливать Windows 10
- Как отключить Windows boot acer aspire 5560
- Как восстановить антивирус касперского после переустановки Windows
Главная »
Клипы »
Как настроить smb на Windows 7
windows-usb.ru
SMB (Server Message Block) — один из превосходных протоколов для обмена файлами в локальной сети. В 1998 году Microsoft переименовала этот протокол в CIFS (ранее известный как SMB, но был переименован в CIFS (Common Internet File System)). С тех пор он был известен как SMB / CIFS во многих местах, последние версии SMB / CIFS имеют встроенную поддержку жестких и символических ссылок, файлы большего размера, и у нас даже есть аутентификация и безопасная передача файлов с использованием криптографических протоколов. Samba — это бесплатная реализация протокола Windows SMB / CIFS, поэтому у нас будет без проблем совместимость между системами Microsoft и операционными системами Linux и Unix. Сегодня в RedesZone мы объясним, как включить или отключить различные протоколы SMBv1,
Характеристики SMB / CIFS в разных версиях
SMB — это сетевой протокол, который позволяет нам обмениваться файлами, папками и принтерами по локальной сети между различными операционными системами, включая Windows, Linux, MacOS и любую операционную систему Unix, которая включает Samba. Этот протокол находится на уровне приложений, а ниже он использует TCP-порт 445, поэтому передача данных надежна, поскольку в случае возникновения проблемы происходит повторная передача данных. С момента появления SMB / CIFS и до настоящего времени у нас есть несколько версий, которые включают улучшения в работе, а также в безопасности протокола, однако не все серверы, работающие с SMB / CIFS, используют последние версии протокола. , поэтому мы можем столкнуться с неожиданными сбоями при попытке подключиться к локальному SMB-серверу.
Доступ к ресурсам SMB / CIFS может осуществляться посредством аутентификации с помощью локальных пользователей, посредством аутентификации на основе сервера RADIUS или LDAP и, конечно же, посредством аутентификации Active Directory. На уровне конфигурации мы могли бы настроить сервер, чтобы избежать использования нулевых паролей, мы также могли бы создать гостевые учетные записи, которые разрешат доступ к определенным ресурсам без какого-либо типа аутентификации. Другие особенности SMB / CIFS заключаются в том, что мы можем включить поддержку расширенных атрибутов OS / 2 в общем ресурсе, а также сохранить эти атрибуты DOS, если мы используем операционные системы Microsoft. Конечно, мы можем установить маску для создания файлов, а также каталогов, чтобы файлы или папки, которые мы собираемся создать, имели определенные разрешения.
Что касается производительности SMB / CIFS, мы можем включить асинхронный ввод-вывод, чтобы получить лучшую скорость чтения и записи в ресурсах Samba, более того, его можно было использовать только для файлов, размер которых превышает размер, определенный в конфигурации сервера. При настройке сервера SMB / CIFS очень важна используемая версия как на сервере, так и на клиенте. На уровне конфигурации мы можем установить различные параметры, чтобы установить максимальный поддерживаемый протокол уровня сервера, а также минимальный протокол уровня сервера, чтобы обеспечить наилучшую безопасность для клиентов. Например, очень безопасная установка должна поддерживать только протокол SMB3, однако у нас могут быть проблемы с некоторыми клиентами, которые поддерживают только SMB2,
PME / CIFS версия 1
Первая версия этого протокола родилась в 1983 году и была построена с использованием Microsoft NetBIOS, однако в более поздних версиях NetBIOS больше не использовался. Все более старые версии Microsoft Windows используют протокол SMBv1, однако в более новых версиях Windows 10 и Windows Server протокол SMBv1 не установлен в операционной системе по соображениям безопасности, поскольку этот протокол не работает. не рекомендуется использовать. Например, Windows Server 2016 и более поздние версии и Windows 10 Fall Creators Update не включают эту версию по умолчанию.
Также верно, что некоторые маршрутизаторы все еще используют первую версию протокола на своих серверах SMB / CIFS, в этом случае мало или ничего нельзя сделать, чтобы настроить его с более высокими версиями, так как это зависит от производителя в подавляющем большинстве случаев. . чехол. дело. Например, если у вас есть сторонняя прошивка, такая как OpenWRT или DD-WRT, вы можете отключить этот протокол SMBv1 и включить последние версии, потому что программное обеспечение в прошивке поддерживает его.
PME / CIFS версия 2
Microsoft выпустила версию SMBv2 для Windows Vista в 2006 году и для Windows Server 2008. Хотя этот протокол является частным, вся его спецификация была выпущена, чтобы позволить программам, таким как Samba для Linux и Unix, использовать его и взаимодействовать с различными операционными системами. В противном случае только операционные системы Windows могли обмениваться информацией друг с другом.
SMB2 — это большое изменение по сравнению с первой версией как в работе, так и в безопасности. SMB2 сокращает установление соединения по сравнению с SMB1.0, уменьшая количество команд и подкоманд, кроме того, он позволяет отправлять дополнительные запросы до получения ответа на предыдущий запрос, экономя время и повышая скорость, когда у нас большие задержки в соединениях , или когда мы хотим добиться максимальной производительности. Другими очень важными опциями являются возможность объединения нескольких действий в один запрос, что сокращает объем передаваемой информации. SMB 2.0 объединяет ряд идентификаторов, чтобы избежать повторного подключения с нуля в случае кратковременного сбоя сети, таким образом нам не придется восстанавливать связь.
Эта новая версия SMB 2.0 поддерживает символические ссылки, кэширование, подписывание сообщений с помощью HMAC-SHA256 и лучшую масштабируемость для одновременного использования нескольких пользователей на одном сервере, кроме того, она также помогает увеличить количество общих ресурсов и файлов, открытых сервером. . В то время как SMBv1 использует 16-битный размер данных, а максимальный размер блока составляет 64 КБ, в SMB2 для хранения используется 32- или 64-битный формат, что означает, что в сверхбыстрых сетевых соединениях, таких как гигабитные, мультигигабитные или 10G-сети, передача файлов намного быстрее при отправке очень больших файлов.
В RedesZone мы смогли достичь скорости 1,2 Гбит / с в сети 10G с использованием SMB2, с NAS-сервером QNAP TS-1277 с хранилищем SSD, а на исходном ПК у нас также было хранилище SSD, потому что хранилище Традиционные жесткие диски не поддерживают такие высокие скорости, если мы не используем некоторый RAID из многих дисков.
Windows Vista и Windows Server 2008 и более поздние операционные системы используют SMB2 по умолчанию, однако вы все равно можете встретить SMB1 на некоторых компьютерах, поэтому вам может потребоваться включить его специально для подключения к этим более старым серверам. Наконец, SMB 2.1, представленный в Windows 7 и Windows Server 2008 R2, еще больше повысил производительность за счет нового механизма гибкой блокировки.
PME / CIFS версия 3
Эта версия SMB 3.0 ранее называлась SMB 2.2, она была представлена в Windows 8 и Windows Server 2012 с некоторыми очень важными новыми изменениями, направленными на добавление новых функций и повышение производительности SMB2 в виртуализированных центрах обработки данных. Некоторые из внесенных изменений заключались в следующем:
- SMB Direct Protocol: это позволяет использовать SMB для прямого доступа к удаленной памяти RDMA, любой сервер с этой версией включает эту функцию для значительного повышения производительности.
- Многоканальный SMB: эта функция позволяет нам устанавливать несколько подключений за сеанс SMB, максимально усиливать связь и сжимать локальную сеть, в которой мы запускаем сервер и клиентов.
- Полностью прозрачный наклон.
Однако наиболее важной функцией является аутентификация пользователя в SMB, теперь она полностью зашифрована, прежде чем она всегда будет выполняться в виде открытого текста, чтобы злоумышленник мог установить сетевой сниффер и захват учетных данных пользователя. Благодаря этому аутентификация выполняется безопасно. Возможность иметь сквозное шифрование с помощью AES также была включена для шифрования или шифрования передачи файлов и папок. Таким образом, с SMB 3.0 у нас есть две возможности конфигурации:
- Безопасная аутентификация с шифрованием и передачей файлов и папок в незашифрованном виде.
- Аутентификация и обмен файлами и папками с симметричным шифрованием, это обеспечит нам максимальную безопасность, но производительность может быть снижена.
Если сервер SMB не поддерживает AES-NI в своем процессоре, вполне вероятно, что производительность, которую мы получаем при передаче файлов и папок, действительно низкая, поэтому настоятельно рекомендуется иметь мощный процессор с механизмом аппаратного шифрования. В настоящее время все процессоры с 2015 года используют эту технологию, но вы должны учитывать это в ее технических характеристиках.
Помимо SMB версии 3.0, SMB версии 3.0.2 также был представлен в Windows 8.1 и Windows Server 2012 R2, улучшая функциональность и производительность. Кроме того, в этих операционных системах уже можно отключить SMB версии 1.0 для повышения безопасности, поскольку во время подключения клиенты могут согласовывать, какой протокол SMB использовать.
Наконец, Microsoft представила SMB версии 3.1.1 в Windows 10 и Windows Server 2016 и более поздних версиях. Эта новая версия включает симметричное шифрование AES-128-GCM для обеспечения максимальной безопасности и наилучшей производительности чтения и записи, у нас также есть возможность настроить режим шифрования CCM. В дополнение к этому, он реализует предварительную проверку целостности с использованием хэша SHA2-512, одного из самых безопасных на сегодняшний день. Наконец, эта версия SMB 3.1.1 заставляет согласовывать клиентов, использующих SMB 2.0 или выше, с безопасностью, то есть аутентификацией с шифрованием.
Включение или отключение различных протоколов SMB в Windows
В настоящее время, если мы используем последние версии операционной системы Windows, SMB версии 1.0 по умолчанию отключен в целях безопасности, поскольку это протокол, который в настоящее время не считается безопасным, необходимо, чтобы вы использовали SMB 2.0 или выше, чтобы избежать безопасности. вопросы. Однако было бы целесообразно проверить, включены ли у нас разные протоколы, чтобы знать, какие из них нам нужно включить или отключить.
Затем мы объясним вам, как обнаруживать, деактивировать или активировать различные версии Samba. Первое, что нам нужно сделать, это нажать кнопку «Windows», а затем выполнить поиск по запросу « Powershell «Делаем щелчок правой кнопкой мыши и» выполнять как администратор .
SMBv1 как клиент, так и сервер
Если мы хотим включить или отключить поддержку SMBv1 на нашем компьютере, сначала нам нужно проверить, включили ли мы ее или нет.
Обнаружить:
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Для активации протокола SMBv1 (не рекомендуется из соображений безопасности) необходимо поставить:
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Чтобы отключить его:
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
SMBv2 / SMB3 как клиент, так и сервер
Если мы хотим включить или отключить поддержку SMBv2 или SMBv3 на нашем компьютере, сначала нам нужно проверить, включили ли мы ее или нет.
Get-SmbServerConfiguration | Select EnableSMB2Protocol
Чтобы активировать его:
Set-SmbServerConfiguration -EnableSMB2Protocol $true
Чтобы отключить его:
Set-SmbServerConfiguration -EnableSMB2Protocol $false
Он работает как для версии SMBv2, так и для версии SMBv3, таким образом у нас не будет специальной команды для SMBv3, поскольку она уже встроена в SMBv2, но нам нужно проверить, включено ли шифрование данных, функция, уникальная в последней версии .SMBv3:
Get-SmbServerConfiguration | Select EncryptData
Если указано «False», это означает, что шифрование данных не включено, чтобы включить его, нам нужно выполнить следующую команду:
Set-SmbServerConfiguration -EncryptData $True
Необходимо убедиться, что удаленный сервер поддерживает SMBv3, иначе при попытке доступа к общим ресурсам любого сервера будет отображаться ошибка.
Для работы бывает необходимо подключаться из Linux к общей папке Windows, чтобы забрать или передать файлы. В организациях в 99% используются компьютеры под управлением Windows, поэтому приходится подключаться из Linux к Windows.
Установка Samba клиента в Linux
sudo apt-get update
sudo apt-get install samba-client
sudo apt-get install cifs-utils
Для удобства просмотра сетевого окружения в GUI удобен файловый менеджер Nautilus с дополнением Nautilus-share
sudo apt-get install nautilus nautilus-share
Просмотр общих сетевых ресурсов с помощью командной строки
Вызов клиента Samba для просмотра ресурсов сервера из командной строки:
1) просмотр общих папок, предоставленных в общий доступ по сети для локальных пользователей сервера
smbclient -L //192.168.100.10 -U Username%Password
либо
smbclient -L //servername -U Username%Password
где: 192.168.100.10 — IP адрес сервера, servername — имя сервера, Username — локальный пользователь сервера, Password — пароль пользователя Username
2) просмотр общих папок, предоставленных в общий доступ по сети для пользователей домена
smbclient -L //192.168.100.10 -U Domain/Username%Password
либо
smbclient -L //192.168.100.10 -U Username%Password -W Domain
или по имени
smbclient -L //servername -U Username%Password -W Domain
где Domain — имя домена Active Directory.
Либо (чтобы каждый раз не сообщать пароль в параметрах команды) создать файл ~/.smbcredentials
с данными входа:
username=имя_пользователя
password=пароль
domain=имя_standalone_сервера_или_домена
Тогда, присоединение к сетевому каталогу:
smbclient //server/share --authentication-file=/home/vladimir/.smbcredentials
Подключение к общей папке Samba в интерактивном режиме
То же самое, но без ключа -L, но с параметром — именем общей папки, в данном случае «share»
smbclient //192.168.100.10/share -U Domain/Username%Password
либо
smbclient //servername/share -U Domain/Username%Password
либо
smbclient //servername/share -U Username%Password -W Domain
После успешного входа появится приглашение
smb: >
можно вводить команды, например, help или dir. Интерфейс для управления smbclient с помощью команд напоминает ftp клиент.
Подключение к общим папкам с помощью файлового менеджера Nautilus
После запуска nautilus, выберите в левой части окна «+ Другие места» — откроется просмотр локальной сети, где можно просматривать компьютеры в сети, у которых имеются общие папки.
Решение проблемы с подключением: избавляемся от ошибки -13 Access Denied, либо NT_STATUS_ACCESS_DENIED
Ошибка: CIFS: VFS: cifs_mount failed w/return code = -13"
Данную ошибку можно решить только настройкой прав на сервере. Чтобы открыть общую папку на просмотр, нужны три условия:
1) Пользователь указан среди пользователей сервера или домена (либо доступ типа guest разрешён)
2) Предоставлен (не ограничен) доступ к файловой системе.
3) Дан доступ к конкретной сетевой папке — например, пользователь входит в группу пользователей, к которой дан доступ к общей папке.
Последнее, третье условие самое строгое. Нужно, чтобы Администратор сервера предоставил права пользователю (включил его в группу пользователей общей папки).
Самое интересное, что права Администратора не гарантируют даже ему полных прав доступа к общей папке, т.к. необходимо, чтобы пользователь «Администратор» входил в группу, которой предоставлены права к данной сетевой папке. В этом плане администратор не отличается от группы other/nobody: получит ошибку mount error(13): Permission denied, потому что он не входит в группу пользователей сетевой папки.
Использование команды «mount»
Вместо smbclient
можно использовать команду mount
.
Вначале нужно создать точки монтирования и дать права доступа к папке, например:
sudo mkdir /mnt/cifs
sudo chmod 0777 /mnt/cifs
Примеры использования команды mount с сетевым папками:
sudo mount -t cifs //192.168.20.222/share /mnt/cifs -o user=Vlad,pass=Str0ngPa$$word
ls /mnt/cifs
sudo umount //192.168.20.222/share
ls /mnt/cifs
Либо то же самое с файлом .smbcredentials :
sudo mount -t cifs //192.168.20.222/share /mnt/cifs -o credentials=/home/vladimir/.smbcredentials
Если имя сетевой папки содержит пробелы («share with spaces in name»), нужно вводить следующим образом:
sudo mount -t cifs //192.168.20.222/share with spaces in name /mnt/cifs -o credentials=/home/vladimir/.smbcredentials
Примечание: Чтобы после выполнения команды mount примонтированная папка работала бы не только на чтение, но и на запись в удалённую общую папку, нужно сопоставить удаленного пользователя с локальным пользователем Linux, при помощи параметров uid=1000,gid-1000. Где 1000 — заменить на uid и gid пользователя Linux (выводятся командой id
).
Либо добавить в параметры -o noperm,iocharset=utf8.
В ключах команды можно задать версию Samba, которую используем для подключения. Например,
для SMB2: vers=2.0 или для SMB3 vers=3.0.
Примеры:
sudo mount -t cifs //192.168.20.222/share with spaces in name /mnt/cifs -o user=username,pass=password,uid=1000,gid=1000
sudo mount -t cifs //192.168.20.222/share with spaces in name /mnt/cifs -o credentials=/home/vladimir/.smbcredentials,vers=2.0,noperm
Если заданная версия Samba (например, SMB3) не поддерживается сервером, будет выведена ошибка "mount error(95): Operation not supported."
.
Добавление параметра «nofail» пригодится, когда не известно, включен ли удалённый компьютер (сервер) или нет.
Монтирование сетевой папки во время загрузки (файл /etc/fstab)
Синтаксис строки в /etc/fstab:
//[URL]/[sharename] /mnt/[mountpoint] cifs vers=3.0,credentials=/home/username/.sharelogin,iocharset=utf8,file_mode=0777,dir_mode=0777,uid=[username],gid=[username],nofail 0 0
где:
//[URL]/[sharename]
— имя сервера и сетевой папки
/mnt/[mountpoint]
— точка монтирования на локальном компьютере
vers=3.0
— принудительно установить версию протокола SMB3 (либо vers=2.0 — если клиент и сервер поддерживают лишь SMB2)
credentials=/home/username/.sharelogin
— указание файла с именем пользователя, паролем и доменом для входа
iocharset=utf8
— прямое указание набора символов utf8 (не обязательно, если без него работает)
file_mode=0777,dir_mode=0777
— права доступа при выполнении mount
uid=[username],gid=[username]
— данные uid и gid из результата вывода команды cat /etc/passwd | grep username
nofail
— загрузка ОС будет продолжена даже в случае недоступности сервера URL
Другие параметры:
defaults
— включает опции rw, suid, dev, exec, auto, nouser, and async. Обычно идёт первой, т.к. можно переопределить отдельные опции в строке позднее, например: defaults, noexec, ro — нет исполнения, только чтение.
rw
— очевидно, чтение-запись со стороны клиента (является противоположностью ro — только чтение (защита от записи).
suid
— запрещает использование бит полномочий SUID (Set-User-IDentifier — установка идентификатора владельца) или SGID (Set-Group-IDentifier). Грубо говоря, запрещает передачу части прав при помощи битов SUID и SGID — права должны быть заданы явно.
auto
— используется в /etc/fstab — разрешает автоматическое монтирование сетевых ресурсов при выполнении команды mount -a
noauto
— запрет для fstab монтировать папку автоматически при выполнении команды mount -a.
nouser
— прямой запрет на «ручное» монтирование всеми пользователями, кроме root (не влияет на монтирование во время загрузки ОС)
guest
— для доступа к «гостевым» общим папкам, которые доступны по сети без указания имени пользователя и пароля.
async
— запись данных в сетевую папку производится по мере возможности — значение по умолчанию. Повышает производительность.
sync
— немедленная запись на удаленный компьютер (без использования буферов), не рекомендуется.
noperm
— отключает встроенную в клиент проверку прав. Используют noperm в том случае, если права вроде бы есть, но создать файл на запись, например, программно, не получается, из-за несовместимости в реализации CIFS на клиенте и сервере.
noexec
— прямой запрет запуска исполнимых файлов из сетевой папки
noatime
— не обновлять время создания файла (повышает производительность, но понижает информативность)
nounix
— отключение расширений Linux: не использовать символические ссылки. Используется, чтобы отключить символьные ссылки для обеспечения совместимости с Windows.
mfsymlinks
— ключ для символьных ссылок в стиле Minshall+French. Этот стиль ссылок поддерживается Windows и Mac.
Примеры строки в fstab (где данные входа указаны в файле /etc/.smbcredentials):
//192.168.20.222/share_name rw,auto,nofail,credentials=/etc/.smbcredentials 0 0
Если в /etc/hosts или локальном DNS сервере прописаны имена машин, вместо IP-адреса можно подключать общую папку по имени: //server/share .
Команда для монтирования на основе fstab:
sudo mount -a
Будет перемонтированы все диски на основе /etc/fstab за исключением помеченных параметром «noauto».
Краткая информация по настройки Samba в Windows (протоколы SMB1, SMB2, SMB3)
Samba протокол имеет три версии 1, 2 и 3.
Протокол SMB1 включают, если в организации имеются машины под Windows XP. В остальных случаях стараются отключить SMB1 как небезопасный.
Включение и выключение в Windows 7 и Windows Server 2008r2 производится с помощью реестра, параметры
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesLanmanServerParameters
параметры типа DWORD
SMB1=0
SMB2=1
В Windows 8, Windows 10, 11, Windows Server 2012, 2016 и выше используется командлет PowerShell
Get-SmbServerConfiguration | select EnableSMB1Protocol,EnableSMB2Protocol
Set-SmbServerConfiguration -EnableSMB2Protocol $true
Указанные командлеты не работают в ранний версиях Windows 7 и Windows Server 2008r2.
Также, SMB3 не работает в Win7 — подробнее см. здесь — сайт winitpro.ru.
Ссылки:
- man mount.cifs
Похожие публикации
Для Windows 8 и Windows Server 2012
В Windows 8 и Windows Server 2012 появился новый командлет Windows PowerShell Set-SMBServerConfiguration. Он позволяет включать или отключать протоколы SMB версии 1, 2 и 3 на сервере.
Примечания. При включении или отключении протокола SMB версии 2 в Windows 8 или Windows Server 2012 также происходит включение или отключение протокола SMB версии 3. Это связано с использованием общего стека для этих протоколов.
После выполнения командлета Set-SMBServerConfiguration перезагрузка компьютера не требуется.
SMB версии 1 на SMB-сервере
Обнаружение: | Get-SmbServerConfiguration | Select EnableSMB1Protocol |
Отключение: | Set-SmbServerConfiguration -EnableSMB1Protocol $false |
Включение: | Set-SmbServerConfiguration -EnableSMB1Protocol $true |
Дополнительные сведения см. в статье блога Серверное хранилище Майкрософт.
SMB версий 2 и 3 на SMB-сервере
Обнаружение: | Get-SmbServerConfiguration | Select EnableSMB2Protocol |
Отключение: | Set-SmbServerConfiguration -EnableSMB2Protocol $false |
Включение: | Set-SmbServerConfiguration -EnableSMB2Protocol $true |
Для Windows 7, Windows Server 2008 R2, Windows Vista и Windows Server 2008
Чтобы включить или отключить протоколы SMB на SMB-сервере с Windows 7, Windows Server 2008 R2, Windows Vista или Windows Server 2008, воспользуйтесь Windows PowerShell или редактором реестра.
Способы с использованием PowerShell
Примечание.
Для этого способа требуется PowerShell 2.0 или более поздней версии.
SMB версии 1 на SMB-сервере
Обнаружение:
Get-Item HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters | ForEach-Object {Get-ItemProperty $_.pspath}
Конфигурация по умолчанию = Enabled (раздел реестра не создается), значение SMB1 не возвращается
Отключение:
Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" SMB1 -Type DWORD -Value 0 –Force
Включение:
Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" SMB1 -Type DWORD -Value 1 –Force
Примечание. После внесения этих изменений компьютер необходимо перезагрузить.
Дополнительные сведения см. в статье блога Серверное хранилище Майкрософт.
SMB версий 2 и 3 на SMB-сервере
Обнаружение:
Get-ItemProperty HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters | ForEach-Object {Get-ItemProperty $_.pspath}
Отключение:
Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" SMB2 -Type DWORD -Value 0 –Force
Включение:
Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" SMB2 -Type DWORD -Value 1 –Force
Примечание. После внесения этих изменений компьютер необходимо перезагрузить.
Редактор реестра
Внимание! В статье содержатся сведения об изменении реестра. Перед внесением изменений рекомендуется создать резервную копию реестра. и изучить процедуру его восстановления на случай возникновения проблемы. Дополнительные сведения о создании резервной копии, восстановлении и изменении реестра см. в указанной ниже статье базы знаний Майкрософт.
322756 Как создать резервную копию и восстановить реестр в Windows
Чтобы включить или отключить протокол SMB версии 1 на SMB-сервере, настройте следующий раздел реестра:
Подраздел реестра: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters
Запись реестра: SMB1
REG_DWORD: 0 = отключено
REG_DWORD: 1 = включено
По умолчанию: 1 = включен (не создан раздел реестра)
Чтобы включить или отключить протокол SMB версии 2 на SMB-сервере, настройте следующий раздел реестра:
Подраздел реестра:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters
Запись реестра: SMB2
REG_DWORD: 0 = отключено
REG_DWORD: 1 = включено
По умолчанию: 1 = включен (не создан раздел реестра)
Примечание. После внесения этих изменений компьютер необходимо перезагрузить.
I was attempting to turn off SMBv1 on the few 2008 servers we have left but when I was following the steps in this article I could not find the reg key «HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters» SMB1″ listed. Do
I have to create that key manually then reboot? one box is an SBS 2008 and the other is 2008 standard (both are not R2)
https://support.microsoft.com/en-us/help/2696547/how-to-enable-and-disable-smbv1,-smbv2,-and-smbv3-in-windows-vista,-windows-server-2008,-windows-7,-windows-server-2008-r2,-windows-8,-and-windows-server-2012
Also when I run the Powershell command to check the SMB level it says
«The term ‘get-smbserverconfiguration’ is not recognized» OR
«Get-ItemProperty : Property SMB1 does not exist at path HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanSer
erParameters.
At line:1 char:17
+ Get-ItemProperty <<<< -path «HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters» SMB1
+ CategoryInfo : InvalidArgument: (SMB1:String) [Get-ItemProperty], PSArgumentException
+ FullyQualifiedErrorId : System.Management.Automation.PSArgumentException,Microsoft.PowerShell.Commands.GetItemPr
opertyCommand»
What did I do wrong and how can i successfully disable SMBv1 on those boxes?
Also, will creating this GPO create the key on each PC/Server?
Computer Configuration > Preferences > Windows Settings > Registry:
Action: Update
Hive: HKEY_LOCAL_MACHINE
Key Path: SYSTEMCurrentControlSetServicesLanmanServerParameters
Value name: SMB1
Value Type: REG_DWORD
Value Data: 0 (hexadecimal)
-
Edited by
Monday, May 15, 2017 1:53 PM