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

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

8 голосов
/ 23 сентября 2008

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

Ответы [ 10 ]

3 голосов
/ 23 сентября 2008

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

1 голос
/ 23 сентября 2008

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

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

1 голос
/ 23 сентября 2008

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

1 голос
/ 23 сентября 2008

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

1 голос
/ 23 сентября 2008

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

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

1 голос
/ 23 сентября 2008

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

1 голос
/ 23 сентября 2008

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

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

0 голосов
/ 23 сентября 2008

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

0 голосов
/ 23 сентября 2008

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

0 голосов
/ 23 сентября 2008

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

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