#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:
Упрощенный ответ: у них не будет доступа к ключу
Я полагаю, что по умолчанию ключ хранится в хранилище сертификатов компьютера, поэтому злоумышленнику также потребуется доступ к нему. Я не эксперт, но суть в этом.