Memurai только что выпустила версию 3.0, которая полностью совместима с Redis 6.0.

Выпуск версии 3.0 Memurai с полной совместимостью с Redis 6.0 знаменует собой крупный прорыв для пользователей Windows, желающих получить новые функции безопасности, включенные в последнюю. Будучи родным приложением для Windows, Memurai предоставит эти функции из коробки, и вам не придется обходить ограничения или проблемы несовместимости.

Двумя основными обновлениями являются включение управления пользователями через ACL и добавленная поддержка TLS 1.2.

Давайте проанализируем их, чтобы понять их реальный охват.

Защита соединения клиент-сервер с помощью TLS 1.2

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

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

К таким приложениям относятся такие платформы, как банковские решения, где информация, такая как номера кредитных карт, информация о банковском счете и другие данные, не может быть украдена каким-либо образом. Или даже здравоохранение, где информация о пациентах должна храниться в секрете в соответствии с правилами.

До сих пор использование Redis для решений в этих (и подобных) отраслях было довольно сложно, потому что добавление его в их архитектуры создавало потенциальную брешь в безопасности.

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

Добавление пользовательского контроля в Redis через ACLS

Продолжая тему безопасности, добавление списков контроля доступа (или ACL) — еще один огромный шаг к созданию еще более безопасной производственной среды для хранения ваших данных.

До сих пор единственным механизмом безопасности, предоставляемым Redis, был пароль, который вы должны были указать во время первоначального подключения.

Это, конечно, подразумевало, что каждый клиент имел одинаковые учетные данные для аутентификации на вашем сервере, и не было никакого реального способа обеспечить разные уровни доступа по отдельности.

Это больше не так, списки управления доступом не только позволяют вам решать, кто получит доступ к вашим данным, но и какой тип доступа они получают.

Например, иметь пользователей только для чтения — это то, что вы можете легко сделать с помощью одной команды:

Команда ACL SETUSER создаст (или обновит) пользователя с заданным паролем и удаленными всеми привилегиями. Затем Redis начнет читать список разрешений и включит только те, которые начинаются с +. Итак, в приведенном выше примере пользователь «fernando» создается с паролем «p4ssw0rd», и он включен благодаря on в нем.

Кроме того, строка дает новому пользователю только права доступа к команде GET для всех ключей.

Этот пользователь никогда не сможет ничего записать в базу данных.

Это обычный сценарий для других менеджеров баз данных. Использование пользователя только для чтения является хорошей практикой для снижения риска безопасности в случае взлома учетных данных.

Конечно, вам не нужно будет выполнять эту настройку вручную. Redis можно настроить для загрузки ACL непосредственно из файла с помощью параметра aclfile configuration. Тогда просто используйте команду ACL LOAD, чтобы позаботиться обо всем остальном.

Ограничение доступа по типу команды

Кроме того, Redis также позволяет нам указать категорию команд, которые мы хотим включить для пользователя. Таким образом, вместо того, чтобы указывать их одну за другой, вы можете выбрать нужную категорию и автоматически назначить доступ к нескольким командам в одной строке.

Команда ACL CAT перечислит все эти категории, но некоторые из них заслуживают внимания:

  • pubsub. Все эти команды связаны с возможностями шины сообщений Redis. Если вы, например, используете Redis для соединения микросервисов или в качестве шины сообщений чата, вы можете захотеть включить только эту категорию для одной конкретной группы пользователей.
  • быстро. Это все команды O(1), которые могут либо сохранять данные за одну операцию, либо считывать данные так быстро, но не те, которые требуют повторения нескольких ключей для выполнения своей задачи. Это особенно интересно, если вы хотите ограничить влияние некоторых пользователей на производительность вашего уровня хранения. С помощью этой категории вы даете им возможность использовать только самые эффективные
  • опасно. Эта категория содержит команды, которые могут нанести некоторый ущерб вашему хранилищу, если пользователь не будет осторожен. Я говорю о таких, как FLUSHALL , MIGRATE и CONFIG, и это лишь некоторые из них. Это отличная категория, которую можно включить для администраторов или пользователей службы поддержки, но оставить отключенной для обычных пользователей. Конечно, у вас также есть категория «admin» для этого.
  • чтение/запись. Эти категории включают команды, связанные с записью и чтением с ключей. Если вы используете Redis для таких вариантов использования, как хранилище сеансов или кэширование, то хорошей идеей может быть наличие пользователей с доступом только к этим категориям.

Чтобы использовать одну из этих категорий, просто добавьте к имени @, например:

Эта команда создаст нового пользователя admin с доступом ко всем «интересным» командам, которые могут ему понадобиться.

Есть и другие категории, вам действительно стоит ознакомиться с полным списком категорий], чтобы понять, как они классифицируются.

Они реально экономят время, когда речь идет о назначении нескольких разрешений одному пользователю.

Одно из крупнейших обновлений на сегодняшний день

Версия 3.0 Memurai, вероятно, является одним из самых больших обновлений для пользователей Windows на сегодняшний день. Две большие функции, добавленные в Memurai, привносят совершенно новый уровень готовой безопасности на уровень хранения, который действительно очень трудно игнорировать.

В сочетании с гибкостью, обеспечиваемой командой ACL, возможности безграничны.

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

Memurai 3.0 позволяет вам создать собственное решение, и, поскольку оно полностью совместимо с API Redis 6.0, любая библиотека на любом поддерживаемом языке программирования будет совместима.

Вы когда-нибудь пробовали Мемурай? Или API ACL? Я не могу дождаться, чтобы попробовать это в моем следующем проекте!