Установка validationKey на сервере против сайта против уровня приложения - PullRequest
3 голосов
/ 14 сентября 2011

Наша производственная среда имеет три сервера с балансировкой нагрузки. На каждом сервере в IIS есть девять сайтов. На каждом сайте есть от 1 до 15 разных приложений.

Чтобы обеспечить правильное шифрование / дешифрование на всех трех серверах, для соответствующих приложений должны использоваться одинаковые validationKey и decryptionKey. Это может быть установлено на трех уровнях: - Уровень сервера в machine.config - Уровень сайта в web.config - Уровень приложения в web.config

Очевидно, что есть свои плюсы и минусы в настройке на каждом уровне, но мне было интересно, кто-нибудь может дать какие-то конкретные причины сделать это на сервере против сайта или приложения.

В разделе machineKey Замечания по развертыванию веб-фермы имеется всплывающее окно

Если вы хотите изолировать свое приложение от других приложений на тот же сервер, поместите в файл Web.config для каждое приложение на каждом сервере в ферме.

Является ли validationKey достаточно большим вектором угрозы, чтобы оправдать использование другого ключа в ~ 100 различных приложениях на трех серверах? Я знаю я знаю. На какой риск я готов пойти? В какой отрасли я работаю? Что бы я хотел, чтобы кто-то сделал с моими данными? и т. д.

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

Спасибо, Matt

1 Ответ

0 голосов
/ 26 января 2012

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

Например, если у вас есть какой-то параметр, общий для всех приложений на одном сервере, это может быть хорошим кандидатом для machine.config, а не повторять его в каждом web.config, который у вас там может быть.

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

Размещение одинаковых настроек на всех доступных уровнях, «просто чтобы убедиться», глупо (из-за отсутствия лучшего слова). Не. В будущем вы будете сбивать с толку кого-нибудь из обслуживающего персонала (когда вы уйдете), а дополнительные и «ненужные» часто становятся приглашениями для злоупотреблений.

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