Шифрование web.config с помощью защищенной конфигурации бессмысленно? - PullRequest
5 голосов
/ 25 марта 2009

Должно быть, я что-то упустил ...

Итак, я нахожусь в процессе поиска лучшего способа шифрования строки подключения к базе данных и информации о подключении к состоянию сеанса sql в web.config. Я быстро нахожу обзор MSDN, объясняющий использование защищенной конфигурации для шифрования частей web.config: Краткое руководство по MSDN по использованию защищенной конфигурации

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

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

Чего мне не хватает? Есть ли лучший способ зашифровать их? Если я выброшу нестандартное решение, будет ли оно работать для части состояния сеанса SQL? (не верьте, что cane можно удалить из web.config)

1 Ответ

6 голосов
/ 25 марта 2009

Вам нужен как минимум доступ на запись в файловую систему, чтобы иметь возможность расшифровать ее, если вы используете провайдера DPAPI. Способы его расшифровки включают в себя:

  • Скопируйте страницу aspx, содержащую код дешифрования, на сервер и перейдите к ней
  • Войдите на сервер и запустите приложение для его расшифровки.

Но он защищает от дешифрования неавторизованным пользователем, который имеет доступ для чтения к файловой системе или к резервной копии файловой системы.

Обычно вы настраиваете свои производственные серверы так, чтобы только авторизованные администраторы могли входить на сервер или писать в его файловую систему.

Разработчики могут иметь удаленный доступ для чтения в целях поддержки и не смогут удаленно расшифровать файл конфигурации.

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

Если вы используете DPAPI, вы по сути делегируете управление ключами безопасности Windows. Если вы используете другого провайдера, такого как RSA, вам нужно где-то хранить ключ и защищать его от несанкционированного доступа, например, используя ACL.

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