О безопасности станка - PullRequest
2 голосов
/ 02 марта 2010

У нас есть сценарий, использующий проверку подлинности с помощью 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)

С наилучшими пожеланиями Magnus

1 Ответ

2 голосов
/ 02 марта 2010

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

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

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

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

...