Куда идет SMB: где он был, где он находится и куда может двигаться

Опубликовано: 16 Марта, 2023
Куда идет SMB: где он был, где он находится и куда может двигаться

Это была настоящая поездка, Блок сообщений сервера был. Это моя собственная слабая попытка направить Йоду, когда он пытается объяснить, что происходило с поддержкой SMB в Microsoft Windows на протяжении многих лет. SMB — это сетевой протокол обмена файлами, используемый Windows Server, и он реализован как клиент-серверный протокол, который работает на уровне приложения или представления стека OSI, полагаясь на протоколы более низкого уровня в качестве транспортного механизма для передачи пакетов. сюда туда. В основном это означает, что SMB используется клиентскими компьютерами для запроса файловых служб с серверов по сети. SMB также используется в качестве транспортного протокола для удаленных вызовов процедур (RPC), поскольку он поддерживает создание и использование именованных каналов. И вопрос, который я хочу задать здесь, заключается в следующем: куда идет SMB?

Краткий урок истории

Изображение 4442
Майкрософт

За прошедшие годы SMB постарел гораздо изящнее, чем я. Вот краткий урок истории, который должен навеять некоторые воспоминания тем из вас, кто некоторое время работал в сфере ИТ:

1996 — Microsoft включает поддержку CIFS (Common Internet File System), раннего предшественника SMB, в свою файловую систему Windows NT 4.0. Мы не будем больше ничего говорить об этом, потому что кто вообще сейчас использует Windows NT?

2000 — SMB версии 1.0 появляется в Windows 2000 Server и продолжает существовать в эпоху Windows Server 2003 и Windows Server 2003 R2. К сожалению, SMB 1.0 был довольно «болтливым» протоколом, поскольку он генерировал много сетевого трафика, что было проблемой, особенно когда вы пытались получить доступ к файловым службам по медленному каналу глобальной сети. У SMB также были некоторые другие ограничения, например, в отношении количества открытых файлов и общего количества общих ресурсов, которые он мог поддерживать. Поэтому неудивительно, что продолжительность его жизни была ограничена.

2008 — SMB 2.0 появился в Windows Server 2008, а также в Windows Vista, о чем лучше не говорить дальше. Версия 2.0 ослабила ограничения, касающиеся совместного использования файлов, и использовала объединение пакетов, чтобы уменьшить количество болтовни, создаваемой протоколом, что позволило ускорить связь с файловыми серверами. Конечно, Microsoft также сохранила поддержку SMB 1.0 в Windows Server 2008, и это было хорошо (в то время), поскольку обратная совместимость часто является серьезной проблемой для организаций (особенно крупных предприятий), которые рассматривают возможность обновления своей операционной системы до более новой версии. версия. Однако, как мы увидим дальше, я иногда задаюсь вопросом, не начали ли дела в Microsoft в то время разваливаться, поскольку последующие годы также принесли дополнительные обновления для SMB, что заставляет меня задаться вопросом, не начали ли они продвигать новые функции. из двери слишком быстро вокруг тогда.

2009 г. — это поэтапное улучшение называлось SMB 2.1 и появилось примерно через год после версии 2.0, когда была выпущена версия R2 Windows Server 2008 вместе с по-прежнему любимой многими Windows 7. SMB 2.1 включала несколько улучшений, которые в основном привело к снижению потребления полосы пропускания, лучшему отклику при доступе к файлам по сети и улучшенной масштабируемости для файловых серверов. Ключевой целью разработки SMB 2.1 было повышение производительности по сравнению с высокоскоростными сетями 10 GbE с малой задержкой. Ключом к тому, чтобы сделать это возможным, было увеличение максимального размера блока передачи (MTU) с 46 КБ до 1 МБ, и результат можно было легко увидеть, когда кто-то пытался скопировать большие файлы с использованием 2.1 по сравнению с 2.0.

2012 — SMB 3.0 вышел на сцену с выпуском Windows Server 2012 и его клиентской версии Windows 8, первая из которых была незавершенной вехой, а вторая — то, о чем большинство из нас предпочитает забыть (как и Vista). Я подробно описал новые функции SMB 3.0 в своей бесплатной электронной книге «Введение в Windows Server 2012», и эти улучшения можно резюмировать следующим образом:

  • SMB Direct, который позволяет использовать сетевые адаптеры с поддержкой удаленного прямого доступа к памяти (RDMA), такие как iWARP, Infiniband или RoCE (RDMA через конвергентный Ethernet), которые могут работать на полной скорости и с малой задержкой с очень небольшой нагрузкой на процессор на хосте.
  • Лизинг каталогов SMB, который сокращает число обращений от клиента к серверу, поскольку метаданные извлекаются из кэша каталогов с более длительным сроком службы.
  • Шифрование SMB, которое обеспечивает сквозное шифрование данных SMB для защиты сетевого трафика от прослушивания при перемещении по ненадежным сетям. С
  • Многоканальный SMB, который позволяет агрегировать пропускную способность сети и отказоустойчивость сети, когда становится доступным несколько путей между клиентом SMB и сервером SMB.
  • Командлеты Windows PowerShell для SMB, которые предоставляют командлеты Windows PowerShell и объекты WMI для управления файловыми серверами SMB и файловыми ресурсами SMB.
  • Масштабирование SMB, которое позволяет создавать общие файловые ресурсы, обеспечивающие одновременный доступ к файлам данных с прямым вводом-выводом через все узлы в кластере файловых серверов.
  • SMB3 Secure Dialect Negotiation, который помогает защититься от атак «человек посередине», когда перехватчики пытаются понизить первоначально согласованный диалект и возможности между SMB-клиентом и SMB-сервером.
  • SMB Transparent Failover, который позволяет администраторам выполнять аппаратное или программное обслуживание узлов кластерного файлового сервера, не прерывая работу серверных приложений, хранящих свои данные в файловых ресурсах.
  • VSS для общих файловых ресурсов SMB, который позволяет клиентам SMB и серверам SMB, поддерживающим SMB 3.0, использовать службу теневого копирования томов (VSS) для общих файловых ресурсов SMB.

На первый взгляд, эти улучшения (и множество других, представленных годом позже, в 2013 году, в SMB 3.0.2 в Windows Server 2012 R2) кажутся не чем иным, как революцией. Но важно иметь в виду, что многие из этих улучшений были введены, чтобы перевести работу SMB в эпоху виртуальных серверов, работающих на хост-кластерах Hyper-V, и в какой-то степени идея SMB как протокола стала несколько размытой по мере того, как результат. Например, одна функция SMB 3.0.2, Hyper-V Live Migration over SMB, позволяет выполнять динамическую миграцию виртуальных машин с использованием SMB в качестве транспорта. Однако можно спорить о том, является ли это функцией SMB как протокола Live Migration как функции Hyper-V.

SMB в Windows Server 2016

Изображение 4443 Что подводит нас к настоящему. Учитывая, куда нас привела дорога SMB в прошлом, куда мы будем двигаться в будущем? Новая версия SMB в Windows Server 2016 называется SMB 3.1.1, что характеризует ее (согласно нумерологической схеме Microsoft) как нечто среднее между мажорной и минорной версией. Возможно, Microsoft не могла решить, были ли сделанные ими изменения достаточно серьезными, чтобы можно было называть их SMB 4.0, или настолько незначительными, что лучше было бы просто назвать их SMB 3.0.3. Кто знает? Что мы знаем о SMB 3.1.1. заключается в следующем:

  • Шифрование SMB было улучшено за счет дополнительной поддержки AES-128-GCM, который теперь является алгоритмом шифрования по умолчанию вместо AES-128-CCM, который все еще поддерживается, но больше не используется по умолчанию.
  • Криптографический хэш SHA-512 теперь используется во время согласования и настройки сеанса диалога SMB, чтобы обеспечить дополнительную защиту от атак типа «человек посередине».
  • Некоторые различные внутренние изменения в том, как работают компоненты SMB Client или SMB Server в Windows.

Эти изменения кажутся довольно незначительными по сравнению с тем, что было представлено для SMB в версиях 3.0 и 3.0.2, и я считаю, что в Windows Server 2016 Microsoft, наконец, смогла реализовать большую часть того, что изначально планировалось для Windows Server 2012. Однако, что действительно важно, так это то, что до сих пор Microsoft продолжала поддерживать все более ранние версии SMB в каждой последующей версии Windows, которую она выпускала. Это означает, в частности, что SMB 1.0 по-прежнему включен по умолчанию в Windows Server 2016.

И это очень плохо. Почему? Потому что большинство существенных улучшений, внесенных в SMB за эти годы, касались двух областей: надежности и безопасности. И безопасность, вероятно, в наши дни важнее всего для большинства системных администраторов. Нед Пайл (Ned Pyle), главный менеджер программы в группе Windows Server High Availability and Storage в Microsoft, вероятно, лучше всего сказал, что продолжение использования SMB 1.0 означает, что вы отказываетесь от подписи сообщений, блокировки гостевой аутентификации, безопасного согласования диалектов, - целостность аутентификации и шифрование при использовании SMB для доступа к файлам по сети.

Решение, конечно же, состоит в том, чтобы отключить SMB 1.0 на всех ваших системах Windows Server, и в этой статье базы знаний объясняется, как вы можете это сделать, а в этом сообщении в блоге кибербезопасности Microsoft «Stay Safe» есть некоторые дополнительные сведения, которые вы, возможно, захотите посмотреть. в. Но, конечно, есть одна загвоздка, потому что если какой-либо из ваших клиентов или приложений все еще использует SMB 1.0, то его отключение приведет к поломке. Windows Server 2003 и Windows XP используют SMB 1.0, но эти платформы больше не поддерживаются, поэтому вам больше не следует использовать их в сети. Также может быть несколько других причин, по которым вы все еще держитесь за SMB 1.0, но чтобы ваша сеть не подвергалась атакам программ-вымогателей, таких как WannaCry, вам лучше начать планировать, как полностью и навсегда избавиться от SMB 1.0 из вашей сеть.

Что возвращает меня к моему первоначальному вопросу «Где SMB?» Судя по всему, Microsoft убрала педаль газа, улучшая основные сетевые функции, такие как SMB, и теперь сосредоточила большую часть своей энергии на расширении возможностей виртуализации Windows Server, чтобы сделать платформу более подходящей в качестве основы для построения частных сетей., общедоступные и гибридные облачные решения. Но, судя по прошлому опыту, Редмонд обычно не отводит глаз от дел очень долго, поэтому было бы неплохо получить представление о том, как развивался SMB за эти годы, и подумать о том, как его еще можно улучшить.