Шифрование конфигурационного файла .env
Описание
Принтум поддерживает шифрование конфигурационного файла .env с помощью переменной ENV_VAULT_PASSWORD и утилиты env-vault. При включённом шифровании файл хранится в зашифрованном виде (.env.enc), а все команды запуска системы требуют указания пароля.
Активация шифрования при установке Мониторинга
Для активации шифрования при установке дополнительно задайте переменную ENV_VAULT_PASSWORD.
Онлайн-установка
По доменному имени:
sudo curl -L https://s3.printum.io/box/monitoring/install.sh | sudo -E MON_HOSTNAME=<hostname> ENV_VAULT_PASSWORD=<password> bash -s agent
По IP-адресу:
sudo curl -L https://s3.printum.io/box/monitoring/install.sh | sudo -E IP_ADDRESS=<ip> ENV_VAULT_PASSWORD=<password> bash -s agent
Офлайн-установка
По доменному имени:
sudo MON_HOSTNAME=<hostname> ENV_VAULT_PASSWORD=<password> -E ./install.sh agent
По IP-адресу:
sudo IP_ADDRESS=<ip> ENV_VAULT_PASSWORD=<password> -E ./install.sh agent
В процессе установки необходимо будет повторно ввести пароль.
Активация шифрования при установке ПринтМенеджера
Онлайн-установка по IP:
| sudo -E PM_HOSTNAME=<ip> ENV_VAULT_PASSWORD=<password> bash
Офлайн-установка:
sudo PM_HOSTNAME=<ip> ENV_VAULT_PASSWORD=<password> -E ./install.sh
Без указания переменной ENV_VAULT_PASSWORD установка ПринтМенеджера на зашифрованный сервер мониторинга невозможна.
Изменение значений переменных в зашифрованном .env файле
Для Мониторинга
- Перейдите в каталог установки:
cd /opt/printum
- Остановите контейнеры:
sudo -E ENV_VAULT_PASSWORD=<password> env-vault .env.enc docker-compose down
- Откройте зашифрованный файл для редактирования:
sudo -E ENV_VAULT_PASSWORD=<password> env-vault edit .env.enc
Откроется системный редактор по умолчанию (например, vim). Внесите изменения и сохраните файл (в vim: введите :wq).
- Перезапустите контейнеры:
cd /opt/printum
sudo -E ENV_VAULT_PASSWORD=<password> env-vault .env.enc docker-compose -- up -d
Для ПринтМенеджера
Следуйте аналогичной инструкции, заменяя путь к каталогу:
cd /opt/printmanager
Смена пароля шифрования
Для Мониторинга
- Сбросьте переменную среды:
unset ENV_VAULT_PASSWORD
- Запустите процесс смены пароля:
env-vault rekey /opt/printum/.env.enc
- Введите текущий пароль, затем новый пароль дважды для подтверждения.
- После смены пароля запустите систему с новым паролем:
cd /opt/printum
sudo -E ENV_VAULT_PASSWORD=<password> env-vault .env.enc docker-compose -- up -d
Для ПринтМенеджера
- Сбросьте переменную среды:
unset ENV_VAULT_PASSWORD
- Запустите процесс смены пароля:
env-vault rekey /opt/printmanager/.env.enc
- Введите текущий пароль, затем новый пароль дважды для подтверждения.
- Перезапустите систему с новым паролем:
cd /opt/printmanager
sudo -E ENV_VAULT_PASSWORD=<password> env-vault .env.enc docker-compose -- up -d
Резервное копирование при шифровании
При создании резервной копии на зашифрованной системе необходимо передавать пароль:
sudo -E ENV_VAULT_PASSWORD=<password> /opt/printum/backup.sh /home/user/backup
Для только ПринтМенеджера:
sudo -E ENV_VAULT_PASSWORD=<password> /opt/printmanager/backup.sh /home/user/backup
При отсутствии ENV_VAULT_PASSWORD резервная копия будет создана без расшифровки файла конфигурации.
Примечания
- Для работы с шифрованными файлами необходимо наличие утилиты
env-vaultна сервере. - При работе с конфигурационными файлами рекомендуется заранее создать резервную копию.