Вступление
Какая самая опасная угроза существует для корпоративной сети? Возможно, это физическое разрушение сервера, DDoS-атака злоумышленника на сервер или ошибка сотрудника в конфигурации ПО? Однако более глобальная проблема кроется в самой системе. Протоколы являются неотъемлемой частью этого процесса. Они устанавливают правила передачи данных по сети, которые напоминают кровь в организме. Любая инфекция и вирус передаются через эту жидкость. Абсолютно то же самое и с протоколом!
SMB, или серверный блок сообщений, – это протокол, разработанный для передачи файлов по сети. Его цель – облегчить общий доступ к файлам, принтерам и другим ресурсам между компьютерами, подключенными к сети. Значимость этого набора правил передачи чрезвычайно важна. Различные операционные системы получили возможность обмениваться данными без проблем с совместимостью, такие как Mac OS, Linux и Windows.
Поэтому он довольно часто используется в корпоративных сетях, и, к сожалению, уязвимость является большой проблемой!
Анализ: проверьте свои настройки
Давайте сначала взглянем на версию протокола, которую вы используете:
- Зажмите комбинацию клавиш Win+R и напишите powershell;
- Затем введите приведенную ниже команду в CLI.
sc.exe qc lanmanworkstationе
Найдите строчку Dependencies и проверьте параметры, которые указаны рядом:

Строчка обозначает поддержку соответствующей версии вашего SMB протокола:
- smb1 — mrxsmb10.sys;
- smb2 — mrxsmb20.sys;
- smb3 — mrxsmb30.sys.
Если по несчастью у вас установлен протокол первой версии или вы хотите быть уверены, что он точно не доставит проблем, то я советую вам отключить его с помощью приведенных ниже команд:
sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi
Приведенная выше строка включает зависимости SMB2/3.
sc.exe config mrxsmb10 start= disabled
И эта команда отключает протокол первой версии. Все эти действия связаны с тем, что SMB1 не имеет надежного алгоритма шифрования, поэтому конфиденциальность, целостность и доступность сети остается под вопросом.
Методы: меры защиты
Если у вас установлена вторая или третья версия протокола, значит, вам необходимо выполнить два действия для сохранения информационной безопасности: выполнить настройку правил брандмауэра, который позволит разграничить сеть по определенному порту и включить шифрование, которое поможет избежать перехвата и дешифровки.
Правила брандмауэра
Есть несколько случаев сетевой архитектуры, в которых люди используют SMB за пределами своей LAN, однако это очень небольшой процент. Тогда SMB станет лакомым кусочком для нападающих. Вам необходимо написать правила для входящих и исходящих подключений для вашего брандмауэра. Заблокируйте TCP-порт с номером 445:


И вам нужно выполнить аналогичные действия для исходящих подключений.
Включите шифрование
В Windows Server у вас есть настройки по умолчанию для SMB: отключить шифрование. У этой проблемы есть быстрое решение. На стороне сервера откройте командную строку с повышенными правами доступа и введите следующую команду:
reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" /v "SMBEncryption" /t REG_DWORD /d 1 /f
И в клиент введите:
reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "RequireSecureNegotiate" /t REG_DWORD /d 1 /f
Описание команды и ее атрибутов:
- /v “SMBEncryption” — Этот атрибут указывает имя значения, которое будет добавлено;
- /t REG_DWORD — Этот атрибут определяет тип данных, которые будут храниться в значении. В этом случае это будет 32-разрядное двоичное значение (DWORD);
- /d 1 — Этот атрибут определяет данные, которые будут сохранены в значении. В этом случае он устанавливает значение равным 1, что включает шифрование SMB;
- /f — Этот атрибут указывает команде reg принудительно выполнить операцию без запроса подтверждения. Если этот атрибут опущен, команда предложит вам подтвердить, прежде чем вносить какие-либо изменения.
В целом, эта команда добавляет новое значение в реестр Windows, которое включает шифрование SMB на сервере или клиенте, в зависимости от того, что используется.
Вывод
Я настоятельно рекомендую отказаться от SMB1 из-за отсутствия шифрования. Используйте более новую версию этого протокола SMB2/3 или отключите их, если они вам не нужны. Включите шифрование и добавьте правила брандмауэра для TCP-порта 445.