Установка OpenSearch в Debian

OpenSearch - это пакет для поиска и аналитики с открытым исходным кодом. Разработчики создают решения для поиска, наблюдаемости данных, ввода данных и многого другого, используя OpenSearch.

Еще один популярный вариант использования - аналитика журналов. Вы берете журналы приложений, серверов и сетевых элементов, передаете их в OpenSearch и используете богатые возможности поиска и визуализации для выявления проблем. Например, неисправный веб-сервер может выдавать ошибку 500 в 0,5% случаев, что может быть трудно заметить, если у вас нет графика всех кодов состояния HTTP, которые сервер выдавал в реальном времени за последние двадцать четыре часа. Вы можете использовать OpenSearch Dashboards для создания подобных визуализаций на основе данных из OpenSearch.

OpenSearch предлагается под лицензией Apache Software License, версия 2.0, что означает, что это бесплатное программное обеспечение с открытым исходным кодом и поддерживается сообществом. OpenSearch и Dashboards первоначально были получены из Elasticsearch 7.10.2 и Kibana 7.10.2.

Проекты с открытым исходным кодом часто сопровождаются очень активными сообществами. OpenSearch имеет более 1,4 миллиона загрузок и тысячи звезд в 70+ репозиториях GitHub. Проект OpenSearch также входит в топ-5 поисковых систем в рейтингах DB engine.

Установка OpenSearch из репозитория APT

APT, основной инструмент управления пакетами для операционных систем на базе Debian, позволяет вам загрузить и установить пакет Debian из репозитория APT.

Установите Java

Установка Java

Установите дополнительные пакеты, неоходимые для установки GPG ключей.

Импортируйте открытый ключ GPG. Этот ключ используется для проверки того, что репозиторий APT подписан.

Создайте репозиторий APT для OpenSearch

убедитесь, что репозиторий был добавлен.

sudo apt-get update

Добавив информацию о репозитории, перечислите все доступные версии OpenSearch:

доступные версии OpenSearch

Выберите версию OpenSearch, которую вы хотите установить:

Если не указано иное, устанавливается последняя доступная версия OpenSearch.

Установка OpenSearch в Debian

Чтобы установить определенную версию OpenSearch, укажите версию вручную, используя opensearch=[version]

После завершения установки включите автоматический запуск OpenSearch.

и запустите службу OpenSearch.

Убедитесь, что OpenSearch запустился правильно.

sudo systemctl status opensearch

Прежде чем приступать к настройке, необходимо протестировать установку OpenSearch. В противном случае может быть трудно определить, вызваны ли будущие проблемы проблемами установки или пользовательскими настройками, которые вы применили после установки.

Когда OpenSearch устанавливается с помощью пакета Debian, некоторые демонстрационные настройки безопасности применяются автоматически. Они включают самоподписанные сертификаты TLS и несколько пользователей и ролей. Если вы хотите настроить их самостоятельно, смотрите раздел Настройка OpenSearch в вашей среде.

Узел OpenSearch в конфигурации по умолчанию (с демонстрационными сертификатами и пользователями с паролями по умолчанию) не подходит для производственной среды. Если вы планируете использовать узел в производственной среде, вам следует, как минимум, заменить демонстрационные TLS-сертификаты на собственные TLS-сертификаты и обновить список внутренних пользователей и паролей. Дополнительные рекомендации по обеспечению конфигурации узлов в соответствии с требованиями безопасности см. в разделе Конфигурация безопасности.

Отправьте запросы на сервер, чтобы убедиться, что OpenSearch запущен. Обратите внимание на использование флага --insecure, который необходим, поскольку сертификаты TLS являются самоподписанными.

Отправьте запрос на порт 9200:

Вы должны получить ответ, который будет выглядеть следующим образом:

curl -X GET https://localhost:9200 -u 'admin:admin' --insecure

Настройка OpenSearch

По умолчанию OpenSearch не привязан к сетевому интерфейсу и не может быть доступен внешним хостам. Кроме того, параметры безопасности заполнены именами пользователей и паролями по умолчанию. Следующие рекомендации позволят пользователю привязать OpenSearch к сетевому интерфейсу, создать и подписать сертификаты TLS, а также настроить базовую аутентификацию.

Следующие рекомендуемые настройки позволят вам:

  • Привязать OpenSearch к IP-адресу или сетевому интерфейсу на хосте.
  • Установить начальный и максимальный размеры кучи JVM.
  • Определить переменную окружения, указывающую на поставляемый JDK.
  • Настроить собственные сертификаты TLS - сторонний центр сертификации (ЦС) не требуется.
  • Создайте пользователя admin с пользовательским паролем.

Если вы запустили сценарий демонстрации безопасности, то вам нужно будет вручную перенастроить измененные параметры. Прежде чем продолжить, обратитесь к разделу "Конфигурация безопасности".

Прежде чем изменять какие-либо файлы конфигурации, всегда полезно сохранить резервную копию перед внесением изменений. Резервный файл может быть использован для устранения любых проблем, вызванных неправильной конфигурацией.

Откройте файл opensearch.yml.

добавьте следующие строки:

Сохраните изменения и закройте файл.

Укажите начальный и максимальный размеры кучи JVM.

Откройте файл jvm.options.

Измените значения начального и максимального размеров кучи. В качестве отправной точки, вы должны установить эти значения на половину доступной системной памяти. Для выделенных хостов это значение может быть увеличено в зависимости от требований рабочего процесса.
Например, если хост-машина имеет 8 ГБ памяти, то начальный и максимальный размеры кучи следует установить на 4 ГБ:

Сохраните изменения и закройте файл.

Настройка TLS

Сертификаты TLS обеспечивают дополнительную безопасность вашего кластера, позволяя клиентам подтверждать идентичность узлов и шифровать трафик между клиентом и узлом. Для получения дополнительной информации обратитесь к разделам Настройка сертификатов TLS и Генерация сертификатов, которые включены в документацию Security Plugin. Для работы в среде разработки обычно достаточно самоподписанных сертификатов. В этом разделе мы расскажем вам об основных шагах, необходимых для создания собственных TLS сертификатов и их применения к вашему хосту OpenSearch.

Перейдите в каталог, где будут храниться сертификаты.

Удалите демонстрационные сертификаты.

Сгенерируйте корневой сертификат. Это то, что вы будете использовать для подписи других сертификатов.

Используйте закрытый ключ для создания самоподписанного корневого сертификата. Обязательно замените аргументы, переданные в -subj, чтобы они отражали ваш конкретный хост.

Далее создайте сертификат администратора. Этот сертификат используется для получения повышенных прав для выполнения административных задач, связанных с плагином безопасности.

Создайте закрытый ключ для сертификата администратора.

Преобразуйте закрытый ключ в PKCS#8.

Создайте запрос на подписание сертификата (CSR). Общее имя (CN) "A" является приемлемым, поскольку этот сертификат используется для аутентификации повышенного доступа и не привязан к хосту.

Подпишите сертификат администратора с помощью корневого сертификата и закрытого ключа, которые вы создали ранее.

Создайте сертификат для конфигурируемого узла.

Преобразуйте закрытый ключ в PKCS#8.

Создайте CSR и замените аргументы, переданные в -subj, чтобы они отражали ваш конкретный хост.

# CN должен соответствовать записи DNS A для хоста - не используйте имя хоста.

Создайте файл расширения, определяющий DNS-имя SAN для узла. Этот должно соответствовать записи DNS A хоста.

Подпишите сертификат узла с помощью корневого сертификата и закрытого ключа, которые вы создали ранее.

Удалите временные файлы, которые больше не нужны.

Убедитесь, что оставшиеся сертификаты принадлежат пользователю opensearch.

Добавьте эти сертификаты в opensearch.yml, как описано в разделе Генерация сертификатов. Опытные пользователи также могут добавить настройки с помощью сценария:

(Необязательно) Добавьте доверие для самоподписанного корневого сертификата.

Скопируйте корневой сертификат в нужный каталог

Добавить доверие

Настройка пользователя

Пользователи определяются и аутентифицируются OpenSearch различными способами. Один из способов, не требующий дополнительной инфраструктуры бэкенда, заключается в ручной настройке пользователей в файле internal_users.yml. Дополнительную информацию о настройке пользователей смотрите в разделе Файлы YAML. Следующие шаги объясняют, как удалить всех демонстрационных пользователей, кроме пользователя admin, и как заменить пароль admin по умолчанию с помощью скрипта.

Перейдите в каталог инструментов плагинов безопасности.

Запустите файл hash.sh для генерации нового пароля. Этот сценарий завершится неудачно, если не определен путь к JDK.

Введите нужный пароль в подсказке и запишите хэш на выходе.

 OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./hash.sh

Откройте файл internal_users.yml.

Удалите всех демо-пользователей, кроме admin, и замените хэш на результат, полученный с помощью hash.sh в предыдущем шаге. Файл должен выглядеть так, как показано в следующем примере:

/etc/opensearch/opensearch-security/internal_users.yml

Применить изменения

Теперь, когда сертификаты TLS установлены, а демо-пользователи удалены или им присвоены новые пароли, остается последний шаг - применить изменения в конфигурации. Этот последний шаг настройки требует вызова securityadmin.sh, пока OpenSearch запущен на хосте.

OpenSearch должен быть запущен, чтобы securityadmin.sh применил изменения. Если вы внесли изменения в opensearch.yml, перезапустите OpenSearch.

Откройте отдельный термина на хосте и перейдите в каталог, содержащий securityadmin.sh.

Запустите сценарий. Определения аргументов, которые необходимо передать, см. в разделе Применить изменения с помощью securityadmin.sh.

Вы можете опустить переменную окружения, если вы объявили ее в своем $PATH.

Заключение

В данной статье мы обьяснили как установить и настроить OpenSearch в Debian, которыя является альтернативой Elasticsearch под лицензией Apache 2.0, со 100 % открытым исходным кодом.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий