Данные параметры затрагивают безопасность инсталляций Vitastor и используются OSD, мониторами и клиентами.
Большая их часть может задаваться в /etc/vitastor/vitastor.conf и в etcd, но не поддерживает онлайн-изменение.
Все параметры сертификатов и закрытых ключей могут быть путём к файлу или просто строкой с сертификатом в формате PEM. В последнем случае строка должна начинаться с “-----BEGIN CERTIFICATE-----” или “-----BEGIN PRIVATE KEY-----”.
- use_perms
- cert
- pkey
- etcd_ca
- client_ca
- admin_ca
- osd_ca
- mon_ca
- antietcd_cert
- antietcd_key
- etcd_proxy.urls
- etcd_proxy.cert
- etcd_proxy.key
- etcd_proxy.ca
- osd_cert
- osd_pkey
- api_cert
- api_pkey
- etcd_client_cert
- etcd_client_key
- osd_etcd_client_cert
- osd_etcd_client_key
- mon_etcd_client_cert
- mon_etcd_client_key
- proto_checksums
- force_proto_checksums
- max_cipher_pool_size
- vault_url
- vault_secret_api_path
- vault_client_cert
- vault_client_key
- vault_ca
- vault_timeout_ms
- vault_error_timeout_sec
- vault_refresh_leeway_sec
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, на случай “ухода” системных часов.