Что такое smb сервер
Общие сведения о протоколе Microsoft SMB и протоколе CIFS
протокол smb — это протокол общего сетевого доступа к файлам, который реализован в microsoft Windows называется протоколом smb microsoft. Набор пакетов сообщений, определяющих конкретную версию протокола, называется диалектом. Протокол CIFS является разновидностью SMB. SMB и CIFS также доступны на виртуальных машинах, в нескольких версиях UNIX и других операционных системах.
Технический справочник по CIFS доступен по протоколу Microsoft Corporation в общем доступе к файлам в Интернете (CIFS).
Хотя основной целью является совместное использование файлов, дополнительные функциональные возможности протокола SMB Microsoft включают следующее:
В модели сети OSI протокол SMB (Майкрософт) чаще всего используется в качестве уровня приложения или протокола уровня представления, а также использует протоколы более низкого уровня для передачи. Протокол транспортного уровня, с которым чаще всего работает протокол Microsoft SMB, — это NetBIOS через TCP/IP (NBT). Однако протокол SMB (Майкрософт) также можно использовать без отдельного транспортного протокола. сочетание протоколов Microsoft SMB и NBT обычно используется для обеспечения обратной совместимости.
Протокол SMB Microsoft является реализацией клиент-сервер и состоит из набора пакетов данных, каждый из которых содержит запрос, отправленный клиентом, или ответ, отправленный сервером. Эти пакеты можно разделить на следующие категории:
Некоторые пакеты сообщений могут быть сгруппированы и отправлены в одной передаче, чтобы уменьшить задержку ответа и увеличить пропускную способность сети. Это называется «пакетной обработкой». в разделе » сценарий Exchange пакетов протокола smb microsoft » описывается пример сеанса протокола smb microsoft, который использует пакетную обработку пакетов.
SMB протокол, обзор версий, описание технологии
Однако для того, чтобы взаимодействие между отдельными компонентами работало, необходимы четкие соглашения, представленные в форме протоколов. Например, одним из самых важных и старых сетевых протоколов является протокол SMB. Мы подробно разберём его это в этой статье.
Что такое SMB (блок сообщений сервера)?
Для реализации протокола SMB в Windows NT 4.0 Microsoft использовала название Common Internet File System (CIFS), которое впоследствии использовалось как синоним семейства протоколов SMB. Сегодня CIFS является особенно распространенным термином для первой версии SMB 1.0.
Как работает SMB?
TCP – порт 445 предназначен для установления соединения и передачи данных через TCP / SMB. Разрешение адресов обычно происходит через систему доменных имен (DNS) или через Link Local Multicast Name Resolution (LLMNR) в небольших сетях.
Протокол SMB: обзор версий
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
По соображениям совместимости первая версия протокола была сохранена. 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 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
Помимо реализаций Server Message Block в различных выпусках Windows, протокол был интегрирован во множество других программных проектов, чтобы обеспечить связь за пределами семейства Microsoft. Наиболее известные реализации SMB включают следующее:
SMB, CIFS и Samba: что это за протоколы и для чего они используются
Чтобы подключиться к Интернету, отправлять или получать файлы, важно, чтобы это было возможно с помощью ряда протоколов. В этой статье мы поговорим о трех из них. Мы собираемся объяснить, что такое SMB, CIFS и Samba протокол. Мы увидим, в чем их основные отличия и для чего каждый из них используется.
Что такое протокол SMB
Прежде всего мы собираемся объяснить, что Протокол SMB. Это одна из старейших программ, которая со временем открыла доступ к файлам и каталогам, а также к сетевым ресурсам. Он отвечает за обмен информацией между процессами системы. Он был создан IBM.
SMB означает Сервер Блок сообщение. Этот протокол клиент-сервер отвечает за управление доступом к этим файлам или каталогам. В частности, он был разработан в 1983 году. Он присутствовал в различных Windows операционных систем.
Сегодня этот протокол позволяет подключаться к более старым устройствам с предыдущими версиями Microsoft операционная система. Для обмена файлами два устройства должны сначала установить соединение. Отсюда протокол SMB позволяет клиенту подключаться к серверу.
В соответствии с тем, что мы упомянули, Microsoft решила удалить поддержку первой версии SMB 1.0. Это может позволить, например, проводить DDoS-атаки на компьютер.
Что такое протокол CIFS?
Но, конечно, это было не только изменение имени. Логично добавлены разные функции. Например, они добавили поддержку символических ссылок или жестких ссылок, большего размера файла.
Сегодня CIFS используется очень редко. Современные системы будут использовать SMB 2 или SMB 3. В основном последний, поскольку он находится в самых последних версиях, начиная с Windows 8. Можно сказать, что это обновления CIFS, которые соответствуют первой версии SMB.
Как работает Samba
Эта реализация была для UNIX-подобных систем. Мы можем использовать его в Linux, macOS или Unix, и таким образом они действуют как клиенты в сетях Windows. В данном случае его первоначальный выпуск был в 1992 году, хотя с течением времени у него были разные версии.
Вывод о различиях между SMB, CIFS и Samba
Так в чем же разница между SMB, CIFS и Samba? Мы можем сказать что SMB был первоначальным протоколом, появившимся в 1980-х годах. Он был создан IBM для обмена файлами и доступа к принтерам. Со временем были разные версии. В основном он использовался в Windows и DOS.
В свою очередь, CIFS так позже стала известна первоначальная версия SMB, когда Microsoft начала использовать ее в своих системах. У него были определенные реализации, позволяющие подключать несколько платформ, таких как Windows или Linux. Однако в настоящее время CIFS практически не используется. С другой стороны, мы можем найти последние версии SMB, такие как SMB 2 или SMB 3.
Наконец, самба это реализация вышеизложенного с открытым исходным кодом. Бесплатная реализация, позволяющая использовать его в различных системах, таких как Linux, macOS или Unix. При этом он был выпущен в начале 1990-х годов.
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
SMB (Server Message Block)
Communications protocol | |
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 может работать на верхнем слое сетевой сессии (или ниже) несколькими путями:
SMB «Межпроцессные коммуникации» (англ. Inter-process Communication ) обеспечивает именованные каналы и является одним из первых межпроцессных механизмов, обычно доступных для программистов и предоставляющих средства аутентификации, когда клиент впервые подключается к серверу SMB.
Некоторые сервисы, которые работают по именованным каналам, такие как те, которые используют реализацию DCE/RPC через SMB от Microsoft, известную как MSRPC через SMB, также позволяют клиентским программам MSRPC выполнять аутентификацию, которая переопределяет авторизацию, предоставляемую сервером SMB, но только в контексте клиентской программы MSRPC, что является дополнительной проверкой подлинности.
SMB подписи
Конструкция Server Message Block версии 2 (SMB2) направлена на снижение этого ограничения производительности путем объединения сигналов SMB в отдельные пакеты.
SMB служит основой для реализации распределенной файловой системы Microsoft Windows.
История
Барри Фейгенбаум (Barry Feigenbaum) первоначально разработал SMB в IBM с целью превратить локальный доступ к файлу DOS «Interrupt 33» (21h) в сетевую файловую систему.Microsoft внесла значительные изменения в наиболее часто используемую версию. Microsoft объединила протокол SMB с продуктом LAN Manager, который они начали разрабатывать для OS/2 с 3Com около 1990 года, и продолжили добавлять функции к протоколу в Windows для рабочих групп (ок. 1992) и в более поздних версиях 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]
Ryussi Technologies разработала высоконадежный стек SMB3 (патентованный) под названием «MoSMB» для Linux, предназначенный для продвинутых решений NAS, включающих все расширенные функции SMB 3.x представленные Microsoft.
SMB 2.0
В 2006 году Microsoft представила новую версию протокола (SMB 2.0 или SMB2) с Windows Vista.Хотя протокол запатентован, его спецификация опубликована, чтобы позволить другим системам взаимодействовать с операционными системами Microsoft, использующими новый протокол.
SMB2 уменьшает ненадежность протокола SMB 1.0 за счет сокращения количества команд и подкоманд из более чем ста до девятнадцати. Он имеет механизмы конвейерной обработки, то есть отправки дополнительных запросов до получения ответа на предыдущий запрос, тем самым повышая производительность по каналам с высокой задержкой. Это добавляет способность объединять несколько действий в один запрос, что значительно сокращает число обращений к клиенту, необходимых для совершения обратных рейсов, что повышает производительность в результате. SMB1 также имеет механизм объединения, известный как AndX, для объединения нескольких действий, но клиенты Microsoft редко используют AndX. Он также вводит понятие «долговременных файловых дескрипторов»: они позволяют подключиться к серверу SMB, чтобы выжить в краткой форме, как это обычно происходит в беспроводной сети, без каких-либо издержек пересогласования нового сеанса.
SMB2 включает поддержку символьных ссылок. Другие улучшения включают кэширование свойств файлов, улучшенную подпись сообщений с алгоритмом хеширования HMAC SHA-256 и лучшую масштабируемость за счет увеличения числа пользователей, общих ресурсов и открытых файлов на сервер и т.д.
Протокол 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, ввел незначительные улучшения производительности с новым механизмом уступающей блокировки.
Server Message Block
Содержание
История [ ]
В Windows 2000 впервые появился SMB непосредственно поверх TCP (без NetBIOS); для этого используется порт 445 (SMB через NBT использовал порт 139).
В Windows 8 появилась новая версия протокола — SMB 3.0. Новые возможности изложены на сайте разработчиков.
Принцип работы [ ]
С начала существования SMB было разработано множество различных вариантов протокола для обработки всё возрастающей сложности компьютерной среды, в которой он использовался. Договорились, что реальный вариант протокола, который будет использоваться клиентом и сервером, будет определяться командой negprot (negotiate protocol). Этот SMB обязан посылаться первым до установления соединения. Первым вариантом протокола был Core Protocol, известный как SMB-реализация PC NETWORK PROGRAM 1.0. Он должным образом поддерживает весь набор основных операций, который включает в себя:
Формат заголовка SMB [ ]
8 | 16 | 24 | 32 bits |
Command | RCLS | Reserved | ERR |
---|---|---|---|
ERR (cont) | REB/FLG | Reserved | |
Reserved | |||
Reserved | |||
Reserved | |||
Tree ID | Process ID | ||
User ID | Multiplex ID | ||
WCT | VWV | ||
BCC | BUF | ||
SMB header structure |
Основные элементы структуры заголовка SMB:
• Command — команда протокола.
• RCLS — код класса ошибки.
• ERR — код ошибки.
• Tree ID (TID) — идентификатор соединения с сетевым ресурсом.
• Process ID (PID) — идентификатор клиентского процесса фактического соединения.
• User ID (UID) — идентификатор пользователя; используется сервером для проверки прав доступа пользователя.
• Multiplex ID (MID) — идентификатор группы пользователя; используется сервером для проверки прав доступа группы пользователя.
• WCT — количество параметров, следующих за заголовком.
• BCC — количество байт данных, следующих за параметрами.
Аутентификация Microsoft SMB Protocol [ ]
Модель механизма защиты, которая используется в Microsoft SMB Protocol, в основном идентична модели любого другого варианта SMB-протокола. Она состоит из двух уровней защиты: user-level (пользовательский уровень) и share-level (уровень совместно используемого ресурса). Под share (выложенный в сеть ресурс) понимается файл, директория, принтер, любая услуга, которая может быть доступна клиентам по сети.
Аутентификация на уровне user-level означает, что клиент, который пытается получить доступ к ресурсу на сервере, должен иметь username (имя пользователя) и password (пароль). Если аутентификация прошла успешно, клиент имеет доступ ко всем доступным ресурсам сервера, кроме тех, что с share-level-защитой. Этот уровень защиты дает возможность системным администраторам конкретно указывать, какие пользователи и группы пользователей имеют доступ к определённым данным. Он используется в Windows NT, Windows 2000, Windows XP.
Аутентификация на уровне share-level означает, что доступ к ресурсу контролируется паролем, установленным конкретно на этот ресурс. В отличие от user-level, этот уровень защиты не требует имя пользователя для аутентификации и не устанавливается никакая уникальность текущего пользователя. Этот уровень используется в Windows NT, Windows 2000 и Windows XP для обеспечения дополнительного уровня контроля защиты сверх user-level. Операционные системы Windows 95, Windows 98 и Windows ME реализуют защиту только этого уровня.
В обоих этих уровнях защиты используется шифрование. Пароль зашифровывается, прежде чем отправляется на сервер. Типы шифрования NTLM, NTLMv2 и старые версии LAN Manager (LM) поддерживаются протоколом. Оба метода шифрования используют аутентификацию типа отклик-отзыв, в которой сервер посылает клиенту случайную сгенерированную строку, а клиент возвращает в качестве отзыва обработанную строку, которая доказывает, что клиент имеет достаточный мандат для доступа к данным.
Методы взлома SMB [ ]
Большинство методов взлома основано на том, что злоумышленник получает доступ к SAM — базе данных, в которой операционная система хранит хэши паролей пользователей. Если SAM получена, то далее остается только воспользоваться одной из многих утилит, которые помогают дешифровать пароли пользователей.
Остальные утилиты основаны на подобном же принципе.
См. также [ ]
Примечания [ ]
Ссылки [ ]
Архивация и восстановление • COMMAND.COM • cmd.exe • Средство переноса данных • Просмотр событий • Установщик • netsh.exe • PowerShell • Отчёты о проблемах • rundll32.exe • Программа подготовки системы (Sysprep) • Настройка системы (MSConfig) • Проверка системных файлов • Индекс производительности • Центр обновления • Восстановление системы • Дефрагментация диска • Диспетчер задач • Диспетчер устройств • Консоль управления • Очистка диска • Панель управления ( элементы )
Контакты • DVD Maker • Факсы и сканирование • Internet Explorer • Журнал • Экранная лупа • Media Center • Проигрыватель Windows Media • Программа совместной работы • Центр устройств Windows Mobile • Центр мобильности • Экранный диктор • Paint • Редактор личных символов • Удалённый помощник • Распознавание речи • WordPad • Блокнот • Боковая панель • Звукозапись • Календарь • Калькулятор • Ножницы • Почта • Таблица символов • Исторические: Movie Maker • NetMeeting • Outlook Express • Диспетчер программ • Диспетчер файлов • Фотоальбом • Windows To Go
Chess Titans • Mahjong Titans • Purble Place • Пасьянсы ( Косынка • Паук • Солитер ) • Сапёр • Пинбол • Червы
Ntoskrnl.exe • Слой аппаратных абстракций (hal.dll) • Бездействие системы • svchost.exe • Реестр • Службы • Диспетчер управления сервисами • DLL ( формат модулей ) • PE • NTLDR • Диспетчер загрузки • Программа входа в систему (winlogon.exe) • Консоль восстановления • Windows RE • Windows PE • Защита ядра от изменений
Autorun.inf • Фоновая интеллектуальная служба передачи • Файловая система стандартного журналирования • Отчёты об ошибках • Планировщик классов мультимедиа • Теневая копия • Планировщик задач • Беспроводная настройка
ReFS • NTFS ( Жёсткая ссылка • Точка соединения • Точка монтирования • Точка повторной обработки • Символьная ссылка • TxF • EFS) • WinFS • FAT • exFAT • CDFS • UDF • DFS • IFS
Active Directory • Службы развёртывания • Служба репликации файлов • DNS • Домены • Перенаправление папок • Hyper-V • IIS • Media Services • MSMQ • Защита доступа к сети (NAP) • Службы печати для UNIX • Удалённое разностное сжатие • Службы удаленной установки • Служба управления правами • Перемещаемые профили пользователей • SharePoint • Диспетчер системных ресурсов • Удаленный рабочий стол • WSUS • Групповая политика • Координатор распределённых транзакций
NT • Диспетчер объектов • Пакеты запроса ввода/вывода • Диспетчер транзакций ядра • Диспетчер логических дисков • Диспетчер учетных записей безопасности • Защита ресурсов • lsass.exe • csrss.exe • smss.exe • spoolsv.exe • Запуск
BitLocker • Защитник • Предотвращение выполнения данных • Обязательный контроль целостности • Защищённый канал данных • UAC • UIPI • Брандмауэр • Центр обеспечения безопасности • Защита файлов