- PVSM.RU - https://www.pvsm.ru -
За последний год возникало много утечек из баз Elasticsearch [1] (вот [2], вот [3]и вот [4]). Во многих случаях в базе хранились персональные данные. Этих утечек можно было избежать, если бы после разворачивания базы администраторы потрудились проверить несколько несложных настроек. Сегодня о них и поговорим.
Сразу оговоримся, что в своей практике используем Elasticsearch для хранения логов и анализа журналов средств защиты информации, ОС и ПО в нашей IaaS-платформе, соответствующей требования 152-ФЗ, Cloud-152.
В большинстве известных случаев утечек (вот [5], вот [6]) злоумышленник получил доступ к данным просто и незатейливо: база была опубликована в интернете, и к ней можно было подключиться без аутентификации.
Сначала разберемся с публикацией в интернете. Почему так получается? Дело в том, что для более гибкой работы Elasticsearch рекомендуется [7] создавать кластер из трех серверов. Чтобы БД общались между собой, нужно открывать порты. В итоге администраторы никак не ограничивают доступ к базе, и к БД можно подключиться отовсюду. Проверить, нет ли к базе доступа извне, легко. Просто в браузере вводим http://[IP/Имя Elasticsearch]:9200/_cat/nodes?v
Если получается зайти, значит бегом закрывать.
Теперь сделаем так, чтобы к базе нельзя было подключиться без аутентификации.
У Elasticsearch есть модуль аутентификации, который ограничивает доступ к базе, но он только в платном наборе плагинов X-Pack (1 месяц бесплатного использования).
Хорошие новости в том, что осенью 2019 года Amazon открыл свои наработки, которые пересекаются с X-Pack. Функция аутентификации при подключении к базе стала доступна под свободной лицензией для версии Elasticsearch 7.3.2., и уже в работе новый релиз для Elasticsearch 7.4.0.
Устанавливается этот плагин просто. Заходим в консоль сервера и подключаем репозиторий:
RPM Based:
curl d3g5vo6xdbdb9a.cloudfront.net/yum/opendistroforelasticsearch-artifacts.repo [8] -o /etc/yum.repos.d/opendistroforelasticsearch-artifacts.repo
yum update
yum install opendistro-security
DEB Based:
wget -qO ‐ d3g5vo6xdbdb9a.cloudfront.net/GPG-KEY-opendistroforelasticsearch [9] | sudo apt-key add -
При установке плагина меняется конфигурация порта подключения к базе. На нем включается шифрование SSL. Чтобы сервера кластера смогли и дальше друг с другом работать, нужно настроить взаимодействие между ними с помощью SSL.
Доверие между хостами можно установить с помощью собственного удостоверяющего центра или без него. С первым способом все понятно: просто нужно обратиться к специалистам по CA. Перейдем сразу ко второму.
Все, это минимальные настройки, которые закрывают Elasticsearch от неавторизованного подключения.
Автор: Виталий
Источник [10]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/345749
Ссылки в тексте:
[1] Elasticsearch: https://habr.com/ru/post/280488/
[2] вот: https://habr.com/ru/news/t/477116/
[3] вот : https://habr.com/ru/news/t/482586/
[4] вот: https://habr.com/ru/company/devicelockdlp/blog/432354/
[5] вот: https://hacken.io/research/industry-news-and-insights/new-data-breach-exposes-57-million-records/
[6] вот: https://www.infosecurity-magazine.com/news/french-hotel-giant-leaks-1tb-of/
[7] рекомендуется: https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html
[8] d3g5vo6xdbdb9a.cloudfront.net/yum/opendistroforelasticsearch-artifacts.repo: https://d3g5vo6xdbdb9a.cloudfront.net/yum/opendistroforelasticsearch-artifacts.repo
[9] d3g5vo6xdbdb9a.cloudfront.net/GPG-KEY-opendistroforelasticsearch: https://d3g5vo6xdbdb9a.cloudfront.net/GPG-KEY-opendistroforelasticsearch
[10] Источник: https://habr.com/ru/post/487210/?utm_source=habrahabr&utm_medium=rss&utm_campaign=487210
Нажмите здесь для печати.