Tarantool CE/EE Documentation portal logo
Помощь
Обновлена 15 сентября 2026 г. в 08:55

Инструкции по повышению безопасности

В этом руководстве описано, как повысить безопасность кластера Tarantool Enterprise Edition с помощью встроенных средств, а также приведены общие рекомендации по усилению защиты. Если необходимо провести аудит безопасности кластера Tarantool Enterprise ознакомьтесь с соответствующим LINK_NOT_DEFINED(../audit).

В Tarantool Enterprise Edition не предусмотрен отдельный API для управления безопасностью. Все необходимые настройки выполняются через административную консоль или код инициализации.

В Tarantool Enterprise есть следующие встроенные средства безопасности:

Аутентификация

Tarantool Enterprise поддерживает аутентификацию на основе паролей и допускает два типа соединений:

Кроме того, Tarantool предоставляет следующую функциональность:

  • Сессии – состояния, связывающие соединения с пользователями и предоставляющие им доступ к API Tarantool после аутентификации.
  • Триггеры аутентификации, выполняющие действия при наступлении событий аутентификации.
  • Сторонние (внешние) протоколы и службы аутентификации, такие как LDAP или Active Directory – поддерживаются в веб-интерфейсе, но недоступны на уровне бинарного протокола.

Управление доступом

Для администраторов Tarantool Enterprise предоставляет средства для предотвращения несанкционированного доступа к базе данных и к определенным функциям.

Tarantool различает:

  • Различных пользователей (простых пользователей и администраторов);
  • Привилегии, связанные с пользователями;
  • Роли (контейнеры привилегий), назначаемые пользователям.

Для хранения пользователей и привилегий используются следующие системные спейсы:

  • Спейс _user для хранения имен пользователей и хэшированных паролей для аутентификации.
  • Спейс _priv для хранения привилегий для управления доступом.

Подробнее см. в разделе Пользователи.

Пользователи, создающие объекты (спейсы, индексы, пользователи, роли, последовательности и функции) в базе данных, становятся их владельцами и автоматически получают привилегии на созданные объекты. Подробнее см. в разделе Привилегии.

Журнал аудита

В Tarantool Enterprise есть встроенный журнал аудита, в котором записываются такие события, как:

  • Успешные и неуспешные попытки аутентификации;
  • Закрытия соединений;
  • Создание, удаление, включение и отключение пользователей;
  • Изменения паролей, привилегий и ролей;
  • Отказы в доступе к объектам базы данных.

В журнал аудита записываются:

  • Метки времени;
  • Имена пользователей, выполнивших действия;
  • Типы событий (например, user_create, user_enable, disconnect);
  • Описания.

Для журнала аудита можно настроить следующие параметры:

  • audit_log.to – включение ведения журнала аудита и определение места записи (файл, канал или syslog). Параметр аналогичен параметру log.
  • audit_log.nonblock – поведение при записи в журнал, если система не готова к записи. Параметр аналогичен параметру log_nonblock.

Для получения дополнительной информации о журналировании см. следующие разделы:

Права доступа к файлам журнала можно настроить, как для любого другого объекта файловой системы Unix – через chmod.

Рекомендации по повышению безопасности

Ниже описаны рекомендации, которые помогут вам повысить безопасность кластера.

Шифрование трафика

Начиная с версии 2.10.0 в Tarantool Enterprise Edition встроена поддержка SSL для шифрования клиент-серверного взаимодействия по бинарным соединениям, то есть между экземплярами Tarantool в кластере. Подробнее о включении SSL-шифрования см. в разделе Защита подключений с помощью SSL.

Если для определенных соединений встроенное шифрование не настроено, рассмотрите следующие рекомендации по безопасности:

  • Настройка туннелирования соединений;
  • Шифрование самих данных, хранящихся в базе данных.

Подробнее о шифровании данных см. в справочнике по модулю crypto.

Модуль HTTP-сервера, предоставляемый системой пакетов (rocks), не поддерживает протокол HTTPS. Для настройки защищенного соединения с клиентом (например, REST-сервисом) рекомендуется разместить экземпляр Tarantool (роутер, если это кластер экземпляров) за сервером Nginx и настроить для него SSL-сертификат.

Чтобы исключить перехват данных извне, запустите Nginx на том же физическом сервере, что и экземпляр, и настройте их взаимодействие через Unix-сокет. Подробнее см. в справочнике по модулю socket.

Настройка брандмауэра

Для защиты кластера от нежелательной сетевой активности извне настройте брандмауэр на каждом сервере так, чтобы разрешить трафик только на портах, указанных в сетевых требованиях.

Если вы используете статические IP-адреса, повторно внесите их в белый список на каждом сервере, поскольку кластер работает на принципах полносвязной (ячеистой) топологии (full mesh topology). Рекомендуется внести в черный список все остальные адреса на всех серверах, кроме роутера (работающего за сервером Nginx).

Tarantool Enterprise не предоставляет защиту от DoS-атак или DDoS-атак. Для этих целей рекомендуется использовать сторонние программы.

Целостность данных

В Tarantool Enterprise Edition не ведутся контрольные суммы и не предоставляются средства контроля целостности данных. Тем не менее, данные сохраняются с помощью журнала упреждающей записи (write-ahead log, WAL), регулярного создания снимков всего набора данных на диск и проверки формата данных при каждом чтении данных с диска. Подробнее см. в разделе Сохранение данных.