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