Конфигурирование Vault
Vault можно настроить путем редактирования файла /etc/vault.d/vault.hcl, включенного в установочный пакет.
Ver1: Пример конфигурационного файла для запуска на порту 8200 без SSL\TLS.
$
vi /etc/vault.d/vault.hcl
disable_mlock = true
ui = true
# HTTP listener
listener "tcp" {
address = "127.0.0.1:8200"
tls_disable = 1
}
storage "file" {
path = "/opt/vault/data"
}
disable_mlock - по умолчанию Vault будет использовать mlock() для блокировки страниц памяти процесса, предотвращая их замену на диск. Вы всегда должны стремиться к тому, чтобы он был включен (он включен по умолчанию). Однако эта опция не поддерживается на некоторых платформах, таких как macOS или Windows.
ui - включает встроенный веб-интерфейс, который доступен для всех слушателей (адрес + порт) на /ui пути. Браузеры, получающие доступ к стандартному адресу Vault API, будут автоматически перенаправляться туда. Это также может быть предоставлено через переменную окружения VAULT_UI.
listener - настраивает, как Vault прослушивает запросы API.
address - настраивает адрес привязки в формате host+port, где значением хоста может быть полное доменное имя (FQDN) или IP-адрес, а порт представляет порт Vault API, который по умолчанию равен 8200.
tls_disable - TLS отключен для этого упрощенного примера, так что его легко использовать без необходимости генерировать сертификат сервера и закрытый ключ. Но вы всегда должны стремиться работать с Vault с включенным TLS.
storage - используется для указания серверной части хранилища для постоянных данных Vault.
Установите переменную
среды VAULT_ADDR.
$
export VAULT_ADDR=http://127.0.0.1:8200
Ver2: Следующий вариант конфигурации предпочтительней
Пример конфигурационного файла для запуска на порту 8200 с отключенной проверкой SSL\TLS.
$
echo "VAULT_API_ADDR=https://127.0.0.1:8200" > /etc/vault.d/vault.env
$ echo
"VAULT_API_SKIP_VERIFY=true" >> /etc/vault.d/vault.env
$
vi /etc/vault.d/vault.hcl
disable_mlock = true
ui = true
# HTTPS listener
listener "tcp" {
address = "0.0.0.0:8200"
tls_cert_file = "/opt/vault/tls/tls.crt"
tls_key_file = "/opt/vault/tls/tls.key"
}
storage "file" {
path = "/opt/vault/data"
}
tls_cert_file – Указывает путь к сертификату для TLS. Для этого требуется файл с кодировкой PEM. Чтобы настроить прослушиватель для использования сертификата ЦС, объедините основной сертификат и сертификат CA вместе. Основной сертификат должен появиться первым в объединенном файле.
tls_key_file – Указывает путь к закрытому ключу сертификата. Для этого требуется файл с кодировкой PEM. Если файл ключа зашифрован, вам будет предложено ввести парольную фразу при запуске сервера.
Запустите новый сеанс терминала и установите переменную
среды VAULT_ADDR.
$
export VAULT_ADDR=https://127.0.0.1:8200
$ export
VAULT_SKIP_VERIFY=true
Добавляем системную переменную.
$ vi /etc/environment
VAULT_ADDR=https://127.0.0.1:8200
VAULT_SKIP_VERIFY=true
VAULT_ENABLE_FILE_PERMISSIONS_CHECK=true
Включаем проверку прав доступа к файлам с помощью переменной среды VAULT_ENABLE_FILE_PERMISSIONS_CHECK - позволяет Vault проверять, принадлежат ли каталог конфигурации и файлы пользователю, запустившему Vault. Он также проверяет, нет ли прав на запись или выполнение для группы или других.
Добавляем несколько параметров конфигурации для активирования журнала событий
$
mkdir /var/log/vault/
$
chown vault. ./vault/
$ vi /etc/vault.d/vault.hcl
log_level = "info"
log_file = "/var/log/vault/vault.log"
log_rotate_max_files = 7
log_rotate_duration = "24h"
log_rotate_bytes = 25000000 # 25Mb
Запускаем службу с добавлением в автозапуск.
$
systemctl enable vault --now
Проверяем статус:
$
vault status
Key Value
--- -----
Seal Type shamir
Initialized false
Sealed true
Total Shares 0
Threshold 0
Unseal Progress 0/0
Unseal Nonce n/a
Version 1.13.2
Build Date ...
Storage Type file
HA Enabled false
Настраиваем firewall:
$
firewall-cmd --add-port=8200/tcp --permanent
$ firewall-cmd --add-port=8201/tcp --permanent
$
firewall-cmd --reload