Translated message

A translation of this page exists in English.

Badlock: уязвимость в Samba (CVE-2016-2118)

Public Date: April 12, 2016, 12:00 am
Updated -
Resolved Status
Important Impact
Центр безопасности Red Hat сообщает об уязвимости в протоколах SAMR и LSA на базе DCE/RPC, используемых в инфраструктуре Microsoft Windows Active Directory. Этой уязвимости был назначен идентификатор CVE-2016-2118 и присвоен рейтинг на уровне ВАЖНО. Одновременно был обнаружен ряд других уязвимостей, имеющих непосредственное отношение к этой, рейтинг которых варьируется от среднего до критического: Критические уязвимости в Samba от 12.04.2016 .
Примечание. Так как проблема была обнаружена на уровне протокола, она затрагивает все использующие его приложения и продукты, в том числе Samba ( CVE-2016-2118 ) и Microsoft Windows ( CVE-2016-0128.)

Описание

DCE/RPCспецификация механизма вызова удаленных процедур, определяющая как API, так и протокол, который реализован поверх транспортных протоколов. Протокол SAMR (Security Account Manager Remote) реализует модель клиент-сервер и предоставляет функциональность, необходимую для управления хранилищем с данными учетных записей и каталогом пользователей и групп. Протокол предоставляет доступ к базе данных учетных записей как для локальных, так и для удаленных доменов Microsoft Active Directory. Протокол LSA (Local Security Authority Remote Protocol) выполняет задачи управления политикой безопасности машин и доменов. Если не считать редких исключений, LSA допускает реализацию сценариев удаленного управления политикой. Оба протокола — и LSA, и SAMR — построены на основе DCE RPC 1.1.
Перечисленные протоколы обычно доступны во всех установках Windows и на любом сервере Samba. Их основная цель — поддержка состояния базы данных диспетчера учетных записей безопасности независимо от функции сервера (будь то автономный сервер, контроллер домена или рядовой узел домена).

Благодарности

Red Hat благодарит проект Samba за предоставление информации об этой уязвимости, который, в свою очередь, отмечает вклад сотрудника компании SerNet Стефана Метцмахера (Stefan Metzmacher), который ее обнаружил.

Продукты

Red Hat оценивает эту уязвимость как ВАЖНУЮ . Остальные связанные с ней уязвимости были классифицированы по-разному — среди них есть уязвимости как со средним уровнем угрозы, так и критические. Они обсуждаются в отдельной статье: Критические уязвимости в Samba от 12.04.2016 Дополнительную информацию о Badlock можно найти в статье: Badlock: эксплуатация уязвимостей в протоколах SAMR и LSA для проведения MTIM-атаки на Samba (CVE-2016-2118) .

Перечень уязвимых продуктов Red Hat:

  • Red Hat Enterprise Linux 4*
  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • Red Hat Gluster Storage 3
Все версии Samba в дистрибутивах Red Hat Enterprise Linux Server и Red Hat Gluster Storage являются уязвимыми.

* Для получения обновлений для RHEL4 необходима действительная подписка ELS. Свяжитесь с отделом продаж Red Hat или с вашим торговым представителем, чтобы подтвердить наличие подписки на план ELS.

Что такое план вспомогательной поддержки ELS?

Вектор атаки и оценка последствий

Вектор атаки может быть направлен на любое инициированное клиентом подключение DCE/RPC, в ходе которого злоумышленник осуществляет перехват трафика и выдает себя за аутентифицированного на уровне SAMR или LSA пользователя, получая доступ на чтение и запись к расположенной на сервере базе данных SAM, содержащей пароли и другую конфиденциальную информацию.
В этой ситуации ни используемый клиентом протокол, ни тип аутентификации (Kerberos, NTLMSSP), ни уровень аутентификации (NONE, CONNECT, SIGN, SEAL) не имеют значения, так как атакующая сторона сможет снизить уровень до CONNECT и получить контроль над соединением. Уязвимость Badlock была ликвидирована наряду с серией других CVE, обсуждаемых в статье:

Идентификация угрозы

Если Samba выступает в роли элемента домена в окружении AD:

  • Признак: 'security = ads' в файле smb.conf
    • Рекомендуется обновление до samba3x (3.6) в RHEL5, либо переход на RHEL6 с samba (3.6) или RHEL7 с samba (4.2).
    • Процесс миграции не является автоматическим и должен планироваться заранее, особенно в окружениях, где используется IDMAP, так обновление версий 3.0 до 3.6 и 3.6 до 4.x приведет к значительным изменениям, которые должны приниматься во внимание.

Если Samba выступает в роли элемента домена в окружении NT:

  • Признак: 'security = domain' в файле smb.conf
    • Рекомендуется обновление до samba3x (3.6) в RHEL5, либо переход на RHEL6 с samba (3.6) или RHEL7 с samba (4.2).
    • Процесс миграции не является автоматическим и должен планироваться заранее, особенно в окружениях, где используется IDMAP, так обновление версий 3.0 до 3.6 и 3.6 до 4.x приведет к значительным изменениям, которые должны приниматься во внимание.

Если Samba выступает в роли файлового сервера:

  • Признаки: 'security = user', 'security = ads', 'security = domain' или 'security = standalone', а в файле smb.conf определены ресурсы с общим доступом
    • Рекомендуется обновление до samba3x (3.6) в RHEL5, либо переход на RHEL6 с samba (3.6) или RHEL7 с samba (4.2).
    • Процесс миграции не является автоматическим и должен планироваться заранее, особенно в окружениях, где используется IDMAP, так обновление версий 3.0 до 3.6 и 3.6 до 4.x приведет к значительным изменениям, которые должны приниматься во внимание.

Вопросы и ответы

  1. Я установил исправления на подконтрольных мне клиентах и серверах Samba. Какие службы после этого надо перезапустить?
    • Вручную ничего перезапускать не требуется. После установки обновлений перезапуск службы smb произойдет автоматически.
  2. Исправления должны устанавливаться и на серверах, и на клиентах Samba?
    • Как минимум необходимо установить исправления на сервере Samba. Так как Badlock — это уязвимость на уровне протокола, то в зависимости от особенностей инфраструктуры Samba она может представлять опасность не только для серверов, но и для клиентов, поэтому центр безопасности продуктов Red Hat рекомендует обновить и те, и другие.
  3. Как повлияет обновление пакетов на работу клиентов с более ранними версиями Samba?
    • Эти рекомендации ужесточают требования к параметрам безопасности Samba, что может нарушить конфигурацию окружений, в которых был обновлен только сервер Samba, а клиенты не обновлялись. В целях сохранения функциональной совместимости вы можете предпочесть использовать старые, но незащищенные параметры (например, allow dcerpc auth level connect = yes в файле smb.conf ), но центр безопасности продуктов Red Hat не рекомендует этого делать, так как ваше окружение по-прежнему останется уязвимым.
  4. Ни один из моих экземпляров сервера Samba не связан с доменами Windows. Они все равно подвержены риску?
    • Да. Любой незащищенный клиент, устанавливающий соединение с сервером Samba, или даже защищенный клиент, взаимодействующий с незащищенным сервером Samba, может оказаться жертвой MTIM-атаки.
  5. Можно ли предотвратить риск MTIM-атаки, включив шифрование?
    • Протокол SMB изначально поддерживал шифрование только идентификационных данных и команд, в то время файлы передавались в открытом виде. Так как защита всех передаваемых данных была признана необходимостью, в Samba 3.2 было добавлено шифрование, но только для клиентов Samba. Microsoft добавил поддержку шифрования в SMB 3.0 для Windows 8 и Windows Server 2012. Однако новые возможности шифрования предусматривали только защиту обмена данными (например, файлами) уже после завершения этапа согласования сеанса SMB и обмена командами, в то время как именно этот этап и подвержен наибольшей опасности. Несомненно, шифрование Samba/SMB повышает общий уровень защиты соединения, но не предотвращает риск эксплуатации обсуждаемой здесь уязвимости.
  6. Какие версии Samba уже исправлены?
    • Red Hat обновляет пакеты samba, samba3x, samba4 для версий Samba versions 4.2, 4.1, 4.0, 3.6, 3.0 во всех поддерживаемых продуктах и зависимостях (что включает IPA, OpenChange и библиотеки libtalloc, libtdb и libevent).

Уязвимые конфигурации

Эта уязвимость представляет опасность для инфраструктуры Active Directory с сервером Samba в составе домена. Злоумышленник может инициировать MTIM-атаку для перехвата трафика DCE/RPC между узлом и контроллером домена, выступив в роли клиента и получив разрешения, присущие авторизованному пользователю.
Любой сервер Samba, выполняющий функции файлового сервера или сервера печати, также подвержен риску.

Обновления

Red Hat Enterprise Linux 4 (ELS)* samba (v3.0) RHSA-2016:0625
Red Hat Enterprise Linux 5 samba (v3.0) RHSA-2016:0621
Red Hat Enterprise Linux 5 samba3x (v3.6) RHSA-2016:0613
Red Hat Enterprise Linux 5.6 Long Life samba (v3.0) RHSA-2016:0623
Red Hat Enterprise Linux 5.6 Long Life samba3x (v3.6) RHSA-2016:0624
Red Hat Enterprise Linux 5.9 Long Life samba (v3.0) RHSA-2016:0623
Red Hat Enterprise Linux 5.9 Long Life samba3x (v3.6) RHSA-2016:0624
Red Hat Enterprise Linux 6 samba (v3.6) RHSA-2016:0611
Red Hat Enterprise Linux 6 samba4 (v4.0) RHSA-2016:0612
Red Hat Enterprise Linux 6.2 Advanced Update Support** samba (v3.6) RHSA-2016:0619
Red Hat Enterprise Linux 6.2 Advanced Update Support** samba4 (v4.0) RHSA-2016:0620
Red Hat Enterprise Linux 6.4 Advanced Update Support** samba (v3.6) RHSA-2016:0619
Red Hat Enterprise Linux 6.4 Advanced Update Support** samba4 (v4.0) RHSA-2016:0620
Red Hat Enterprise Linux 6.5 Advanced Update Support** samba (v3.6) RHSA-2016:0619
Red Hat Enterprise Linux 6.5 Advanced Update Support** samba4 (v4.0) RHSA-2016:0620
Red Hat Enterprise Linux 6.6 Extended Update Support samba (v3.6) RHSA-2016:0619
Red Hat Enterprise Linux 6.6 Extended Update Support samba4 (v4.0) RHSA-2016:0620
Red Hat Enterprise Linux 7 samba (v4.2) RHSA-2016:0612
Red Hat Enterprise Linux 7.1 Extended Update Support samba (v4.1) RHSA-2016:0618
Red Hat Gluster Storage 3 (EL6) samba (v4.2) RHSA-2016:0614
Red Hat Gluster Storage 3 (EL7) samba (v4.2) RHSA-2016:0614

* Для получения обновлений для RHEL4 необходима подписка ELS. Свяжитесь с отделом продаж Red Hat или с вашим торговым представителем, чтобы подтвердить наличие действительной подписки на план ELS.

Что такое план вспомогательной поддержки ELS?

** Для получения обновлений для RHEL 6.x AUD необходима действительная подписка AUS.

Меры предосторожности

Уровень угрозы можно несколько снизить, отказавшись от использования привилегированных учетных записей для доступа к сервисам SMB/CIFS до тех пор, пока не будут установлены актуальные исправления. Административный доступ следует использовать только непосредственно на физическом оборудовании (консоль, сервер), чтобы исключить необходимость передачи данных по сети в ходе аутентификации.

Решение

Новая опция в smb.conf
В этом обновлении добавлена новая директива в файле smb.conf:
allow dcerpc auth level connect (G)
Эта директива контролирует доступ к сервисам DCE/RPC при использовании режима DCERPC_AUTH_LEVEL_CONNECT, который включает аутентификацию на стадии подключения, но без подписи отдельных сообщений (SIGN) и защиты шифрованием (SEAL).
В коде некоторых интерфейсов (SAMR, LSARPC и netlogon) уже прописано значение no, в то время как в других (epmapper, mgmt, rpcecho) по умолчанию запрограммировано yes.
Это поведение можно изменить отдельно для каждого интерфейса (lsarpc, netlogon, samr, srvsvc, winreg, wkssvc), добавив строку 'allow dcerpc auth level connect:interface = yes'.
Новая директива отдает предпочтение ограничениям, накладываемым реализацией индивидуальных протоколов. Примеры таких ограничений:
  • Протоколы drsuapi и backupkey используют DCERPC_AUTH_LEVEL_PRIVACY.
  • Протокол dnsserver использует DCERPC_AUTH_LEVEL_INTEGRITY.
По умолчанию: allow dcerpc auth level connect = no
Пример: allow dcerpc auth level connect = yes

Comments