Resetting smb shares на телевизоре что значит

Обновлено: 28.04.2024

В этой статье описывается, как включить и отключить протокол SMB версии 1 (SMBv1), SMB версии 2 (SMB) и SMB версии 3 (SMBv3) на клиентских и серверных компонентах SMB.

Хотя отключение или удаление SMBv1 может вызвать некоторые проблемы совместимости со старыми компьютерами или программами, SMBv1 имеет существенные уязвимости, и мы настоятельно рекомендуем не использовать ее.

Отключение SMB или SMBv3 для устранения неполадок

Мы рекомендуем включить протоколы SMB 2.0 и SMBv3, но может оказаться полезным временно отключить их для устранения неполадок. Дополнительные сведения см. в статье как определить состояние, включить и отключить протоколы SMB на сервере SMB.

в Windows 10, Windows 8.1, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 и Windows Server 2012, отключение SMBv3 деактивирует следующие функциональные возможности:

  • Прозрачная отработка отказа — клиенты повторно подключаются без прерывания узлов кластера во время обслуживания или отработки отказа
  • Scale Out одновременный доступ к общим данным на всех узлах кластеров файлов
  • Многоканальное агрегирование пропускной способности сети и отказоустойчивости при наличии нескольких путей между клиентом и сервером
  • SMB Direct — добавляет поддержку сети RDMA для обеспечения высокой производительности с низкой задержкой и низким использованием ЦП.
  • Шифрование — обеспечивает сквозное шифрование и защищает от перехвата в ненадежных сетях.
  • Аренда каталога — улучшает время отклика приложений в филиалах за счет кэширования
  • Оптимизация производительности — оптимизация для небольшого случайного чтения и записи ввода-вывода

в Windows 7 и Windows Server 2008 R2 отключение 2.0 отключает следующие функции:

протокол smb был впервые появился в Windows Vista и Windows Server 2008, а протокол SMBv3 появился в Windows 8 и Windows Server 2012. Дополнительные сведения о функциях SMB и SMBv3 см. в следующих статьях:

Удаление SMBv1

вот как можно удалить SMBv1 в Windows 10, Windows 8.1, Windows Server 2019, Windows Server 2016 и Windows 2012 R2.

Методы PowerShell

Ниже приведены инструкции по обнаружению, отключению и включению SMBv1 клиента и сервера с помощью команд PowerShell.

Компьютер будет перезагружен после выполнения команд PowerShell для отключения или включения SMBv1.

Windows Server 2012 Windows Server 2012 R2, Windows Server 2016, Windows Server 2019: диспетчер сервера метод

Диспетчер сервера — метод панели мониторинга

чтобы удалить SMBv1 с сервера Windows:

  1. На диспетчер сервера панели мониторинга сервера, на котором нужно удалить SMBv1, в разделе Настройка этого локального серверавыберите Добавить роли и компоненты.
  2. На странице перед началом работы выберите Запуск мастера удаления ролей и компонентов, а затем на следующей странице нажмите кнопку Далее.
  3. На странице Выбор целевого сервера в разделе пул серверовустановите флажок Сервер, для которого требуется удалить компонент, и нажмите кнопку Далее.
  4. На странице Удаление ролей сервера нажмите кнопку Далее.
  5. На странице Удаление компонентов снимите флажок для поддержки общего доступа к файлам SMB 1.0/CIFS и нажмите кнопку Далее.
  6. На странице Подтверждение выборов для удаления убедитесь, что эта функция указана в списке, а затем нажмите кнопку Удалить.

Windows 8.1 и Windows 10: метод "установка и удаление программ"

Метод клиента Add-Remove Programs

чтобы отключить SMBv1 для Windows 8.1 и Windows 10:

  1. Откройте Панель управления, выберите раздел Программы и компоненты.
  2. в разделе панель управления главнаявыберите Windows включить или отключить компоненты , чтобы открыть окно функции Windows .
  3. в поле Windows функции прокрутите вниз список, снимите флажок для поддержки общего доступа к файлам SMB 1.0/CIFS и нажмите кнопку ок.
  4. после Windows применения изменений на странице подтверждение выберите перезагрузить сейчас.

Как определить состояние, включить и отключить протоколы SMB на сервере SMB

для Windows 8.1, Windows Server 2012, Windows Server 2012 R2, Windows 10 и Windows Server 2019

в Windows 8 и Windows Server 2012 появился новый командлет Set-смбсерверконфигуратион Windows PowerShell. Командлет позволяет включать или отключать протоколы SMBv1, SMB и SMBv3 на серверном компоненте.

при включении или отключении протокола smb в Windows 8 или Windows Server 2012 также включается или отключается SMBv3. Это происходит из-за того, что эти протоколы используют один и тот же стек.

После запуска командлета Set-смбсерверконфигуратион перезагружать компьютер не требуется.

Начните с установки пакета smbclient.

В Debian, Linux Mint, Ubuntu, Kali Linux и их производных для установки samba выполните команду:

В Arch Linux, BlackArch и их производных выполните команду:

Как в Linux увидеть все компьютеры Windows с совместными ресурсами

Для показа всех совместных сетевых ресурсов Windows выполните команду:

В этой и последующих командах используется флаг -N, который означает не использовать пароль. Если же вы используете пароль, то укажите опцию -U с именем пользователя, пароль нужно будет ввести интерактивно.


В начале идёт имя рабочей группы WORKGROUP. Затем следует список компьютеров. Для тех из них, для которых удаётся получить список сетевых папок, они выводятся.

Как можно увидеть выше, для компьютера \\VYACHESLAV получен список совместно используемых ресурсов, а для компьютера \\HACKWARE-MIAL — нет. При этом если я включал на компьютере \\HACKWARE-MIAL поддержку протокола SMB 1, а при запуске команды указывал хоть какое-то имя пользователя, например:

либо просто запускал smbtree с правами администратора:

то мне удавалось получить список файлов также и для компьютера \\HACKWARE-MIAL.

Как в Linux вывести доступные по сети ресурсы (совместные папки и принтеры Windows)

Предыдущая команда показала нам несколько компьютеров с сетевыми папками. Предположим, меня интересует компьютер \\HACKWARE-MIAL, чтобы вывести его сетевые папки я запускаю команду вида:

в моём случае это:


Кстати, вместо имени компьютера можно указать IP адрес.

В полученном выводе Share и Users являются общими сетевыми папками.

исчезнут, если создать файл /etc/samba/smb.conf.

пропадут, если на компьютере с сетевой папкой включить поддержку протокола SMB1.

Как я уже говорил чуть выше, флаг -N означает не использовать пароль. Если же вы используете пароль, то укажите опцию -U с именем пользователя, пароль нужно будет ввести интерактивно.

Как и для smbtree, для smbclient необязательно использовать sudo, но без sudo для некоторых компьютеров программа срабатывает нормально, а для некоторых завершается ошибкой:

Как подключиться к сетевой папке Windows из Linux

Программа smbclient умеет не только показывать общие ресурсы, но и имеет интерактивный режим, во время которого можно копировать файлы между локальным компьютером и общей папкой, удалять файлы, создавать папки и переходить по каталогам, просматривать содержимое файлов и их свойств и выполнять другие действия в файловой системе совместно используемой сетевой папки.

Кроме интерактивного режима, можно просматривать содержимое сетевых папок и в проводнике Linux — об этом будет рассказано позже, а пока остановимся на подключении в командной строке.

Для входа в интерактивный режим запустите команду вида:

Например, я хочу подключиться к компьютеру //HACKWARE-MIAL/ и выполнить действия с файлами в сетевой папке Share, тогда моя команда следующая:

Если вы хотите, чтобы при подключении была изменена текущая рабочая директория в сетевой папке, то есть чтобы была открыта другая папка, то используйте опцию -D. К примеру, я хочу подключиться к папке NewFolder, тогда команда следующая:

Подключение к SMB папке, требующий авторизации

К примеру, на компьютере //HACKWARE-MIAL/ имеется сетевая папка ShareRestricted, права на просмотр которой есть у пользователя ShareOverlord. Для просмотра шары, защищённой паролем, нужно использовать команду вида:

В моём случае это команда:


Команды SMB в Linux

Доступны следующие интерактивные команды:

Выводит все доступные команды:

Для показа справки по определённой команде, выполните

Переход в другой каталог (смена текущей рабочей директории) на удалённой системе:

Переход в другую директорию на локальной системе:

Удаление файла в шаре:

Имеется псевдоним этой команды:

И ещё одна команда со схожей функцией:

Эта команда рекурсивно удалить все совпавшие с шаблоном имени файлы и директории.

Показ файлов и папок в текущей папке:


Имеется псевдоним этой команды:

И ещё один, даже более короткий псевдоним:

Для повторного скачивания файла:

Для скачивания всех файлов, чьём имя совпадает с шаблоном:

Например, чтобы скачать все файлы с файловым расширением .exe нужно запустить такую команду:

Также имеется команда newer, которая скачивает файлы (mget), которые новее, чем указанный локальный файл. Используется она так:

Выгрузка файла на общую папку:

Следующая команда скопирует локальный файл в шару:

Повторная закачка файла:

Для закачки всех файлов, чьём имя совпадает с шаблоном:

К примеру, чтобы закачать в шару все файлы (из локальной текущей рабочей директории), которые имеют расширение *.cap, нужно запустить команду:


Включение и отключение рекурсии

Можно включать и отключать рекурсивный режим для mget и mput.

Показ всей возможной информации о файле:


В выводимой информации можно увидеть альтернативное (DOS) имя, временные метки (дата создания, доступа, записи и изменения файла), атрибуты.

Копирование файла на сервере:

Создание директории:

Удаление директории:

Удаление файлов

Следующая команда удалит все совпавшие с МАСКОЙ файлы:

Псевдоним команды для удаления файлов:

С помощью команды wdel можно удалить все совпавшие файлы по подстановочным символам:

Переименование файлов:

Ссылки

Создание жёсткой ссылки Windows:

Создание жёсткой ссылки UNIX:

Создание символьной ссылки UNIX:

Выход с сервера:

Вывод истории команд текущей сессии:

Просмотр содержимого текстового файла:

Показ текущей рабочей директории:

Другой вариант показа текущей рабочей директории — это команда cd без аргументов:

Создание и извлечение архивов tar

Программа tar используется для объединения нескольких файлов в один файл. Объединение происходит без сжатия. Для того, чтобы несколько файлов из сетевой папки объединить в архив и скачать на локальную систему запустите команду вида:

К примеру, я хочу скачать файлы all-databases.sql besside.log ChromeSetup.exe из совместной папки и объединить их в архив all.tar, тогда моя команда следующая:

Для установления режимов tar используется команда

Установка таймаута операций:

Таймаут устанавливается в секундах и по умолчанию равен 20.

Установка нового соединения:

Закрытие сессии, выход:

Вывод списка открытых подключений:

Отображение текущего активного подкючения:

Изменение удалённой директории (переход на одну папку выше):

Выполнение команд в локальной системе:

Чтобы команда выполнялась не на удалённой системе, а на локальной, поставьте перед ней ! (восклицательный знак), например^

Автоматическое выполнение команд в сетевой папке Windows

Необязательно каждый раз вводить все команды вручную — вы можете перечислить их через запятую и указать в двойных кавычках с опцией -c, например:

date

22.09.2021

user

itpro

directory

Windows 10, Windows 7, Windows Server 2012 R2, Windows Server 2016

comments

комментариев 7

Сетевой протокол 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 2016Windows 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.02SMB 3.0SMB 2.1SMB 2.0SMB 1.0
Windows 8.1 ,
Server 2012 R2
SMB 3.02SMB 3.02SMB 3.0SMB 2.1SMB 2.0SMB 1.0
Windows 8 ,
Server 2012
SMB 3.0SMB 3.0SMB 3.0SMB 2.1SMB 2.0SMB 1.0
Windows 7,
Server 2008 R2
SMB 2.1SMB 2.1SMB 2.1SMB 2.1SMB 2.0SMB 1.0
Windows Vista,
Server 2008
SMB 2.0SMB 2.0SMB 2.0SMB 2.0SMB 2.0SMB 1.0
Windows XP, 2003 и нижеSMB 1.0SMB 1.0SMB 1.0SMB 1.0SMB 1.0SMB 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 появляется ошибка:

Как проверить поддерживаемые версии SMB в Windows?

Рассмотрим, как определить, какие версии протокола SMB поддерживаются на вашем компьютере Windows.

В Windows 10, 8.1 и Windows Server 2019/2016/2012R2 вы можете проверить состояние различных диалектов SMB протокола с помощью PowerShell:

Get-SmbServerConfiguration | select EnableSMB1Protocol,EnableSMB2Protocol

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 по умолчанию включены.

проверить какие версии smb включены в windows

Также в этих версиях Windows вы можете проверить, какие диалекты SMB разрешено использовать в качестве клиентов с помощью команд:

sc.exe query mrxsmb10

sc.exe query mrxsmb20

В обоих случаях службы запущены ( STATE=4 Running ). Значит Windows может подключаться как к SMBv1, так и к SMBv2 серверам.

Вывести используемые версии SMB с помощью Get-SMBConnection

Как мы говорили раньше, компьютеры при взаимодействии по протоколу SMB используют максимальную версию, поддерживаемую как клиентом, так и сервером. Для определения версии SMB, используемой для доступа к удаленному компьютеру можно использовать командлет PowerShell Get-SMBConnection :

Get-SMBConnection вывести в powershell версии smb, исопльзуемые для подключения

Версия SMB, используемая для подключения к удаленному серверу (ServerName) указана в столбце Dialect.

Можно вывести информацию о версиях SMB, используемых для доступа к конкретному серверу:

Get-SmbConnection -ServerName servername

Если нужно отобразить, используется ли SMB шифрование (появилось в SMB 3.0), выполните:

Get-SmbConnection | ft ServerName,ShareName,Dialect,Encrypted,UserName

Чтобы на стороне сервера вывести список используемых клиентами версий протокола SMB и количество клиентов, используемых ту или иную версию протокола SMB, выполните команду:

Get-SmbSession | Select-Object -ExpandProperty Dialect | Sort-Object -Unique

Get-SmbSession Получить количество клиентов, использующих разные версии SMB

В нашем примере имеется 825 клиентов, подключенных к серверу с помощью SMB 2.1 (Windows 7/Windows Server 2008 R2) и 12 клиентов SMB 3.02.

С помощью PowerShell можно включить аудит версий SMB, используемых для подключения:

Set-SmbServerConfiguration –AuditSmb1Access $true

События подключения затем можно извлечь из журналов Event Viewer:

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

Set-SmbServerConfiguration - powershell отключить SMBv2 и SMBv3

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 сервер в windows 7 через powershell

Включить 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) нужно использовать службы обнаружения (линк).

Включение или отключение протоколов Samba SMB в Windows

SMB (Server Message Block) - один из превосходных протоколов для обмена файлами в локальной сети, в 1998 году Microsoft переименовала этот протокол в CIFS (ранее он назывался SMB, но был переименован в CIFS (Common Internet File System)). . С тех пор он во многих местах известен как SMB / CIFS, последние версии SMB / CIFS включают поддержку жестких и символических ссылок, файлы большего размера, и у нас даже есть аутентификация и безопасная передача файлов с использованием криптографических протоколов. Samba - это бесплатная реализация протокола Windows SMB / CIFS, поэтому у нас будет без проблем совместимость между системами Microsoft и операционными системами на базе Linux и Unix. Сегодня мы собираемся объяснить, как включить или отключить различные протоколы SMBv1,

Характеристики SMB / CIFS в разных версиях

SMB - это сетевой протокол, который позволяет нам обмениваться файлами, папками и принтерами в локальной сети между различными операционными системами, включая Windows, Linux, MacOS и любую операционную систему на основе Unix, которая включает Samba. Этот протокол находится на прикладном уровне, а ниже он использует TCP-порт 445, поэтому передача данных надежна, поскольку в случае проблем происходит повторная передача данных. С момента появления SMB / CIFS и до настоящего времени у нас есть несколько версий, в которых были внесены улучшения в работу, а также в безопасность протокола, однако не все серверы, работающие с SMB / CIFS, используют последние версии. протокол, поэтому мы могли столкнуться с неожиданными сбоями при попытке подключиться к локальному SMB-серверу.

Доступ к ресурсам SMB / CIFS может осуществляться посредством аутентификации с помощью локальных пользователей, с помощью аутентификации на основе RADIUS или LDAP-сервера и, конечно же, с помощью аутентификации в активном каталоге. На уровне конфигурации мы могли бы настроить сервер, чтобы избежать использования нулевых паролей, мы также могли бы создать гостевые учетные записи, которые разрешат доступ к определенным ресурсам без какого-либо типа аутентификации. Другой особенностью SMB / CIFS является то, что мы можем включить поддержку расширенных атрибутов OS / 2 в общем ресурсе, а также сохранить эти атрибуты DOS, если мы используем операционные системы Microsoft. Конечно, мы можем установить маску для создания файлов, а также каталогов, чтобы те файлы или папки, которые мы собираемся создавать, имели определенные разрешения.

Что касается производительности SMB / CIFS, мы можем включить асинхронный ввод-вывод, чтобы достичь лучшей скорости чтения и записи в ресурсах Samba, кроме того, это можно было использовать только для файлов, размер которых превышает размер, определенный в конфигурации сервер. Когда мы собираемся настроить сервер SMB / CIFS, используемая версия очень важна как на сервере, так и на клиенте. На уровне конфигурации мы можем определить различные параметры, чтобы установить максимально поддерживаемый протокол уровня сервера, а также минимальный протокол уровня сервера, чтобы обеспечить максимальную безопасность для клиентов. Например, очень безопасная конфигурация будет поддерживать только протокол SMB3, однако у нас могут возникнуть проблемы с некоторыми клиентами, которые поддерживают только SMB2,

SMB / 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 и активировать последние версии, потому что программное обеспечение, встроенное в прошивку, поддерживает его.

SMB / CIFS версии 2

Microsoft выпустила версию SMBv2 для Windows Vista в 2006 году и в Windows Server 2008. Хотя этот протокол является частным, вся его спецификация была опубликована, чтобы позволить таким программам, как Samba для Linux и Unix, использовать его, а также обеспечить возможность взаимодействия различных операционных систем. . в противном случае только операционные системы Windows могли обмениваться информацией друг с другом.

SMB2 - большое изменение по сравнению с первой версией, как в работе, так и в плане безопасности. SMB2 сокращает установление соединения по сравнению с SMB1.0, уменьшая количество команд и подкоманд, кроме того, он позволяет отправлять дополнительные запросы до того, как поступит ответ на предыдущий запрос, экономя много времени и повышая скорость, когда у нас есть высокая задержка в соединениях, или когда мы хотим добиться максимально возможной производительности. Другими очень важными опциями являются возможность объединения нескольких действий в одном запросе, что сокращает объем передаваемой информации. SMB 2.0 включает в себя ряд идентификаторов, чтобы избежать повторного подключения с нуля в случае кратковременного сбоя сети, таким образом, нам не придется восстанавливать связь.

В 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, еще больше повысил производительность за счет нового механизма гибкой блокировки.

SMB / CIFS версии 3

  • 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 использовать.

Включение или отключение различных протоколов SMB в Windows

В настоящее время, если мы используем последние версии операционной системы Windows, версия SMB 1.0 по умолчанию отключена в целях безопасности, поскольку это протокол, который в настоящее время не считается безопасным, необходимо использовать SMB 2.0 или выше, чтобы избежать безопасности. проблемы. Однако было бы целесообразно проверить, включены ли у нас разные протоколы, чтобы знать, какие из них нам нужно включить или отключить.


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:

Set-SmbServerConfiguration -EncryptData $True Вы должны убедиться, что удаленный сервер поддерживает SMBv3, в противном случае он выдаст вам ошибку при попытке доступа к общим ресурсам любого сервера.

SMB (Server Message Block)
Communications protocol
SMB11.jpg
Purpose protocol
Developer(s) IBM, Microsoft, Intel, 3Com
Introduced 1980 ; 41 years ago ( 1980 )
OSI layer transport,Network Layer,Presentation layer

SMB (англ. Server Message Block ) (Одна из версий называется CIFS (Common Internet File System)) — сетевой протокол прикладного уровня для удаленного доступа к файлам, принтерам, COM-портам и другим сетевым ресурсам, а также для межпроцессного взаимодействия. Протокол использовался в операционных системах Microsoft Windows где был известен как "Microsoft Windows Network" перед последующим внедрением Active Directory. Соответствующими службами в Windows являются LAN Manager Server (для серверного компонента) и LAN Manager Workstation (для клинтского компонента).

Содержание

Особенности

SMB может работать на верхнем слое сетевой сессии (или ниже) несколькими путями:

  • Напрямую через TCP, порт 445;
  • Через NetBIOS API, который в свою очередь может работать несколькими способами:
    • Через UDP, порты 137,138 и TCP, порты 137, 139;
    • С помощью устаревших протоколах, таких как NBF, IPX/SPX;

    SMB "Межпроцессные коммуникации" (англ. Inter-process Communication ) обеспечивает именованные каналы и является одним из первых межпроцессных механизмов, обычно доступных для программистов и предоставляющих средства аутентификации, когда клиент впервые подключается к серверу SMB.

    Некоторые сервисы, которые работают по именованным каналам, такие как те, которые используют реализацию DCE/RPC через SMB от Microsoft, известную как MSRPC через SMB, также позволяют клиентским программам MSRPC выполнять аутентификацию, которая переопределяет авторизацию, предоставляемую сервером SMB, но только в контексте клиентской программы MSRPC, что является дополнительной проверкой подлинности.

    SMB подписи

    SMB подписи: Windows NT 4.0 с пакетом обновления 3 и выше имеют возможность использовать криптографию для цифровой подписи соединений SMB. Официальный термин - "SMB signing". Остальные термины, использующиеся официально: "[SMB] Security Signatures", "SMB sequence numbers", и "SMB Message Signing". SMB подписи могут быть настроены индивидуально для входящих SMB подключений (обрабатываемых службой "LanManServer") и исходящих SMB (обрабатываемых службой "LanManWorkstation"). Настройка по умолчанию в Windows 98 и выше заключается в том, чтобы подписывать исходящие соединения всякий раз, когда сервер также поддерживает это, и возвращаться к SMB без подписи, если обе стороны это допускают. Настройки по умолочанию для контроллеров домена Windows c Windows Server 2003 и выше - не полагаться на входящие подключения. Эта функция также может быть включена с любого сервера под управлением Windows NT 4.0 с пакетом обновления 3 или более поздней. Это защищает от атак типа "Человек посередине" против клиентов, получающих свою политику от контроллеров домена при входе в систему. [Источник 1]

    Конструкция Server Message Block версии 2 (SMB2) направлена на снижение этого ограничения производительности путем объединения сигналов SMB в отдельные пакеты.

    SMB поддерживает уступающую блокировку - особый тип блокирующего механизма - для файлов в целях повышения производительности.

    SMB служит основой для реализации распределенной файловой системы Microsoft Windows.

    История

    В 1996 году, когда Sun Microsystems анонсировала WebNFS, Microsoft запустила инициативу по переименованию SMB в CIFS (Common Internet File System) и добавила дополнительные функции, включая поддержку символьных ссылок, жестких ссылок, большие размеров файлов и первоначальную попытку поддержки прямых соединения через TCP-порт 445, не требуя NetBIOS в качестве транспорта (в основном экспериментальные усилия, которые требуют дальнейшей доработки). Microsoft представила некоторые частичные спецификации в виде Internet-Drafts в IETF, хотя эти представления истекли.

    Проект Samba был создан с целью обратной разработки протокола SMB и внедрения SMB-сервера, чтобы клиенты ПК, работающие с клиентом DEC Pathworks, могли обращаться к файлам на компьютерах SunOS. Из-за важности протокола SMB во взаимодействии с широко распространенной платформой Microsoft Windows, Samba стала популярной бесплатной программной реализацией совместимого SMB клиента и сервера, чтобы позволить операционным системам, отличным от Windows, таким как UNIX-подобные ОС, взаимодействовать с Windows.

    Microsoft представила SMB2 с Windows Vista в 2006 году, а позже улучшила ее в Windows 7 с последующими основными версиями 2.1, 3.0, 3.0.2 и 3.1.1.

    Аналогично, в 2009 году был реализован CIFS/SMB (версии 1.0, 2.0, 2.1 и NFS 3.0), которая предоставила многопротокольную платформу с поддержкой идентификации для сетевого доступа к файлам, используем в OEM-хранилищах, созданных на устройствах на основе Linux/Unix. Платформа может использоваться для традиционных устройств NAS, Cloud Gate и Cloud Caching для обеспечения безопасного доступа к файлам по сети. Аналогичным образом была приобретена EMC Isilon в 2012 году. [Источник 2]

    Visuality Systems Ltd предлагает переносные SMB-клиент и серверные реализации, доступные для встроенных устройств и систем хранения. NQE TM - это встроенная реализация, работающая на различных встроенных устройствах, таких как маршрутизаторы, сканеры, принтеры для смартфонов, телеприставки и т.д., применяемые на любой платформе, отличной от Window, начиная от Linux, VxWorks, Integrity до iOS и Android. В марте 2016 года Visuality Systems выпустила NQ TM Storage - масштабируемое решение для SMB, ориентированное на системы хранения данных. Решение отвечает рыночным требованиям любых систем хранения данных от автономного сервера через NAS до высокопроизводительной кластерной системы.

    Ryussi Technologies разработала высоконадежный стек SMB3 (патентованный) под названием "MoSMB" для Linux, предназначенный для продвинутых решений NAS, включающих все расширенные функции SMB 3.x представленные Microsoft.

    SMB 2.0

    В 2006 году Microsoft представила новую версию протокола (SMB 2.0 или SMB2) с Windows Vista.Хотя протокол запатентован, его спецификация опубликована, чтобы позволить другим системам взаимодействовать с операционными системами Microsoft, использующими новый протокол.

    Протокол SMB1 использует 16-битные размеры данных, что, помимо прочего, ограничивает максимальный размер блока до 64K. SMB2 использует 32 или 64-битные поля хранения и 128 бит в случае файловых дескрипторов, тем самым устраняя предыдущие ограничения на размеры блоков, что повышает производительность при больших передачах файлов по быстрым сетям.

    Windows Vista / Server 2008 и более поздние операционные системы используют SMB2 при общении с другими машинами, также способными использовать SMB2. SMB1 продолжает использоваться для подключения к старым версиям Windows, а также к решениям NAS различных производителей. Samba 3.5 также включает экспериментальную поддержку SMB2. Samba 3.6 полностью поддерживает SMB2, кроме изменения пользовательских квот, используя инструменты управления квотами Windows.

    Когда был представлен SMB2, он принес ряд преимуществ перед SMB1 для сторонних разработчиков протоколов SMB. SMB1, первоначально спроектированный IBM, был спроектирован с обратной стороны, а позже стал частью широкого спектра операционных систем, отличных от Windows, таких как Xenix, OS/2 и VMS (Pathworks). X/Open Company, Ltd. стандартизировал его частично; Он также имел проект стандартов IETF, который истек. SMB2 также относительно чистый разрыв с прошлым. Код Microsoft SMB1 должен работать с большим количеством клиентов и серверов SMB. SMB1 содержит много версий информации для команд (выбор структуры для возврата для конкретного запроса), потому что такие функции, как поддержка Unicode, были установлены позднее. SMB2 включает в себя значительно сниженное тестирование совместимости для исполнителей протокола. Код SMB2 имеет значительно меньшую сложность, поскольку существует гораздо меньшая изменчивость (например, пути кода, не входящие в Юникод, становятся избыточными, поскольку SMB2 требует поддержки Unicode).

    Apple также переходит на SMB2 (из своего собственного протокола Apple Filing Protocol, теперь уже устаревшего) с OS X 10.9. Однако этот переход был сопряжен с проблемами совместимости. Нестандартная поддержка SMB2 появилась на самом деле в OS X 10.7, когда Apple отказалась от Samba в пользу собственной реализации SMB под названием SMBX. Apple перешла на собственную реализацию SMBX после того, как Samba приняла GPLv3.

    Файловая система клиента CIFS ядра Linux поддерживает SMB2 с версии 3.7.

    SMB 2.1

    SMB 2.1, представленный в Windows 7 и Server 2008 R2, ввел незначительные улучшения производительности с новым механизмом уступающей блокировки.

    Читайте также: