Зачем шифровать файл web config?

#asp.net #web-config #passwords #encryption

#asp.net #web-config #пароли #шифрование

Вопрос:

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

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

Обновить

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

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

Комментарии:

1. Ссылка на «эту статью» не существует. Я бы действительно хотел взглянуть, если это возможно. Спасибо.

Ответ №1:

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

Ответ №2:

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

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

Комментарии:

1. 1 за упоминание части о перемещении зашифрованного файла на другой компьютер.

Ответ №3:

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

Комментарии:

1. Согласен. Я больше думаю о том, чтобы сохранить пароли и другую конфиденциальную информацию вне системы управления версиями.

Ответ №4:

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

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