Зачем шифровать файл веб-конфигурации? - PullRequest
11 голосов
/ 11 мая 2011

Насколько я могу судить, любой раздел в файле web.config может быть зашифрован и расшифрован с помощью aspnet_regiis.exe.

Если aspnet_regiis можно использовать для расшифровки файла web.config, то какой смысл его шифровать?Это просто для того, чтобы пароли и конфиденциальная информация не хранились в виде простого текста?Если кто-нибудь с файлом и exe-файлом может расшифровать его, действительно ли он защищает конфиденциальную информацию конфигурации?

ОБНОВЛЕНИЕ

Спасибо всем, кто ответил относительно ключа машины.Причина, по которой я задал этот вопрос, заключается в том, что у нас есть проект с открытым исходным кодом, размещенный на codeplex.com.Однако мы также развернем этот проект в Windows Azure.Я пытаюсь найти лучший подход, чтобы сохранить конфиденциальные пароли от контроля над исходными текстами, но сделать их доступными как часть моего проекта для развертывания в Azure.

В настоящее время я использую преобразования веб-конфигурации для хранения строк подключения Azure (а также паролей Gmail для system.net).Я создал файл преобразования Web.PublishToAzure.config и просто сохранил этот файл вне контроля исходного кода.Я также нашел эту статью , которая может быть лучшим вариантом.Еще раз спасибо.

Ответы [ 4 ]

9 голосов
/ 11 мая 2011

Файл зашифрован с использованием машинно-зависимых ключей. Несмотря на то, что любой пользователь, имеющий доступ на уровне компьютера, может расшифровать его, шифрование остановит людей с доступом по FTP, поскольку у них нет ключей DPAPI компьютера.

5 голосов
/ 11 мая 2011

Насколько я понимаю, aspnet_regiis.exe использует машинный ключ в качестве "соли"

Если вы зашифруете раздел на машине, а затем перенесете конфигурацию на другую машину и попытаетесь расшифровать ее, она не будет работать.

4 голосов
/ 11 мая 2011

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

2 голосов
/ 11 мая 2011

Упрощенный ответ: у них не будет доступа к ключу

Я считаю, что по умолчанию ключ хранится в хранилище сертификатов машины, поэтому злоумышленнику также потребуется доступ к нему.Я не эксперт, но в этом суть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...