Инструкция по смене пароля пользователя
Обязательно проверьте все места, где могла использоваться учетная запись пользователя перед заменой пароля, например:
- в конфигурациях пайплайнов компонента Smart Monitor Data Collector (SM Data Collector)
- в конфигурационном файле
opensearch_dashboards.ymlкомпонента Smart Monitor Web (SM Web) - в настройках подключения модуля
Inventory - в настройках подключения модуля
User Behavior Analitics - настройки пользователя Smart Monitor Engine (SME) в хранилище паролей компонентов Smart Monitor Data Storage (SM Data Storage) и Smart Monitor Master Node (SM Master Node)
- настройки пользователя Smart Monitor Engine Remote Execution (SME-RE) в хранилище паролей компонентов Smart Monitor Data Storage (SM Data Storage) и Smart Monitor Master Node (SM Master Node)
- настройки подключения к Smart Beat Manager (SBM) в конфигурационном файле
opensearch_dashboards.ymlкомпонента Smart Monitor Web (SM Web) - внешние скрипты
Рекомендуется использовать отдельную сервисную учетную запись для каждого сервиса.
Генерация нового хэша пароля
Условные обозначения:
-
OS_HOME- домашняя директория OpenSearch, обычно это/app/opensearch/ -
OS_IP- IP-адрес одного из серверов кластера OpenSearch
Пароли предустановленных внутренних пользователей изменяются только этим способом. Для остальных пользователей доступно изменение через веб-интерфейс (Навигационное меню - Настройка безопасности - Внутренние пользователи).
Для начала необходимо сгенерировать новый хэш пароля, используя следующую команду:
JAVA_HOME=$OS_HOME/jdk/ $OS_HOME/plugins/opensearch-security/tools/hash.sh
Если появляется ошибка file permission, сделайте файл исполняемым командой:
chmod +x $OS_HOME/plugins/opensearch-security/tools/hash.sh
Предустановленные внутренние пользователи
Внутренние учетные записи Smart Monitor хранятся в файле ${OS_HOME}/config/opensearch-security/internal_users.yml.
В поле hash содержится bcrypt-хеш пароля. Для генерации нового хеша используйте скрипт hash.sh, описанный в разделе Генерация нового хэша пароля.
| Пользователь | Назначение |
|---|---|
admin | Зарезервированная административная учетная запись для администрирования кластера и конфигурации безопасности |
sme | Служебная учетная запись Smart Monitor Engine (SME) |
sme_re_user | Служебная учетная запись Smart Monitor Engine Remote Execution (SME-RE), используемая для выполнения запросов к компоненту |
kibanaserver | Служебная учетная запись Smart Monitor Web |
logstash | Служебная учетная запись Smart Monitor Data Collector для загрузки и обработки данных |
selfmon | Служебная учетная запись, используемая в конфигурации самомониторинга Smart Monitor |
Параметр reserved: true означает, что учетную запись нельзя изменять через REST API или Smart Monitor Web.
Создание резервной копии конфигурации security
Перед внесением изменений обязательно создайте резервную копию конфигурации плагина security. Мы рекомендуем сделать 2 копии:
-
одну в директорию с бэкапами, например,
/app/backup/opensearch-security-$(date +%Y%m%d)/ -
вторую, в которую планируется вносить изменения -
${OS_HOME}/config/opensearch-security/
Используйте следующую команду для создания резервной копии в директорию ${OS_HOME}/config/opensearch-security/. Перед этим убедитесь, что у вас есть сертификаты администратора (обычно они находятся на первом узле кластера SM Data Storage):
JAVA_HOME=${OS_HOME}/jdk/ ${OS_HOME}/plugins/opensearch-security/tools/securityadmin.sh -h ${OS_IP} \
-cacert ${OS_HOME}/config/ca-cert.pem \
-cert ${OS_HOME}/config/admin-cert.pem \
-key ${OS_HOME}/config/admin-key.pem \
--accept-red-cluster -nhnv -icl \
-backup ${OS_HOME}/config/opensearch-security/
Если появляется ошибка file permission, сделайте файл исполняемым командой:
chmod +x $OS_HOME/plugins/opensearch-security/tools/securityadmin.sh
Обновление пароля пользователя
- Откройте файл конфигурации пользователей
${OS_HOME}/config/opensearch-security/internal_users.yml
Обратите внимание на дополнительные поля в internal_users.yml
| Поле | Назначение |
|---|---|
reserved | Помечает пользователя, роль, сопоставление ролей или группу действий как зарезервированные. Такие ресурсы нельзя изменять через REST API или SM Web |
hidden | Так же можно скрыть пользователей, роли, сопоставления ролей и группы действий. Ресурсы с этим флагом, не будут отображаться в SM Web и не возвращаются через REST API |
hash | Хэш пароля пользователя |
opendistro_security_roles | Список внутренних ролей Smart Monitor |
backend_roles | Роли, назначаемые на основе имени пользователя |
attributes | Дополнительные атрибуты пользователя (опционально) |
static | Определяет пользователя как системный (его нельзя удалить) |
description | Описание пользователя (опционально) |
new-user:
hash: "<BCRYPT_HASH>"
reserved: false
hidden: false
opendistro_security_roles:
- "specify-some-security-role-here"
backend_roles:
- "specify-some-backend-role-here"
attributes:
attribute1: "value1"
static: false
description: "Demo admin user"
-
Найдите пользователя по имени (например:
admin) -
Вставьте новый хэш пароля в поле
hash, который был сгенерирован ранее. Например:
admin:
hash: "<BCRYPT_HASH>"
reserved: true
backend_roles:
- "admin"
opendistro_security_roles:
- "all_access"
description: "Base admin user"
- Сохраните изменения
Применение обновленной конфигурации
Обновите пароль во всех конфигурациях и компонентах, где используется соответствующая учетная запись.
После редактирования конфигурации необходимо применить изменения с помощью следующей команды:
JAVA_HOME=${OS_HOME}/jdk/ ${OS_HOME}/plugins/opensearch-security/tools/securityadmin.sh -h ${OS_IP} \
-cacert ${OS_HOME}/config/ca-cert.pem \
-cert ${OS_HOME}/config/admin-cert.pem \
-key ${OS_HOME}/config/admin-key.pem \
-icl -nhnv \
-t internalusers \
-f ${OS_HOME}/config/opensearch-security/internal_users.yml \