Наша производственная среда имеет три сервера с балансировкой нагрузки. На каждом сервере в IIS есть девять сайтов. На каждом сайте есть от 1 до 15 разных приложений.
Чтобы обеспечить правильное шифрование / дешифрование на всех трех серверах, для соответствующих приложений должны использоваться одинаковые validationKey и decryptionKey. Это может быть установлено на трех уровнях:
- Уровень сервера в machine.config
- Уровень сайта в web.config
- Уровень приложения в web.config
Очевидно, что есть свои плюсы и минусы в настройке на каждом уровне, но мне было интересно, кто-нибудь может дать какие-то конкретные причины сделать это на сервере против сайта или приложения.
В разделе machineKey Замечания по развертыванию веб-фермы имеется всплывающее окно
Если вы хотите изолировать свое приложение от других приложений на
тот же сервер, поместите в файл Web.config для
каждое приложение на каждом сервере в ферме.
Является ли validationKey достаточно большим вектором угрозы, чтобы оправдать использование другого ключа в ~ 100 различных приложениях на трех серверах? Я знаю я знаю. На какой риск я готов пойти? В какой отрасли я работаю? Что бы я хотел, чтобы кто-то сделал с моими данными? и т. д.
Конечно, я подозреваю, что в итоге мы разместим его на всех трех уровнях, просто чтобы быть уверенными, что мы охватим наши базы по всем направлениям при добавлении новых сайтов или приложений. Но я не очень жду регрессионного тестирования.
Спасибо,
Matt