Top.Mail.Ru
Инструкции по повышению безопасности | Enterprise
Tarantool
Узнайте содержание релиза 2.8
Инструкции по повышению безопасности

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

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

This guide explains how to enhance security in your Tarantool Enterprise cluster using built-in features and provides general recommendations on security hardening. If you need to perform a security audit of a Tarantool Enterprise cluster, refer to the security checklist.

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

Встроенные средства безопасности

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

  • аутентификация,
  • управление доступом,
  • журнал аудита;

А также функции резервного копирования:

В следующих разделах описаны эти функции и приведены ссылки на подробную документацию.

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

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

  • via an administrative console and
  • через двоичный порт для операций чтения / записи и вызова процедур.

For more information on authentication and connection types, see the security section of the Tarantool manual.

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

  • sessions – states which associate connections with users and make Tarantool API available to them after authentication,
  • authentication triggers which execute actions on authentication events.
  • сторонние (внешние) протоколы и службы аутентификации, такие как LDAP или Active Directory, поддерживаются в веб-интерфейсе, но недоступны на уровне бинарного протокола.

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

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

Tarantool различает:

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

И хранит информацию о доступе в системных спейсах:

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

For more information, see the access control section of the Tarantool manual.

Users who create objects (spaces, indexes, users, roles, sequences, and functions) in the database become their owners and automatically acquire privileges for what they create. For more information, see the owners and privileges section of the Tarantool manual.

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

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

  • пройденная и непройденная аутентификации;
  • закрытие подключения;
  • создание, удаление, включение и отключение пользователей;
  • изменение паролей, прав и ролей;
  • отказ в доступе к объектам базы данных;

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

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

Есть два конфигурационных параметра для настройки журнала аудита:

  • audit_log = <PATH_TO_FILE> which is similar to the log parameter; it tells Tarantool to record audit events to a specific file;
  • audit_nonblock which is similar to the log_nonblock parameter.

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

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

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

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

Криптографическая защита трафика

Tarantool Enterprise не шифрует трафик, проходящий через двоичные соединения (т.е. между серверами в кластере). Чтобы защитить такие соединения, рекомендуется:

  • настроить туннелирование соединения или
  • зашифровать сами данные, которые хранятся в базе.

For more information on data encryption, see the crypto module reference.

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

To make sure that no information can be intercepted „from the wild“, run Nginx on the same physical server as the instance and set up their communication over a Unix socket. For more information, see the socket module reference.

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

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

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

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

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

Tarantool Enterprise does not keep checksums or provide the means to control data integrity. However, it ensures data persistence using a write ahead log, regularly snapshots the entire data set to disk, and checks the data format whenever it reads the data back from the disk. For more information, see the data persistence section of the Tarantool manual.