варианты публикации - PullRequest
3 голосов
/ 17 октября 2011

Q:

Я хочу спросить, считается ли публикация файлов .cs и .aspx на моем сервере в процессе публикации веб-приложений плохой практикой и может привести к нарушению безопасности или нет?

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


Когда использовать каждый из этих параметров:

  • Только файлы, необходимые для запуска этого приложения.

  • Все файлы проекта.

  • Все файлы в исходном проектепапка

Ответы [ 2 ]

3 голосов
/ 20 октября 2011

Это может быть неправильное применение принципа, но я всегда думаю о принципе наименьших привилегий .Под этим я подразумеваю:

  • Нужно ли моим пользователям видеть какие-либо файлы кода (применимо как к разделу «Все файлы проекта», так и «Все файлы в папке исходного проекта»?
  • мои пользователи должны видеть какие-либо файлы в папке моего проекта, но не включенные в мой проект (применимо в разделе «Все файлы в папке исходного проекта»)?

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

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

Однако, как только я увидел весь мой исходный код, показанныйв своей рабочей папке я быстро переключил свой вариант публикации обратно на «Только файлы, необходимые для запуска этого приложения» и развернул удаление всех файлов в целевой папке. Затем я оглянулся, чтобы найти способ включить всефайлы в папке, которой не было в моем проекте, и с тех пор я стал счастливее.

Честно говоря, даже если бы моим пользователям нужно было увидеть какой-нибудь код, я бы подумал написать quine , прежде чем я опубликую копии моего файла .cs на любом веб-сайте.Люди по-разному относятся к безопасности в Интернете, но я часто вспоминаю цитату Джина Спаффорда:

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

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

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

2 голосов
/ 17 октября 2011

Убедитесь, что ваши настройки IIS означают, что файлы .cs не предоставляются публично. Это должно быть то же самое с любыми конфиденциальными или непубличными типами файлов, такими как .config.

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

...