OpenBao - это решение для управления секретами с открытым исходным кодом и форк HashiCorp Vault. Современные приложения полагаются на секреты, в том числе на ключи API, пароли баз данных, сертификаты TLS и ключи шифрования. Когда хардкодированные, хранящиеся в простых файлах или распределенные небезопасно, эти секреты представляют серьезную угрозу безопасности. OpenBao решает эту проблему, предоставляя безопасное, централизованное решение для управления чувствительной информацией. Он обеспечивает секретное хранение, динамическое кредециальное поколение, шифрование как сервис, и мелкозернистый контроль доступа.
Эта статья объясняет, как настроить готовый к производству сервер OpenBao на Ubuntu 24.04. Он включает в себя установку OpenBao, создание сертификатов TLS с помощью Let’s Encrypt, настройку OpenBao для безопасной операции, инициализацию его с помощью нецелевых клавиш и доступ к CLI и веб-UI.
Предварительные условия
- Сервер под управлением Ubuntu 24.04 или любой другой ОС Linux.
- Привилегии пользователя: пользователь root или не root с привилегиями sudo.
Конвенции
| |
Шаг 1. Обновите систему
Мы предполагаем, что у вас установлена новая версия Ubuntu 24.04. Нам необходимо обновить системные пакеты до последних доступных версий. Для этого выполните следующие команды:
| |
Система может нуждаться в перезагрузке после обновления.
| |
Шаг 2. Установка OpenBao
Теперь нам нужно загрузить последнюю соответствующую версию OpenBao со страницы загрузок.
| |
Установить пакет:
| |
Проверьте успешную установку, проверив версию OpenBao:
| |
Включить автозаполнение при запуске:
| |
Шаг 3. Проверить лимиты памяти Swap
После установки OpenBao вы можете предпринять дополнительные шаги для его обеспечения. против утечки ваших секретов.
| |
| |
Проверьте, что MemorySwapMax=0 отображается в результатах по разделу Service.
Шаг 4. Настройка доступа к файрволу
В этом разделе откройте необходимые порты в брандмауэре, чтобы быть доступным. Шаги настраивают UFW, чтобы разрешить доступ HTTPS к OpenBao UI.
Разрешить доступ HTTPS в порту 8200, где работает веб-UI OpenBao.
| |
Открытый порт 80 временно позволяет Certbot выдавать сертификаты TLS.
| |
Перезагрузите брандмауэр.
| |
Шаг 5. Создание сертификатов TLS с помощью Let’s Encrypt
Этот раздел охватывает получение сертификатов TLS с помощью Certbot. Установка и использование Certbot для получения бесплатных сертификатов от Let’s Encrypt.
| |
Получите сертификат для вашего домена. Замените openbao.example.com своим доменом и адресом электронной почты.
| |
Удалите правило порта 80 из брандмауэра после получения сертификатов TLS.
| |
Перезагрузите брандмауэр.
| |
Создайте каталог для сертификатов хранилища.
| |
Скопируйте сертификаты Let’s Encrypt в директорию хранилища. Заменить openbao.example.com на доменное имя.
| |
Скопируйте частный ключ. Заменить openbao.example.com на доменное имя.
| |
Установите надлежащую собственность на сертификаты.
| |
Установите ограничительные разрешения в файлах сертификатов.
| |
Создайте сценарий автоматического обновления сертификата.
| |
Сделайте сценарий обновления исполняемым.
| |
Шаг 6. Настройка хранилища для производства
Этот раздел охватывает настройку хранилища для использования в производстве. Конфигурационный файл управляет тем, как работает OpenBao, в том числе резервное копирование, сетевые слушатели и настройки безопасности.
Сохраните исходный файл конфигурации.
| |
Создайте конфигурацию производства. Заменить openbao.example.com своим доменом.
| |
Включите службу OpenBao, чтобы начать с загрузки.
| |
Перезапустите сервис OpenBao с новой конфигурацией.
| |
Шаг 7. Настройка окружающей среды хранилища
В этом разделе показано, как настроить переменные среды, Используйте OpenBao CLI (bao) для взаимодействия с запущенным сервером, решая его текущий статус.
Установить переменную среды BAO ADDR. Заменить openbao.example.com своим доменом.
| |
Перезагрузите конфигурацию.
| |
Проверка переменной установлена правильно.
| |
Вывод:
| |
Испытайте связь с хранилищем.
| |
Вывод:
| |
Это показывает, что сервер не был инициализирован и запечатан. Обе эти проблемы должны быть решены, прежде чем вы сможете взаимодействовать с сервером.
Шаг 8. Инициализируйте и разблокируйте хранилище
Этот раздел охватывает инициализацию OpenBao для создания ключей шифрования и его расшифровки для его ввода в эксплуатацию. Сбой начинается в запечатанном состоянии, где он знает, где хранятся его данные, но не может расшифровать его.
BAO ADDR на https://0.0.0.0:8200 для демонстрационных целей. При развертывании производства он должен соответствовать общедоступному IP-адресу или доменному имени, используемому для подключения к серверу.Понимание Unseal Process
Когда вы инициализируете хранилище, оно создает:
- Мастер ключ: Шифрует все ваши секреты
- Отзывные ключи: Части раздела главного ключа с использованием алгоритма тайного разделения Шамира
- Root token: Ваш первоначальный доступ к администратору
Настройка по умолчанию создает 5 ключей с порогом 3. Это означает, что вам нужны любые 3 из 5 ключей к unseal OpenBao. Это мешает любому человеку иметь полный доступ.
Инициализируйте хранилище с конфигурацией по умолчанию.
| |
Вывод:
| |
Используйте следующую команду, чтобы начать распечатывать хранилище. Вы должны запустить эту команду 3 раза с 3 разными ключами.
| |
После этого первого выполнения, значение Unseal Progress показывает 1/3:
| |
Продолжайте со вторым ключом.
| |
| |
Используйте третий ключ для завершения.
| |
| |
В случае успеха вы увидите:
| |
Для аутентификации CLI с сервером используйте команду bao login с исходным значением Root Token, предоставленным при инициализации хранилища.
| |
Вывод:
| |
Включить хранилище ключей
Наконец, выполните следующую команду, чтобы включить хранилище ключевых ценностей в OpenBao для хранения и извлечения секретов через API:
| |
Вывод:
| |
Шаг 9. Доступ к веб-UI OpenBao
Теперь к OpenBao можно получить внешний доступ через API. Убедитесь, что любой брандмауэр на экземпляре позволяет трафик на порту 8200.
Этот раздел показывает, как получить доступ к веб-интерфейсу OpenBao, который предоставляет визуальный и интуитивно понятный способ управления секретами вместе с CLI.
Откройте браузер и выберите URL-адрес хранилища:
| |
Вы увидите экран входа в хранилище. Выберите Токен как метод.
Введите свой Root Token и нажмите кнопку Войти.
На панели отображается статус вашего хранилища и доступные секреты.
Завершение
В настоящее время на Ubuntu 24.04 установлена корректная установка с правильным TLS-шифрованием и CLI и веб-доступом. Ваш сервер OpenBao готов надежно хранить и управлять секретами для вашей инфраструктуры.
Вы можете поделиться статьей со своими друзьями в социальных сетях, которым может быть интересна эта статья или просто оставить комментарий ниже. Спасибо.