Еще безопаснее: поддержка Kerberos Active Directory в продуктах Arenadata

обучение Arenadata, курсы Arenadata, администрирование кластера Hadoop Arenadata курсы обучение примеры, безопасность кластера Hadoop, Arenadata Hadoop обучение администраторов курсыб Apache Ambari Kerberos Hadoop примеры курсы обучение, Школа Болших Данных Учебный Центр Коммерсант

24 февраля 2022 года российская компания Аренадата Софтвер, выпускающая корпоративные решения для хранения и аналитики больших данных, добавила поддержку защищенного протокола Kerberos в своих продуктах Arenadata Hadoop, Streaming и Platform Security. Разбираемся, чем это полезно, как связано с Apache Ambari и как настроить.

Улучшенная безопасность продуктов Arenadata c Kerberos Active Directory 

Напомним, Arenadata Hadoop (ADH), Arenadata Streaming (ADS) и Arenadata Platform Security (ADPS) входят в Arenadata EDP – многофункциональную корпоративную платформу от отечественного разработчика, которая позволяет оперировать большими объёмами данных, обеспечивая отказоустойчивость и высокую производительность в любой среде, в т.ч. публичные и частные облака. Все решения Arenadata построены на open-source проектах, адаптированы для корпоративного использования и зарегистрированы в Едином реестре российских программ для электронных вычислительных машин и баз данных. Благодаря этому продукты Arenadata отлично подходят для цифровизации государственных и частных компании в России, позволяя избежать зависимости от вендора и валютных рисков.

Добавленная в феврале 2022 года возможность предотвращать несанкционированный доступ к сервисам и данным кластеров делает платформу Arenadata еще более безопасной. Теперь конечные пользователи при обращении к данным смогут защитить конфиденциальную информацию посредством хранения авторизационных сведений в Active Directory, включив Kerberos-авторизацию для всех компонентов. Вместе с системой управления групповыми политиками безопасности Arenadata Platform Security, о чем мы подробно писали здесь, можно предупредить неперсонифицированный доступ, т.е. без ввода доменного логина и пароля, к данным. Также Kerberos Active Directory помогает централизованно и гибко управлять правами доступа к сервисам и данным. Kerberos Active Directory доступен в enterprise-версиях продуктов Arenadata начиная с версии 2.1.4_b6-1:

  • Arenadata Hadoop — 2.1.4_b6-1$
  • Arenadata Streaming — 1.6.2_b4-1;
  • Arenadata Platform Security — 1.0.2_b7-1.

Обычно Kerberos в кластере Hadoop настраивается под управлением Apache Ambari. Что это такое и как настроить Ambari для аутентификации LDAP или Active Directory, мы рассмотрим далее.

Безопасность Hadoop-кластера с Apache Ambari

Напомним, Apache Ambari является одним из security-инструментов для администратора Hadoop-кластера. Этот opne-source проект позволяет предоставлять, управлять и контролировать кластер, а также интегрировать Hadoop с существующей инфраструктурой предприятия. Ambari нацелен на упрощение работы с Hadoop-кластерами при помощи UI, управляемого с помощью собственного RESTful API.

Ambari обеспечивает пошаговую установку сервисов Hadoop для любого количества хостов и поддерживает конфигурации сервисов Hadoop для кластера. Также Ambari предоставляет доступ к панели контроля состояния кластера Hadoop с помощью системы измерений и фреймворка сигналов для системных оповещений. REST API позволяет интегрировать приложения с Hadoop. По умолчанию Ambari использует внутреннюю базу данных в качестве хранилища пользователя для аутентификации и авторизации.

Hadoop использует защищенный протокол Kerberos для строгой аутентификации и удостоверения подлинности пользователей и сервисов. Kerberos стал стандартом де-факто в области Big Data, предполагает, что после успешной первичной аутентификации центр распределения ключей (Key Distribution Center, KDC) выдает первичное удостоверение пользователя для доступа к сетевым ресурсам — Ticket Granting Ticket (TGT). Далее при обращении к отдельным ресурсам, пользователь предъявляет TGT и получает от центра распределения ключей удостоверение для доступа к конкретному сетевому ресурсу (Service Granting Ticket, TGS).

Когда кластер включен с Kerberos, конечные точки компонента REST, например, YARN ATS, требуют аутентификации SPNEGO для доступа к данным API. Некоторые представления типа Tez View также нуждаются в доступе к ATS. Поэтому сервер Ambari требует принципала Kerberos для аутентификации через SPNEGO в отношении этих API. Следует настроить сервер Ambari с помощью принципала Kerberos и keytab, чтобы позволить представлениям аутентифицироваться через SPNEGO по компонентам кластера.

Такая настройка сводится к следующим шагам:

  • создать принципала в KDC для сервера Ambari. Принципал – это база данных пользователей и сервисов, известных KDC, и соответствующие пароли Kerberos;
  • cоздать keytab для этого принципала. Keytab – это файл таблицы ключей, содержащий пары имен субъектов Kerberos и зашифрованные ключи, полученные из пароля Kerberos. Такой файл может использоваться для идентификации в Kerberos без запроса пароля.
  • Поместить keytab на хост сервера Ambari, задав права для keytab-файлов, чтобы пользователь, который запускает Ambari Server, мог получить доступ к этим файлам:
  • остановить сервер Ambari;
  • настроить безопасность, запустив команду setup-security и задав нужные значения для Ambari kerberos JAAS, имени созданного принципала Kerberos, пути к keytab для принципала Ambari;
  • перезапустить сервер

При автоматической настройке Kerberos с Active Directory в зависимости от прав KDC можно настроить атрибуты принципалов, устанавливаемые Ambari при их создании. В решениях Arenadata можно использовать готовые шаблоны атрибутов Ambari, основанные на синтаксисе шаблонов Apache Velocity. Эти шаблоны можно изменить по-своему, определив, какие атрибуты назначаются принципалам, и как эти значения получаются.

Если необходимо еще более усилить защиту данных в кластере Arenadata Hadoop, можно включить шифрование, настроив Truststore Ambari и добавив сертификаты. Также можно использовать двусторонний SSL, который обеспечивает шифрование связи между сервером и агентами Ambari. По умолчанию Ambari отправляет данные с отключенным двухсторонним SSL. Во время настройки Truststore и двустороннего SSL сервер Ambari не должен быть запущен: его следует остановить для внесения изменений или сделать необходимые настройки до первого запуска.

Чтобы отключить определенные шифры, доступные через Ambari Server, необходимо добавить их список в ambari.properties, например:

security.server.disabled.ciphers=TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA

Аналогичным образом можно отключить некоторые протоколы:

security.server.disabled.protocols=SSL|SSLv2|SSLv3.

Читайте в нашей новой статье про отечественный программно-аппаратный комплекс для хранения и аналитической обработки данных СКАЛА-Р МБД8 на базе продуктов Arenadata. А освоить все тонкости администрирования и безопасной эксплуатации Hadoop-кластеров, в т.ч. на платформе Arenadata, для эффективной аналитики больших данных  вам помогут специализированные курсы в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:

Источники

  1. https://arenadata.tech/about/news/poderjka-kerberos/
  2. https://ru.bmstu.wiki/Apache_Ambari
  3. https://docs.arenadata.io/adh/v1.5.2/SecurityAmbari/config.html
Поиск по сайту