Можно ли получить файл web.config из развернутой веб-роли?

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

Должна ли строка ConnectionString базы данных в Web .config быть зашифрованным при использовании Azure Cloud?

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

Итак, мой вопрос таков: Можно ли получить файл web.config из развернутой веб-роли?

Например: есть ли на портале Azure вариант, которого я не видел? Можно ли получить доступ через другое развертывание?


person Stu Pegg    schedule 26.06.2012    source источник


Ответы (2)


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

Далее, не забывайте, что в программном обеспечении есть уязвимости. Может случиться так, что в какой-то момент в IIS будет обнаружена уязвимость, позволяющая легко загрузить файл web.config.

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

Наконец, при всем уважении ко всем облачным провайдерам вы на самом деле не контролируете, как данные обрабатываются в центрах обработки данных. Они могут выбросить неповрежденный диск, или какой-то сотрудник может быть поврежден, и ваш сервисный пакет может просочиться. Не очень вероятно, но технически возможно. Если вы задаете подобные вопросы (и это очень хороший вопрос), вы также должны учитывать этот риск.

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

Вас также могут заинтересовать ответы на этот связанный вопрос.

person sharptooth    schedule 26.06.2012

В дополнение к общим замечаниям @sharptooth о веб-приложениях и облачной безопасности, также можно напрямую подключаться к ролям Azure Web/Worker, если вы предварительно настроили их для этого:

MSDN: использование удаленного рабочего стола с ролями Windows Azure

Конфигурацию можно изменить в консоли управления Azure. Таким образом, если у вас есть ссылки RDC, импортированные в определение службы (например, если вы подключались через RDC в прошлом), роль всегда можно перенастроить, чтобы разрешить доступ RDC к ее экземплярам (даже если исходная учетная запись RDC имеет истекший).

Вот ссылка на разделы определения и конфигурации службы, на которые я ссылаюсь: MDSN: Как определить и настроить подключение к удаленному рабочему столу

person Stu Pegg    schedule 09.07.2012