О безопасности станка

У нас есть сценарий, использующий проверку подлинности с помощью asp.net Forms в веб-ферме, и нам необходимо настроить идентичные <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)

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

1 ответ

Решение

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

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

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

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

Другие вопросы по тегам