[Документация](../../README-ru.md#документация) → [Конфигурация](../config.ru.md) → Параметры безопасности ----- [Read in English](security.en.md) # Параметры безопасности Данные параметры затрагивают безопасность инсталляций Vitastor и используются OSD, мониторами и клиентами. Большая их часть может задаваться в /etc/vitastor/vitastor.conf и в etcd, но не поддерживает онлайн-изменение. Все параметры сертификатов и закрытых ключей могут быть путём к файлу или просто строкой с сертификатом в формате PEM. В последнем случае строка должна начинаться с "-----BEGIN CERTIFICATE-----" или "-----BEGIN PRIVATE KEY-----". - [use_perms](#use_perms) - [cert](#cert) - [pkey](#pkey) - [etcd_ca](#etcd_ca) - [client_ca](#client_ca) - [osd_ca](#osd_ca) - [mon_ca](#mon_ca) - [antietcd_cert](#antietcd_cert) - [antietcd_key](#antietcd_key) - [etcd_proxy.urls](#etcd_proxyurls) - [etcd_proxy.cert](#etcd_proxycert) - [etcd_proxy.key](#etcd_proxykey) - [etcd_proxy.ca](#etcd_proxyca) - [osd_cert](#osd_cert) - [osd_pkey](#osd_pkey) - [api_cert](#api_cert) - [api_pkey](#api_pkey) - [etcd_client_cert](#etcd_client_cert) - [etcd_client_key](#etcd_client_key) - [osd_etcd_client_cert](#osd_etcd_client_cert) - [osd_etcd_client_key](#osd_etcd_client_key) - [mon_etcd_client_cert](#mon_etcd_client_cert) - [mon_etcd_client_key](#mon_etcd_client_key) - [proto_checksums](#proto_checksums) - [force_proto_checksums](#force_proto_checksums) - [max_cipher_pool_size](#max_cipher_pool_size) - [vault_url](#vault_url) - [vault_secret_api_path](#vault_secret_api_path) - [vault_client_cert](#vault_client_cert) - [vault_client_key](#vault_client_key) - [vault_ca](#vault_ca) - [vault_timeout_ms](#vault_timeout_ms) - [vault_error_timeout_sec](#vault_error_timeout_sec) - [vault_refresh_leeway_sec](#vault_refresh_leeway_sec) ## use_perms - Тип: булево (да/нет) - Значение по умолчанию: false Включает клиентские привилегии в кластере Vitastor, в том числе во встроенном в мониторе Antietcd. Требует настроенного шифрования протокола. Также обратите внимание, что отдельно установленный Antietcd требует отдельной настройки привилегий (подробности смотрите в [документации безопасности](../intro/security.ru.md)). ## cert - Тип: строка Клиентский сертификат текущего пользователя Vitastor. Требуется для шифрования протокола Vitastor. Должен быть подписан [client_ca](#client_ca). Также по умолчанию используется как клиентский сертификат для подключения к etcd/Antietcd и Vault. ## pkey - Тип: строка Закрытый ключ текущего пользователя Vitastor. ## etcd_ca - Тип: строка Доверенный корневой TLS-сертификат для проверки сертификата сервера etcd. Либо же просто сам сертификат сервера etcd - его можно использовать как etcd_ca. ## client_ca - Тип: строка Доверенный TLS-сертификат для проверки сертификатов клиентов Vitastor. Требуется для шифрования протокола 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](../intro/security.ru.md#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_ca) - все OSD на данный момент имеют одинаковые привилегии. Также по умолчанию используется как клиентский сертификат для подключения от OSD к etcd/Antietcd. ## osd_pkey - Тип: строка Закрытый ключ для сертификата osd_cert. ## api_cert - Тип: строка Серверный TLS-сертификат для API-сервера [vitastor-cli serve](../usage/cli.ru.md#serve). ## api_pkey - Тип: строка Закрытый ключ для сертификата api_cert. ## etcd_client_cert - Тип: строка Клиентский TLS сертификат для подключений от клиентов Vitastor к etcd/Antietcd, если вы не хотите использовать общий клиентский сертификат [cert](#cert). ## etcd_client_key - Тип: строка Закрытый ключ для сертификата etcd_client_cert. ## osd_etcd_client_cert - Тип: строка Клиентский TLS сертификат для подключений от Vitastor OSD к etcd/Antietcd, если вы не хотите использовать общий сертификат OSD [osd_cert](#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](https://developer.hashicorp.com/vault/) или [OpenBao](https://openbao.org/). Клиенты Vitastor используют [движок секретов v1](https://openbao.org/api-docs/secret/kv/kv-v1/) и [TLS-аутентификацию](https://openbao.org/api-docs/auth/cert/) в Vault. В этом случае, только ID ключей хранятся в etcd. ## vault_secret_api_path - Тип: строка - Значение по умолчанию: /v1/secret/ Путь к API секретов v1 для использования клиентами. ## vault_client_cert - Тип: строка Клиентский TLS сертификат для подключений к Vault на тот случай, если вы не хотите использовать общий сертификат клиента Vitastor [cert](#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, на случай "ухода" системных часов.