Smb windows services что это

SMB протокол, обзор версий, описание технологии

Подключение всех технологических устройств к общей локальной сети (автономная альтернатива Интернету) обычно является чисто технической задачей благодаря компьютерным сетям . Участники сети могут легко обмениваться файлами через LAN или WLAN, управлять серверами или использовать типичные сетевые устройства, такие как принтеры или маршрутизаторы.

Однако для того, чтобы взаимодействие между отдельными компонентами работало, необходимы четкие соглашения, представленные в форме протоколов. Например, одним из самых важных и старых сетевых протоколов является протокол SMB. Мы подробно разберём его это в этой статье.

Что такое SMB (блок сообщений сервера)?

SMB (Server Message Block) — это протокол клиент/сервер, который управляет доступом к файлам и целым каталогам , а также к другим сетевым ресурсам, таким как принтеры, маршрутизаторы или интерфейсы, открытые для сети. Обмен информацией между различными процессами системы (также известный как межпроцессное взаимодействие) может осуществляться на основе протокола SMB.

Разработанный ИТ-группой IBM в 1983 году, за последние десятилетия были выпущены различные версии и реализации протокола. SMB впервые стал доступен для широкой публики как часть сетевой операционной системы OS/2 LAN Manager и ее преемника LAN Server . Основным применением протокола с тех пор была операционная система Windows, поскольку ее сетевые службы обратно совместимы с SMB. Это позволяет устройствам с более новыми выпусками легко взаимодействовать с устройствами, на которых установлена ​​более старая операционная система Microsoft. Более того, проект бесплатного программного обеспечения Samba предлагает решение, которое позволяет использовать Server Message Block в дистрибутивах Linux и Unix, что позволяет кроссплатформенное общение через SMB.

Для реализации протокола SMB в Windows NT 4.0 Microsoft использовала название Common Internet File System (CIFS), которое впоследствии использовалось как синоним семейства протоколов SMB. Сегодня CIFS является особенно распространенным термином для первой версии SMB 1.0.

Как работает SMB?

Протокол Server Message Block позволяет клиенту связываться с другими участниками той же сети, позволяя ему получать доступ к файлам или службам, открытым для него в сети. Чтобы это работало, другая система также должна реализовать сетевой протокол и получать и обрабатывать соответствующий клиентский запрос с помощью приложения сервера SMB . Но обе стороны должны сначала установить соединение, поэтому сначала они обмениваются соответствующими сообщениями. В IP-сетях SMB использует протокол управления передачей (TCP), который обеспечивает трехстороннее рукопожатие между клиентом и сервером перед окончательным установлением соединения. Последующий перенос данных регулируется положениями протокола TCP.

TCP — порт 445 предназначен для установления соединения и передачи данных через TCP / SMB. Разрешение адресов обычно происходит через систему доменных имен (DNS) или через Link Local Multicast Name Resolution (LLMNR) в небольших сетях.

Протокол SMB: обзор версий

Как уже упоминалось, с тех пор, как SMB был впервые выпущен в 1983 году, в сетевой стандарт были внесены многочисленные изменения, отраженные в различных версиях протокола . Они начинаются с SMB 1.0 и заканчиваются текущей версией SMB 3.1.1, которую Microsoft представила вместе с Windows 10. В следующих разделах резюмируются основные этапы разработки протокола Server Message Block.

SMB 1.0 (CIFS)

Первая версия протокола сетевой связи часто приравнивается к варианту Common Internet File System (CIFS), описанному ранее. Однако последнее на самом деле относится только к аспекту первой редакции протокола — особенно для реализации протокола в устройствах с Windows NT 4.0. В этом первом варианте связь по-прежнему осуществлялась через интерфейс NetBIOS, а также через UDP-порты 137 (разрешение имен) и 138 (передача пакетов), а также через TCP-порт 139 (установка и транспортировка соединения). Зависимость от NetBIOS прекратилась с выходом Windows 2000 ; протокол, официально обозначенный как SMB 1.0, теперь позволяет прямое соединение через TCP (порт 445).

SMB 2.0

Первая большая редакция Server Message Block была предоставлена ​​Microsoft в ноябре 2006 года вместе с операционной системой Windows Vista . Несмотря на то, что протокол — теперь известный как SMB 2.0 — продолжал оставаться проприетарным , компания-производитель программного обеспечения также впервые выпустила спецификацию, позволяющую другим системам взаимодействовать с операционными системами Windows. Наиболее важные изменения во второй версии протокола включали следующее:

  • Уменьшение количества команд и подкоманд с более 100 до 19
  • Оптимизированная производительность благодаря новой функции очереди для запросов SMB
  • Поддержка символических ссылок (подключения к файлам или каталогам)
  • Промежуточное хранение / кеширование свойств файла
  • Улучшено подписывание сообщений (алгоритм HMAC SHA-256)
  • Лучшая масштабируемость благодаря большему максимальному количеству клиентов, общих объектов и одновременно открытых файлов

По соображениям совместимости первая версия протокола была сохранена. Microsoft также придерживалась этой меры в последующих версиях.

SMB 2.1

Версия 2.1 протокола SMB тесно связана с Windows 7. Пересмотренная версия второй редакции протокола была выпущена вместе с операционной системой в 2007 году и, помимо ряда незначительных оптимизаций производительности, она предоставила новые механизмы блокировки для регулирования доступа к файлам. более эффективно (чтение, запись, удаление и т. д.).

SMB 3.0

Windows 8 была выпущена в 2012 году, а вместе с новой версией операционной системы Microsoft появилась новая версия Server Message Block. Первоначально это называлось SMB 2.2, но позже было изменено на обозначение SMB 3.0, которое применяется и сегодня. Эта версия протокола также направлена ​​на повышение производительности и безопасности соединений SMB, особенно в виртуализированных центрах обработки данных. Следующие новые функции были ключевыми для этого улучшения:

  • Возможность удаленного доступа к хранилищу благодаря SMB через RDMA (Remote Direct Memory Access)
  • Многоканальная функция позволяет настраивать несколько подключений на сеанс SMB
  • Прозрачная защита от сбоев
  • Сквозное шифрование
Читайте также:  Please restart windows before installing new program

SMB 3.1.1

SMB 3.1.1 (опубликованный в 2015 году с Windows 10) расширил серию протоколов проверкой целостности перед аутентификацией на основе хэш-значений SHA-256. Кроме того, в системе используется шифрование AES-128 в режиме счетчика Галуа (GCM). Для всех устройств связи с SMB 2.0 или выше SMB 3.1.1 делает безопасное соединение обязательным.

Таблица версий SMB

Версия SMB Поддерживается с Новые особенности
CIFS Windows NT 4.0 Связь через интерфейс NetBIOS
SMB 1.0 Windows 2000 Прямое подключение через TCP
SMB 2.0 Windows Vista, Windows Server 2008, Samba 3.5 Различные улучшения производительности, улучшенная подпись сообщений, функция кеширования свойств файла
SMB 2.1 Windows 7, Windows Server 2008 R2 Механизмы блокировки
SMB 3.0 Windows 8, Windows Server 2012, Samba 4.0 Многоканальные соединения, сквозное шифрование, удаленный доступ к хранилищу
SMB 3.0.2 Windows 8.1, Windows Server 2012 R2
SMB 3.1.1 Windows 10, Windows Server 2016, Samba 4.3 Проверка целостности, шифрование AES-128 с режимом Галуа / счетчика (GCM)

Какие аспекты безопасности важно учитывать при использовании SMB?

В течение многих лет Microsoft считала важным в своих системах, чтобы старые версии Server Message Block также поддерживались более новыми выпусками для обеспечения бесперебойной связи между старыми и новыми устройствами. Но обеспечение совместимости с тех пор связано с повышенным риском безопасности. Это связано с тем, что SMB 1.0 имеет ряд уязвимостей по сравнению с последующими протоколами, которые, например, делают компьютер уязвимым для DoS-атак.

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

Где используется или реализуется SMB

Наиболее важные сценарии применения для SMB уже были представлены в этой статье. Ключевым моментом протокола является доступ к файловым системам, поэтому основные преимущества заключаются в соединениях клиент/сервер между компьютерами и файловыми серверами . Поскольку другие разделы протокола явно нацелены на межпроцессное взаимодействие, простой обмен данными между двумя устройствами или двумя процессами относится к профилю его приложения.

Помимо реализаций Server Message Block в различных выпусках Windows, протокол был интегрирован во множество других программных проектов, чтобы обеспечить связь за пределами семейства Microsoft. Наиболее известные реализации SMB включают следующее:

  • Samba : Программный проект Samba, вероятно, является самым известным примером реализации SMB за пределами Windows. Еще в 1991 году программист Эндрю Триджелл начал разработку бесплатного программного обеспечения, которое обеспечивает связь в системах Unix / Linux через Server Message Block.
  • Netsmb: Netsmb относится к реализациям клиента и сервера SMB непосредственно в ядре операционных систем BSD. Впервые они были выпущены для ОС FreeBSD 4.4, но теперь доступны для ряда систем BSD, включая NetBSD и macOS.
  • YNQ : YNQ (ранее NQ) — это библиотека SMB, которая реализует технологию Server Message Block во встроенных системах без Windows и, таким образом, обеспечивает взаимодействие с устройствами на базе Windows. YNQ разрабатывается израильской софтверной компанией Visuality Systems Ltd. с 1998 года.
  • FreeNAS : любой, кто хочет запустить свой собственный NAS — сервер, поддерживающий протокол SMB, найдет подходящее решение в FreeNAS с открытым исходным кодом . Программное обеспечение NAS основано на FreeBSD и файловой системе OpenZFS.
  • ConnectedNAS : ConnectedNAS, программное обеспечение, разработанное Connected Way, служит SMB-сервером и клиентом для устройств Android . Пользователи платного приложения могут легко обмениваться данными между мобильным устройством и другими устройствами SMB — как в частном порядке, так и внутри компании. По соображениям безопасности ConnectedNAS поддерживает SMB только начиная с версии 2.

Протокол SMB для расширенного устранения неполадок Advanced Troubleshooting Server Message Block (SMB)

SMB — это протокол сетевого транспорта для операций с файловыми системами, позволяющий клиенту получать доступ к ресурсам на сервере. Server Message Block (SMB) is a network transport protocol for file systems operations to enable a client to access resources on a server. Основной целью протокола SMB является обеспечение удаленного доступа файловой системы между двумя системами по протоколу TCP/IP. The primary purpose of the SMB protocol is to enable remote file system access between two systems over TCP/IP.

Устранение неполадок SMB может быть чрезвычайно сложным. SMB troubleshooting can be extremely complex. Эта статья не является исчерпывающим руководством по устранению неполадок, а представляет собой краткое руководство по эффективному устранению неполадок SMB. This article is not an exhaustive troubleshooting guide Instead, it is a short primer to understand the basics of how to effectively troubleshoot SMB.

Средства и сбор данных Tools and data collection

Одним из ключевых аспектов устранения неполадок качества SMB является связь с правильной терминологией. One key aspect of quality SMB troubleshooting is communicating the correct terminology. Поэтому в этой статье рассматривается Базовая терминология SMB для обеспечения точности сбора и анализа данных. Therefore, this article introduces basic SMB terminology to ensure accuracy of data collection and analysis.

SMB-сервер (SRV) относится к системе, в которой размещается файловая система, также известная как файловый сервер. The SMB Server (SRV) refers to the system that is hosting the file system, also known as the file server. Клиент SMB (CLI) относится к системе, которая пытается получить доступ к файловой системе, независимо от версии или выпуска операционной системы. The SMB Client (CLI) refers to the system that is trying to access the file system, regardless of the OS version or edition.

Например, если вы используете Windows Server 2016 для доступа к общему ресурсу SMB, размещенному в Windows 10, Windows Server 2016 является SMB-клиентом и Windows 10 сервером SMB. For example, if you use Windows Server 2016 to reach an SMB share that is hosted on Windows 10, Windows Server 2016 is the SMB Client and Windows 10 the SMB Server.

Сбор данных Collect data

Прежде чем устранять неполадки SMB, рекомендуется сначала получить трассировку сети на стороне клиента и сервера. Before you troubleshoot SMB issues, we recommend that you first collect a network trace on both the client and server sides. Применяются следующие правила. The following guidelines apply:

В системах Windows для получения трассировки сети можно использовать NetShell (Netsh), сетевой монитор, средство анализа сообщений или Wireshark. On Windows systems, you can use netshell (netsh), Network Monitor, Message Analyser, or Wireshark to collect a network trace.

Сторонние устройства обычно имеют встроенное средство записи пакетов, например tcpdump (Linux/FreeBSD/UNIX) или пктт (NetApp). Third-party devices generally have an in-box packet capture tool, such as tcpdump (Linux/FreeBSD/Unix), or pktt (NetApp). Например, если клиент SMB или SMB-сервер является узлом UNIX, можно получить данные, выполнив следующую команду: For example, if the SMB client or SMB server is a Unix host, you can collect data by running the following command:

Останавливает сбор данных с клавиатуры с помощью клавиш CTRL + C . Stop collecting data by using Ctrl+C from keyboard.

Чтобы обнаружить источник проблемы, можно проверить двустороннюю трассировку: CLI, SRV или другое. To discover the source of the issue, you can check the two-sided traces: CLI, SRV, or somewhere in between.

Использование NetShell для получения данных Using netshell to collect data

В этом разделе содержатся инструкции по использованию NetShell для получения трассировки сети. This section provides the steps for using netshell to collect network trace.

Команда netsh trace создает ETL-файл. A Netsh trace creates an ETL file. ETL-файлы можно открывать только в анализаторе сообщений (MA) и сетевой монитор 3,4 (Настройка средства синтаксического анализа для сетевой монитор > окон анализаторов). ETL files can be opened only in Message Analyzer (MA) and Network Monitor 3.4 (set the parser to Network Monitor Parsers > Windows).

На сервере SMB и клиенте SMB создайте временную папку на диске C. Затем выполните следующую команду: On both the SMB server and SMB client, create a Temp folder on drive C. Then, run the following command:

Если вы используете PowerShell, выполните следующие командлеты: If you are using PowerShell, run the following cmdlets:

Воспроизведите проблему. Reproduce the issue.

Завершите трассировку, выполнив следующую команду: Stop the trace by running the following command:

Если вы используете PowerShell, выполните следующие командлеты: If you are using PowerShell, run the following cmdlets:

Следует отслеживать только минимальный объем передаваемых данных. You should trace only a minimum amount of the data that’s transferred. При возникновении проблем с производительностью всегда следует использовать как хорошую, так и неверную трассировку, если такая ситуация разрешена. For performance issues, always take both a good and bad trace, if the situation allows it.

Анализ трафика Analyze the traffic

SMB — это протокол уровня приложения, который использует протокол TCP/IP в качестве сетевого транспортного протокола. SMB is an application-level protocol that uses TCP/IP as the network transport protocol. Поэтому проблема с SMB также может быть вызвана проблемами TCP/IP. Therefore, an SMB issue can also be caused by TCP/IP issues.

Проверьте, не возникают ли в TCP/IP какие-либо из следующих проблем. Check whether TCP/IP experiences any of these issues:

TCP-это трехстороннее подтверждение не завершается. The TCP three-way handshake does not finish. Обычно это означает, что имеется блок брандмауэра или служба сервера не запущена. This typically indicates that there is a firewall block, or that the Server service is not running.

Происходит повторная передача. Retransmits are occurring. Это может вызвать медленную передачу файлов из-за составного регулирования перегрузки TCP. These can cause slow file transfers because of compound TCP congestion throttling.

Пять повторных передач, за которыми следует сброс TCP, могут означать, что подключение между системами было потеряно или что произошел сбой или зависание одной из служб SMB. Five retransmits followed by a TCP reset could mean that the connection between systems was lost, or that one of the SMB services crashed or stopped responding.

Окно приема TCP уменьшается. The TCP receive window is diminishing. Это может быть вызвано снижением размера хранилища или какой-либо другой проблемой, которая не позволяет получить данные из буфера Winsock вспомогательной функции (АФД). This can be caused by slow storage or some other issue that prevents data from being retrieved from the Ancillary Function Driver (AFD) Winsock buffer.

Если нет заметной проблемы TCP/IP, проверьте наличие ошибок SMB. If there is no noticeable TCP/IP issue, look for SMB errors. Для этого выполните следующие действия. To do this, follow these steps:

Всегда проверяйте ошибки SMB по спецификации протокола MS-SMB2. Always check SMB errors against the MS-SMB2 protocol specification. Многие ошибки SMB являются небезопасными (неопасными). Many SMB errors are benign (not harmful). Ознакомьтесь со следующими сведениями, чтобы определить причину, по которой SMB возвращала ошибку, прежде чем вы завершите, что эта ошибка связана с одной из следующих проблем. Refer to the following information to determine why SMB returned the error before you conclude that the error is related to any of the following issues:

В разделе синтаксис сообщений MS-SMB2 описывается каждая команда SMB и ее параметры. The MS-SMB2 Message Syntax topic details each SMB command and its options.

В разделе об обработке клиента MS-SMB2 описывается, как клиент SMB создает запросы и реагирует на сообщения сервера. The MS-SMB2 Client Processing topic details how the SMB client creates requests and responds to server messages.

В разделе обработка сервера MS-SMB2 описывается, как SMB-сервер создает запросы и отвечает на запросы клиентов. The MS-SMB2 Server Processing topic details how the SMB server creates requests and responds to client requests.

Проверьте, отправляет ли команда TCP Reset сразу после _ команды фсктл Validate _ _ info (проверка согласованности). Check whether a TCP reset command is sent immediately after an FSCTL_VALIDATE_NEGOTIATE_INFO (validate negotiate) command. Если это так, см. следующие сведения: If so, refer to the following information:

Сеанс SMB должен быть завершен (Сброс TCP), когда процесс проверки согласованности завершается сбоем на клиенте или сервере. The SMB session must be terminated (TCP reset) when the Validate Negotiate process fails on either the client or the server.

Этот процесс может завершиться ошибкой, так как оптимизатор глобальной сети изменяет пакет согласования SMB. This process might fail because a WAN optimizer is modifying the SMB Negotiate packet.

Если соединение преждевременно завершилось, выявление последнего обмена данными между клиентом и сервером. If the connection ended prematurely, identify the last exchange communication between the client and server.

Анализ протокола Analyze the protocol

Просмотрите фактические сведения о протоколе SMB в трассировке сети, чтобы понять, какие именно команды и параметры используются. Look at the actual SMB protocol details in the network trace to understand the exact commands and options that are used.

Только анализатор сообщений может анализировать команды SMBv3 и более поздних версий. Only Message Analyzer can parse SMBv3 and later version commands.

Помните, что SMB выполняет только то, что ему нужно. Remember that SMB does only what it is told to do.

Вы можете узнать о том, что пытается сделать приложение, изучив команды SMB. You can learn a lot about what the application is trying to do by examining the SMB commands.

Сравните команды и операции со спецификацией протокола, чтобы убедиться, что все работает правильно. Compare the commands and operations to the protocol specification to make sure that everything is operating correctly. Если это не так, собирайте данные, расположенные ближе или на более низком уровне, для поиска дополнительных сведений о основной причине. If it is not, collect data that is closer to or at a lower level to look for more information about the root cause. Для этого выполните следующие действия. To do this, follow these steps:

Сбор данных о стандартной записи пакетов. Collect a standard packet capture.

Выполните команду netsh , чтобы выполнить трассировку и сбор сведений о наличии проблем в сетевом стеке или удалении приложений платформы фильтрации Windows (WFP), таких как брандмауэр или антивирусная программа. Run the netsh command to trace and gather details about whether there are issues in the network stack or drops in Windows Filtering Platform (WFP) applications, such as firewall or antivirus program.

Если все остальные параметры завершаются неудачно, собирайте t. cmd, если вы считаете, что проблема возникает в самом SMB, или если нет других данных, достаточных для идентификации основной причины. If all other options fail, collect a t.cmd if you suspect that the issue occurs within SMB itself, or if none of the other data is sufficient to identify a root cause.

Например. For example:

Скорость передачи файлов на один файловый сервер наблюдается. You experience slow file transfers to a single file server.

Двухсторонние трассировки показывают, что SRV медленно реагирует на запрос чтения. The two-sided traces show that the SRV responds slowly to a READ request.

Удаление антивирусной программы разрешает передачу файлов с задержкой. Removing an antivirus program resolves the slow file transfers.

Чтобы устранить эту проблему, обратитесь к антивирусной программе мануфактори. You contact the antivirus program manufactory to resolve the issue.

При необходимости вы также можете временно удалить антивирусную программу во время устранения неполадок. Optionally, you might also temporarily uninstall the antivirus program during troubleshooting.

Журналы событий Event logs

Как клиент SMB, так и SMB-сервер имеют подробную структуру журнала событий, как показано на следующем снимке экрана. Both SMB Client and SMB Server have a detailed event log structure, as shown in the following screenshot. Собирайте журналы событий, чтобы помочь найти основную причину проблемы. Collect the event logs to help find the root cause of the issue.

В этом разделе перечислены системные файлы, связанные с SMB. This section lists the SMB-related system files. Чтобы обеспечить обновление системных файлов, убедитесь, что установлен последний накопительный пакет обновления . To keep the system files updated, make sure that the latest update rollup is installed.

Двоичные файлы клиента SMB, перечисленные в разделе % WINDIR% \ \ драйверы system32: SMB Client binaries that are listed under %windir%\system32\Drivers:

Двоичные файлы SMB Server, указанные в разделе % WINDIR% \ \ драйверы system32: SMB Server binaries that are listed under %windir%\system32\Drivers:

В папке % WINDIR% \ system32 Under %windir%\system32

Обновление предложений Update suggestions

Перед устранением проблем с SMB рекомендуется обновить следующие компоненты: We recommend that you update the following components before you troubleshoot SMB issues:

Файловый сервер требует наличия хранилища файлов. A file server requires file storage. Если в хранилище есть компонент iSCSI, обновите эти компоненты. If your storage has iSCSI component, update those components.

Обновите сетевые компоненты. Update the network components.

Для повышения производительности и стабильности обновите Windows Core. For better performance and stability, update Windows Core.

Читайте также:  Fix account windows 10
Оцените статью