Как хранить конфиденциальные данные в Linux с помощью Vault

HashiCorp Vault хранит статические секреты в механизме хранения секретов типа ключ/значение (KV) и позволяет авторизованным пользователям получать к ним доступ через веб-интерфейс или командную строку. В этом руководстве показан рабочий процесс на локальной машине Linux. Используется механизм хранения секретов KV v2 и режим разработки Vault, который намеренно небезопасен, хранит данные только в памяти и удаляет их при остановке. Используйте здесь значение-заполнитель; не вводите реальный пароль, ключ API или личные учетные данные. Для постоянного хранения конфиденциальных данных разверните Vault в режиме, отличном от режима разработки, с надежным хранилищем и надлежащим контролем доступа.

Установите Vault на Debian или Ubuntu.

Используйте официальный репозиторий пакетов HashiCorp вместо старой, привязанной к версии ссылки для скачивания. Приведенные ниже команды добавят ключ подписи и репозиторий apt, а затем установят Vault. Если вы используете RHEL, Fedora или Amazon Linux, выберите соответствующие инструкции по установке пакетов на официальной странице установки Vault .

sudo apt update && sudo apt install -y wget gpg
wget -O - https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(grep -oP '(?<=UBUNTU_CODENAME=).*' /etc/os-release || lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install vault
В терминале Ubuntu отображается установленный Vault из официального репозитория apt компании HashiCorp.

Убедитесь, что CLI находится в вашем пути:

vault --version
В терминале Ubuntu готова команда `vault --version` для проверки установленного Vault CLI.

Запустите локальный демонстрационный сервер

Продолжайте выполнение инструкций в окне терминала. Привяжите процесс к локальному адресу (loopback), чтобы он был доступен только с вашего компьютера:

vault server -dev -dev-listen-address=127.0.0.1:8200
Сервер разработки Vault, привязанный к IP-адресу 127.0.0.1:8200, использует хранилище в оперативной памяти.

Vault автоматически инициализирует и разблокирует этот сервер разработки. В результате запуска выдается корневой токен; он понадобится вам для входа в пользовательский интерфейс. Этот токен предоставляет широкие административные права, поэтому храните его на локальном компьютере и никогда не делитесь им с другими. В режиме разработки также используются небезопасные настройки по умолчанию и хранилище в оперативной памяти. HashiCorp прямо заявляет, что он предназначен для экспериментов, а не для производственной среды. Пользовательский интерфейс доступен по адресу [ссылка]. http://127.0.0.1:8200/uiДемонстрация использует обычный HTTP на локальном порту; никогда не открывайте этот порт для сети.

Для воспроизведения примера создайте отдельный монтирование KV v2 с именем linux-kv. Во втором терминале задайте адрес сервера и активируйте монтирование один раз, пока активен этот демонстрационный пример:

export VAULT_ADDR='http://127.0.0.1:8200'
vault secrets enable -path=linux-kv kv-v2

Это позволяет избежать зависимости от имени монтирования по умолчанию, которое может различаться в зависимости от примера конфигурации. Секретная запись версий монтирования KV v2 выполняется. В документации Vault по настройке KV v2 описаны команда монтирования и рабочий процесс пользовательского интерфейса.

Страница локального входа в хранилище Vault по адресу 127.0.0.1:8200/ui с полем для ввода токена и кнопкой «Войти».

Сохраните тестовый секрет в веб-интерфейсе Vault.

  1. Откройте http://127.0.0.1:8200/uiв браузере. Введите корневой токен, отображаемый в терминале сервера, и войдите в систему. Пользовательский интерфейс Vault включен по умолчанию в режиме разработки; см. официальную документацию по пользовательскому интерфейсу .
  2. Выберите «Секреты» , откройте linux-kv/монтирование и выберите опцию создания секрета. На странице движка это монтирование должно быть обозначено как «Ключ/Значение версии 2».
На странице механизма сохранения секретов Vault показана точка монтирования linux-kv/Key/Value версии 2.
  1. В поле "Секретный путь" введите linux-demo. В полях "Ключ/Значение" введите api_keyв качестве ключа и test-valueв качестве значения. Нажмите "Сохранить" . Это примеры строк, а не учетные данные.
Vault создает форму для создания секрета в каталоге linux-kv/ по пути linux-demo, ключу api_key и образцу значения test-value.

Совместное указание пути и точки монтирования идентифицирует эту запись как linux-kv/linux-demo. Используйте нейтральные имена путей и ключей: имена могут встречаться в списках или метаданных, поэтому не указывайте в них пароль или другую конфиденциальную информацию. Для обычных многократно используемых записей типа ключ/значение используйте KV. Механизм Cubbyhole в Vault привязан к отдельному токену и уничтожается по истечении срока действия этого токена.

Запись и получение секретного ключа с помощью командной строки.

Сервер разработки автоматически аутентифицирует локальный CLI Vault. В другом терминале при необходимости укажите его адрес, затем используйте приведенный ниже синтаксис явного монтирования:

export VAULT_ADDR='http://127.0.0.1:8200'
vault kv put -mount=linux-kv linux-demo api_key=test-value
vault kv get -mount=linux-kv linux-demo
В терминале Ubuntu используется синтаксис -mount=linux-kv для записи и получения образца секрета KV v2.

Команда getвыводит значение, поэтому в примере используется только заполнитель. KV v2 putзаписывает новую версию и заменяет текущие данные секрета; включите все поля, которые вы хотите сохранить. Избегайте прямого ввода реальных учетных данных в команды оболочки, где они могут остаться в истории оболочки или быть видимыми для локальной проверки процессов. Используйте учетную запись, не являющуюся root, и политику ACL с узкой областью действия для реальных пользователей или приложений.

Остановите демонстрацию и подготовьте Vault к работе с реальными данными.

Вернитесь в терминал, где запущен сервер, и нажмите Ctrl+C . Демонстрация остановится, и хранящиеся в памяти секреты и токен будут потеряны. Повторный запуск создаст новый экземпляр; предыдущие записи не будут восстановлены.

В терминале Ubuntu после нажатия Ctrl+C отображается сообщение об остановке сервера разработки Vault и предупреждение о временных данных.

Чтобы сохранить действительно важные секреты, настройте сервер Vault, не предназначенный для разработки, с надежным хранилищем данных. HashiCorp рекомендует интегрированное хранилище для многих развертываний с самостоятельным управлением; в документации к Raft подробно описаны его функции сохранения данных и резервного копирования/восстановления. Файловая система — еще один поддерживаемый вариант для надежного использования на одном сервере, но она не обеспечивает высокой доступности.

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

Оставить комментарий

Как сканировать QR-коды на настольном компьютере с Linux

Как сканировать QR-коды на настольном компьютере с Linux

Сканируйте QR-коды в Linux с помощью CoBang, используя веб-камеру или файл изображения. См. варианты установки, шаги настройки и решения проблем с доступом к камере Flatpak.

Как изменить настройки веб-камеры в Linux с помощью Cameractrls

Как изменить настройки веб-камеры в Linux с помощью Cameractrls

Изменяйте настройки веб-камеры в Linux с помощью Cameractrls: настраивайте экспозицию, цвет, подавление мерцания и другие поддерживаемые параметры, а затем проверяйте совместимые видеорежимы.

Как установить PhpStorm на Linux: Toolbox, Tar.gz, Snap и AUR

Как установить PhpStorm на Linux: Toolbox, Tar.gz, Snap и AUR

Установите PhpStorm на Linux с помощью JetBrains Toolbox или автономного архива tar.gz, а также через Snap и Arch AUR. Java уже включена в комплект.

Как создать резервную копию CD-ROM в формате ISO в Linux

Как создать резервную копию CD-ROM в формате ISO в Linux

Создайте образ CD-ROM ISO в Linux с помощью GNOME Disks или dd. Определите оптический привод, отслеживайте процесс копирования, проверяйте образ и узнавайте, когда поврежденный диск или аудиодиск требует использования другого инструмента.

Как вырезать изображение в Linux с помощью GIMP

Как вырезать изображение в Linux с помощью GIMP

Удаление фона фотографии в Linux с помощью GIMP: обведите контур объекта, удалите выделенный фон, сохранив прозрачность, и экспортируйте многоразовый PNG-файл.

Как установить Cisco Packet Tracer на Linux

Как установить Cisco Packet Tracer на Linux

Загрузите Cisco Packet Tracer 9.0.1 для Ubuntu 64-бит, установите DEB-пакет с помощью APT, примите лицензионное соглашение в Терминале и войдите в систему, чтобы начать лабораторную работу.

Скачайте FlightGear бесплатно: официальное руководство по установке

Скачайте FlightGear бесплатно: официальное руководство по установке

Скачайте FlightGear бесплатно с официального сайта. Сравните пакеты для Windows, macOS и Linux, установите файлы данных и совершите свой первый полет.

Настольное приложение Google Tasks: как им пользоваться на компьютере

Настольное приложение Google Tasks: как им пользоваться на компьютере

Откройте Google Задачи в браузере, добавьте ярлык Chrome или запустите приложение, и управляйте задачами с указанием даты через Календарь и Gmail.

OKSampler: Бесплатный и простой музыкальный сэмплер для клавишных ритмов.

OKSampler: Бесплатный и простой музыкальный сэмплер для клавишных ритмов.

OKSampler сопоставляет MP3-клипы с клавишами клавиатуры и может зацикливать аудио. Узнайте, что делает эта старая бесплатная программа, на чем заканчиваются ее старые функции и что нужно проверить перед загрузкой.

Как установить Linux Mint Debian Edition 5 «Elsie» с USB-накопителя

Как установить Linux Mint Debian Edition 5 «Elsie» с USB-накопителя

Загрузите и проверьте архивный ISO-образ LMDE 5, создайте загрузочный USB-накопитель и выберите безопасные параметры установки. Поддержка Elsie прекращена; ознакомьтесь с текущей версией LMDE.