Данные параметры затрагивают безопасность инсталляций Vitastor и используются OSD, мониторами и клиентами.

Большая их часть может задаваться в /etc/vitastor/vitastor.conf и в etcd, но не поддерживает онлайн-изменение.

Все параметры сертификатов и закрытых ключей могут быть путём к файлу или просто строкой с сертификатом в формате PEM. В последнем случае строка должна начинаться с “-----BEGIN CERTIFICATE-----” или “-----BEGIN PRIVATE KEY-----”.

use_perms

  • Тип: булево (да/нет)
  • Значение по умолчанию: false

Включает клиентские привилегии в кластере Vitastor, в том числе во встроенном в мониторе Antietcd. Требует настроенного шифрования протокола. Также обратите внимание, что отдельно установленный Antietcd требует отдельной настройки привилегий (подробности смотрите в документации безопасности).

cert

  • Тип: строка

Клиентский сертификат текущего пользователя Vitastor. Требуется для шифрования протокола Vitastor. Должен быть подписан client_ca. Также по умолчанию используется как клиентский сертификат для подключения к etcd/Antietcd и Vault.

pkey

  • Тип: строка

Закрытый ключ текущего пользователя Vitastor.

etcd_ca

  • Тип: строка

Доверенный корневой TLS-сертификат для проверки сертификата сервера etcd. Либо же просто сам сертификат сервера etcd - его можно использовать как etcd_ca.

client_ca

  • Тип: строка

Доверенный TLS-сертификат для проверки сертификатов клиентов Vitastor. Требуется для шифрования протокола Vitastor.

admin_ca

  • Тип: строка

Доверенный TLS-сертификат для проверки сертификатов администраторов Vitastor.

osd_ca

  • Тип: строка

Доверенный TLS-сертификат для проверки сертификатов OSD Vitastor. Также обязателен для шифрования протокола Vitastor. Должен отличаться от client_ca. Может быть равен osd_cert - разные OSD не требуют разных сертификатов, потому что на данный момент привилегии разных OSD никак не отличаются.

mon_ca

  • Тип: строка

Доверенный TLS-сертификат для проверки сертификатов мониторов Vitastor. Используется только отдельно установленным Antietcd, не требуется при использовании встроенного в монитор Antietcd. Может быть равен mon_client_etcd_cert.

antietcd_cert

  • Тип: строка

Серверный TLS-сертификат для Antietcd, встроенного в монитор.

antietcd_key

  • Тип: строка

Закрытый ключ для сертификата antietcd_cert.

etcd_proxy.urls

  • Тип: строка или массив строк

Адреса etcd для режима Antietcd etcd-прокси. Смотрите подробности в разделе Mon в роли Etcd proxy.

etcd_proxy.cert

  • Тип: строка

Клиентский сертификат для подключений от Antietcd к etcd в режиме прокси.

etcd_proxy.key

  • Тип: строка

Закрытый ключ для сертификата etcd_proxy.cert.

etcd_proxy.ca

  • Тип: строка

Доверенный TLS-сертификат для проверки сертификата сервера etcd при подключениях от Antietcd.

osd_cert

  • Тип: строка

Сертификат сервера Vitastor OSD. Требуется для шифрования протокола Vitastor. Может быть равен osd_ca - все OSD на данный момент имеют одинаковые привилегии. Также по умолчанию используется как клиентский сертификат для подключения от OSD к etcd/Antietcd.

osd_pkey

  • Тип: строка

Закрытый ключ для сертификата osd_cert.

api_cert

  • Тип: строка

Серверный TLS-сертификат для API-сервера vitastor-cli serve.

api_pkey

  • Тип: строка

Закрытый ключ для сертификата api_cert.

etcd_client_cert

  • Тип: строка

Клиентский TLS сертификат для подключений от клиентов Vitastor к etcd/Antietcd, если вы не хотите использовать общий клиентский сертификат cert.

etcd_client_key

  • Тип: строка

Закрытый ключ для сертификата etcd_client_cert.

osd_etcd_client_cert

  • Тип: строка

Клиентский TLS сертификат для подключений от Vitastor OSD к etcd/Antietcd, если вы не хотите использовать общий сертификат OSD osd_cert.

osd_etcd_client_key

  • Тип: строка

Закрытый ключ для сертификата osd_etcd_client_cert.

mon_etcd_client_cert

  • Тип: строка

Клиентский TLS сертификат для подключений от мониторов Vitastor к etcd/Antietcd - требуется, если вы не используете встроенный в монитор Antietcd. Если вы используете его, то монитор и так имеет прямой доступ к данным Antietcd и не требует никаких соединений.

mon_etcd_client_key

  • Тип: строка

Закрытый ключ для сертификата mon_etcd_client_cert.

proto_checksums

  • Тип: строка
  • Значение по умолчанию: payload

Одно из значений “full”, “payload”, “gcm” и “none”:

  • “full” означает расчёт и проверку контрольных сумм на транспортном уровне от полных сообщений, включая их заголовки и данные - рекомендуется для кластеров без шифрования.
  • “payload” включает контрольные суммы только для данных сообщений, но пропускает заголовки - такая настройка рекомендуется для кластеров с включённым шифрованием, потому что в них заголовки и так защищены шифрованием AES-GCM.
  • “gcm” отключает контрольные суммы и включает шифрование полных сообщений включая заголовки и данные - AES-GCM уже включает в себя MAC, который по сути является криптостойкой контрольной суммой. Такая настройка медленнее и рекомендуется только для недоверенных сетей.
  • “none” полностью отключает контрольные суммы на транспортном уровне.

force_proto_checksums

  • Тип: строка

Чтобы старые клиенты Vitastor могли подключаться к кластеру с включёнными контрольными суммами, Vitastor OSD по умолчанию разрешают клиентам отключать контрольные суммы данных (proto_checksums). Настройка force_proto_checksums задаёт минимальный уровень безопасности, разрешённый для подключающихся клиентов. Когда шифрование отключено, force_proto_checksums по умолчанию равно none и подключения клиентов без контрольных сумм разрешаются. При включённом шифровании значение по умолчанию force_proto_checksums становится “payload”, чтобы блокировать подключения с неаутентифицированными данными.

max_cipher_pool_size

  • Тип: целое число
  • Значение по умолчанию: 256

Максимальное количество кэшируемых в памяти OSD контекстов шифра OpenSSL, учитываемое отдельно для каждого шифра и для шифрования и расшифровки. Вряд ли требует изменения.

vault_url

  • Тип: строка

Базовый адрес Vault.

Клиенты Vitastor поддерживают AES-256-XTS шифрование данных образов с отдельными ключами на каждый образ. Данные шифруются клиентами, OSD не имеют доступа к незашифрованным данным.

Ключи шифрования могут храниться в etcd или, для повышенного уровня безопасности, во внешнем HashiCorp Vault или OpenBao.

Клиенты Vitastor используют движок секретов v1 и TLS-аутентификацию в Vault.

В этом случае, только ID ключей хранятся в etcd.

vault_secret_api_path

  • Тип: строка
  • Значение по умолчанию: /v1/secret/

Путь к API секретов v1 для использования клиентами.

vault_client_cert

  • Тип: строка

Клиентский TLS сертификат для подключений к Vault на тот случай, если вы не хотите использовать общий сертификат клиента Vitastor cert, используемый для подключений к Vault по умолчанию.

vault_client_key

  • Тип: строка

Закрытый ключ для сертификата vault_client_cert.

vault_ca

  • Тип: строка

Доверенный корневой TLS-сертификат для проверки сертификата сервера Vault. Может быть путём к файлу, директории или просто строкой с сертификатом в формате PEM.

vault_timeout_ms

  • Тип: целое число
  • Значение по умолчанию: 5000

Максимально время выполнения Vault-запросов в миллисекундах.

vault_error_timeout_sec

  • Тип: целое число
  • Значение по умолчанию: 60

Время (в секундах) для ожидания перед повторной попыткой при получении ошибки от Vault.

vault_refresh_leeway_sec

  • Тип: целое число
  • Значение по умолчанию: 60

Зазор времени (в секундах), чтобы обновлять токены Vault чуть раньше их реального lease_timeout, на случай “ухода” системных часов.