смущен безопасностью вызовов AJAX веб-службы в ASP.NET - PullRequest
0 голосов
/ 03 марта 2010

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

Теперь я хочу создать сайт портала, и мой клиент требует, чтобы все было в AJAX-формате, поэтому я играл с ASP.NET AJAX 4 и клиентским шаблоном сайта и веб-сервисом, и, конечно же, производительность JASON превосходна , но мой код веб-службы будет общедоступным, потому что все, что доступно для сценария JAVA, доступно любому, поэтому, чтобы прочитать это, я должен:

  • использовать SSL, но это сайт портала, и интерфейс не должен использовать SSL
  • Аутентификация, будет ли это нормально, но для бэкэнда, а не для фронтэнда, так как логин не требуется.

после прочтения, как я уже упоминал, я пришел к следующим подводным камням при использовании веб-сервиса с AJAX и надеюсь, что есть решение или хотя бы способ повысить безопасность

DOS : Я прочитал несколько статей, в которых предлагается, чтобы вы ограничивали использование IP-обнаружения и какое-то время блокировали этот запрос, но вот некоторые вещи, о которых я беспокоюсь

  • повлияет ли это на поисковые роботы?
  • сможет ли хакер обойти это с помощью прокси или другого средства?

Session HighJacking : это страшно, я до сих пор не знаю, как это может произойти, когда вы используете членство в ASP.NET, я думал, что это довольно надежная система членства! и сможет ли хакер украсть чей-то пропуск через этот метод?

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

Скрыть Webserivce: например, если вы используете fiddler, вы можете увидеть в RAW-данных путь, например, www.mysite.com/toparticles/getTopArticles(10), снова это пугает мой клиент, и я попытался отключить WSDL и документацию в webconfig, но это только блокирует прямые доступ к файлу и больше ничего или я не прав! Есть ли способ скрыть путь к веб-сервису?

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

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

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

1 Ответ

1 голос
/ 03 марта 2010

Любая функциональность, представленная в Интернете, будет ... хорошо представлена ​​в сети. Даже если вы использовали чистый ASP.NET с постбэками, снифферы могут видеть трафик и имитировать постбэки, Ajax просто доводит это до логического предела. Веб-сервисы (по большей части) такие же, как и любая другая система получения / отправки (RESTful или нет).

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

В Интернете много статей о том, как обезопасить ваш сайт, и они одинаково хорошо подойдут для AJAX, веб-сервисов и т. Д.

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

Одна вещь, о которой следует поговорить с вашим клиентом, - это высокая ценность использования веб-сервисов в качестве продаваемого продукта для интеграторов. Другими словами, проектирование безопасности в веб-сервисах и использование портала только в качестве примера того, как все это собрать вместе. Ярким примером этого является SharePoint, который на самом деле представляет собой набор веб-сервисов и процессов, а веб-сайт на самом деле просто для удобства, сила SharePoint заключается во взаимодействии сервисов.

Чтобы получить более конкретные ответы на ваши секретные вопросы, в SO, а также в Интернете есть множество постов, посвященных каждому из ваших конкретных моментов.

...