Как хранить конфиденциальные данные в 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 в режиме разработки и рекомендациям по развертыванию в производственной среде.

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

Как установить Linux Lite: пошаговое руководство на USB-накопителе

Как установить Linux Lite: пошаговое руководство на USB-накопителе

Установите Linux Lite 8.0 с проверенного ISO-образа. Создайте загрузочный USB-накопитель, используйте установщик Calamares, защитите свои данные и обновите систему после завершения установки.

Как настроить оконный менеджер Enlightenment в Linux

Как настроить оконный менеджер Enlightenment в Linux

Узнайте, как настроить Enlightenment в Linux, редактируя содержимое панели инструментов, обои, гаджеты рабочего стола, темы и виртуальные рабочие столы, а также получите инструкции по изменению меню и работе с файлами .edj.

Как играть в Undertale на Linux через Steam

Как играть в Undertale на Linux через Steam

У Undertale есть собственная версия для Linux в Steam. Узнайте, как установить Steam, скачать игру, запустить её и попробовать Proton, если собственная версия не сработает.

Как играть в Z1 Battle Royale на Linux с помощью Steam Proton

Как играть в Z1 Battle Royale на Linux с помощью Steam Proton

Попробуйте Z1 Battle Royale на Linux с помощью Steam Proton. Следуйте инструкциям по установке и узнайте, почему установка игры не гарантирует игру по сети.

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

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

Научитесь устанавливать HashiCorp Vault, сохранять и извлекать пример секрета с помощью механизма KV v2, а также понимать, какая конфигурация безопасна для использования реальных учетных данных.

Как установить последнюю версию Kali Linux на ПК

Как установить последнюю версию Kali Linux на ПК

Узнайте, как установить последнюю версию Kali Linux: скачайте и проверьте текущий ISO-образ, создайте загрузочный USB-накопитель и безопасно настройте компьютер с одной загрузкой.

Как установить Celluloid на Linux с помощью Flatpak или вашего менеджера пакетов

Как установить Celluloid на Linux с помощью Flatpak или вашего менеджера пакетов

Установите Celluloid на Linux из Flathub с помощью Flatpak или используйте собственный пакет, если он предоставляется вашим дистрибутивом. Узнайте, как запускать, обновлять и удалять его.

Как играть в Total War: THREE KINGDOMS на Linux через Steam

Как играть в Total War: THREE KINGDOMS на Linux через Steam

Установите Steam на свой дистрибутив Linux, установите нативную версию Total War: THREE KINGDOMS для Linux и устраните распространенные проблемы при запуске.

Инструкция по установке BlackArch Linux: руководство для USB-накопителя и настольного компьютера

Инструкция по установке BlackArch Linux: руководство для USB-накопителя и настольного компьютера

Узнайте, как скачать подходящий ISO-образ BlackArch, проверить его подлинность, создать загрузочный USB-накопитель и безопасно установить BlackArch Linux с помощью установщика Slim.

Как заблокировать рекламу через DNS в Linux

Как заблокировать рекламу через DNS в Linux

Заблокируйте множество рекламных объявлений и трекеров в приложениях Linux, настроив AdGuard DNS в GNOME, KDE Plasma или NetworkManager, указав актуальные IPv4 и IPv6 адреса и воспользовавшись советами по устранению неполадок.