О безопасности машинного ключа

У нас есть сценарий, использующий аутентификацию с помощью форм asp.net в веб-ферме, и нам необходимо настроить идентичные разделы <machinekey /> в файле .config каждого сервера.

Лучше ли хранить раздел <machinekey /> в machine.config, а не в web.config? каковы преимущества и недостатки каждого подхода в отношении безопасности?

<machineKey validationKey="[keyhere]"
    decryptionKey="[keyhere]" validation="SHA1" />

Если это недостаточно безопасно, есть ли способ зашифровать раздел <machinekey />, как мы шифруем нашу строку подключения (с помощью DPAPI)? (http://msdn.microsoft.com/en-us/library/ms998280.aspx)

С наилучшими пожеланиями Магнус Полезно Бесполезно


person Claysson    schedule 02.03.2010    source источник


Ответы (1)


Я хотел бы, чтобы это было в web.config, чтобы было очевидно, что вы это делаете. Это также дает вам дополнительную возможность иметь разные ключи для разных приложений, если вы хотите повысить безопасность между приложениями (не то, чтобы вы этого хотели, но это вариант, если оставить его в web.config).

Я не думаю, что вы менее / более безопасны в любом случае. Если ваш сервер скомпрометирован настолько, что web.config может быть украден, то, вероятно, то же самое верно и для machine.config.

Я этого не делал, но думаю, что вы можете использовать DPAPI для шифрования раздела machineKey. Хотя не на 100% в этом...

http://msdn.microsoft.com/en-us/library/ms998280.aspx#paght000005_step1

person Kevin LaBranche    schedule 02.03.2010
comment
спасибо за ответ, в конце концов это было очень просто =) msdn.microsoft.com /en-us/library/dtkwfdky.aspx - person Claysson; 07.03.2010
comment
за исключением того, что я уверен, что множество записей machineKey в конечном итоге просто добавляется разработчиком в файлы web.config.... - person Simon_Weaver; 28.04.2017