Блок сообщений сервера


Блок сообщений сервера ( SMB ) — это протокол связи [1] , первоначально разработанный в 1983 году Барри А. Фейгенбаумом из IBM [2] и предназначенный для предоставления общего доступа к файлам и принтерам между узлами в сети систем, работающих под управлением IBM OS/2 . Он также предоставляет механизм аутентифицированного межпроцессного взаимодействия (IPC). В 1987 году Microsoft и 3Com реализовали SMB в LAN Manager для OS/2, когда SMB использовал службу NetBIOS поверх фреймов NetBIOS.протокол в качестве основного транспорта. Позже Microsoft реализовала SMB в Windows NT 3.1 и с тех пор обновляет его, адаптируя для работы с новыми базовыми транспортами: TCP/IP и NetBT . Реализация SMB состоит из двух служб Windows с неопределенными именами : «Сервер» (ID:) LanmanServerи «Рабочая станция» (ID:) LanmanWorkstation. [3] Он использует протоколыNTLM или Kerberos для аутентификации пользователей.

В 1996 году Microsoft опубликовала версию SMB 1.0 [4] с небольшими изменениями под псевдонимом Common Internet File System ( CIFS / s ɪ f s / ). CIFS был совместим даже с самым ранним воплощением SMB, включая LAN Manager . [4] Он поддерживает символические ссылки, жесткие ссылки и файлы большего размера, но не поддерживает функции SMB 2.0 и более поздних версий. [4] [5] Предложение Microsoft, однако, осталось интернет-проектом и так и не получило стандартного статуса. [6]С тех пор Microsoft прекратила использование прозвища CIFS, но продолжает развивать SMB и публиковать последующие спецификации.

Блок сообщений сервера (SMB) обеспечивает совместное использование файлов , принтеров , просмотр сети и взаимодействие между процессами (через именованные каналы ) в компьютерной сети . SMB служит основой для реализации распределенной файловой системы Microsoft .

SMB полагается на протоколы TCP и IP для транспорта. Эта комбинация потенциально позволяет обмениваться файлами в сложных взаимосвязанных сетях , включая общедоступный Интернет. Серверный компонент SMB использует TCP- порт 445. Изначально SMB работал на NetBIOS через IEEE 802.2NetBIOS Frames или NBF — и поверх IPX/SPX , а позже — по NetBIOS через TCP/IP (NetBT), но Microsoft с тех пор устарела от этих протоколов. В NetBT серверный компонент использует три протокола TCP или UDP.порты: 137 (служба имен NETBIOS), 138 (служба дейтаграмм NETBIOS) и 139 (служба сеансов NETBIOS).

В Microsoft Windows две службы Windows с расплывчатыми названиями реализуют SMB. Служба «Сервер» (ID: LanmanServer) отвечает за обслуживание общих ресурсов . Служба «Рабочая станция» (идентификатор: LanmanWorkstation) поддерживает имя компьютера и помогает получить доступ к общим ресурсам на других компьютерах. [3] SMB использует протокол Kerberos для аутентификации пользователей в Active Directory в доменных сетях Windows . В более простых одноранговых сетях SMB использует протокол NTLM .

Windows NT 4.0 SP3 и более поздние версии могут подписывать сообщения SMB цифровой подписью для предотвращения некоторых атак типа «человек посередине» . [7] [8] [9] Подписание SMB может быть настроено отдельно для входящих соединений SMB (службой «LanmanServer») и исходящих соединений SMB (службой «LanmanWorkstation»). По умолчанию контроллеры домена Windows , работающие под управлением Windows Server 2003 и более поздних версий, не разрешают неподписанные входящие подключения. [10] Таким образом, более ранние версии Windows, которые изначально не поддерживают подписывание SMB (включая Windows 9x ), не могут подключаться к контроллеру домена Windows Server 2003. [8]