Защита веб-службы

У меня есть веб-служба (ASMX) с несколькими веб-методами на нашем рабочем веб-сервере. На отдельном внутреннем веб-сервере (который не является общедоступным) у меня есть другой веб-сайт, который будет использовать общедоступные веб-методы ASMX. Каковы некоторые из лучших способов защитить веб-службу таким образом, чтобы только внутренний веб-сервер мог получить доступ к веб-службам, работающим на общедоступном веб-сервере?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
8
0
1 305
10
Перейти к ответу Данный вопрос помечен как решенный

Ответы 10

Предполагая, что у вас нет возможности использовать WCF, я бы рекомендовал использовать WSE 3 (улучшения веб-служб). Вы можете получить набор инструментов / SDK штуку на Сайт MS

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

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

Используйте IIS ограничения IP-адреса безопасности каталога и ограничьте доступ только этим внутренним IP-адресом веб-сервера.

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

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

На самом деле, я думаю, вы правильно поняли. Это заставляет меня задаться вопросом, почему веб-сервис вообще доступен через переадресацию портов ???

leppie 23.09.2008 18:01

В этот момент мне приходит в голову фильтрация IP-адресов в IIS. Быстро применить, должно работать в вашем сценарии.

TLS с клиентскими сертификатами. См. Запись в Википедии, чтобы начать работу.

Подойдет простой HTTP-модуль. Просто закодируйте (или из конфигурации) разрешенный IP / хост и отклоните все остальные.

Ответ принят как подходящий

Один из самых простых способов - передать учетные данные в мыльном заголовке сообщения. Таким образом, каждый вызов передает информацию, необходимую для определения, авторизован ли пользователь. WSE кое-что из этого упрощает, но одно из наиболее сжатых описаний этого процесса можно найти в книге Рокки Лхотки о бизнес-объектах. У меня есть много книг для рецензирования от издателей, и у этой есть лучшее объяснение

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

Если только внутренний сервер будет иметь доступ к файлам asmx? Вы можете настроить их в IIS на отдельном веб-сайте или в виртуальном каталоге, а затем наложить на сайт некоторые ограничения IP. В свойствах перейдите в раздел «Безопасность каталога», затем «Ограничения IP-адресов и доменных имен».

Кроме того, WSE 3 является новым подходом для паролей, но я нашел простой метод в книге от Apress под названием "Pro ASP.NET 2.0 на C# 2005", глава 34. (Обратите внимание, что в новой версии этой книги отсутствует в этой главе.) Этот раздел - это настраиваемая аутентификация на основе билетов.

Подписки Books24x7 и Safari спешат на помощь :) Я взгляну на главу 34. Спасибо.

Bullines 23.09.2008 18:49

Другие вопросы по теме