Многофункциональная серверная среда и Memcached Security - PullRequest
3 голосов
/ 24 февраля 2010

Мы стремимся интегрировать Memcached в нашу инфраструктуру, но у нас есть проблемы с безопасностью, прежде чем мы это сделаем. Мы работаем на нескольких платформах, включая ASP.NET и ColdFusion, и многие разработчики приложений работают над множеством небольших приложений на разных платформах. Проблема заключается в следующем:

Приложение A помещает элемент "собака" в кеш.

Приложение B читает элемент "собака" (или хуже: приложение B обновляет элемент "собака")

После того, как это произойдет, приложение A либо получит неверную информацию, либо уже просмотрело ее, то есть «украдено». Мы хотели бы сделать так, чтобы каждое приложение могло взаимодействовать только со своей собственной песочницей и не могло мешать или читать данные других приложений.

Возможно ли это? Спасибо.

Ответы [ 3 ]

1 голос
/ 24 февраля 2010

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


Вы должны быть в состоянии использовать «конвенцию» в своих интересах, т. Е. Использовать предложение Анона.

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

0 голосов
/ 25 февраля 2010

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

В деревьях разработки у нас есть поддержка подключаемого механизма хранения, позволяющая вам делать забавные вещи, такие как изоляция кэшей между приложениями. например, у меня есть развернутый экземпляр со многими пользователями, которые не могут видеть данные друг друга. Пользователь1 может кэшировать dog, а Пользователь2 может кэшировать dog, и они не мешают работе.

0 голосов
/ 24 февраля 2010

memcached очень явно исключает безопасность из своего развертывания (без списков контроля доступа, без защиты от взлома содержимого кэша, без конфиденциальности трафика и т. Д.), И все это во имя производительности. Контроль доступа (SASL) может быть дополнительно скомпилирован в memcached, но в большинстве случаев не учитывается.

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

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