Сохранение одних веб-сервисов закрытыми, а других общедоступными. - PullRequest
1 голос
/ 03 июня 2009

Не уверен, что лучше всего достичь чего-то ...

У нас есть несколько веб-сервисов, работающих на asp.net v3.5 на нескольких веб-серверах. Все они прекрасно общаются друг с другом и с общедоступным интернетом.

Теперь мы хотели бы сохранить некоторые из этих веб-сервисов «закрытыми», то есть сделать их недоступными для общедоступного Интернета, оставив другие доступными.

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

Является ли эта идея разумным решением? Или есть какой-то офигительно простой механизм IIS, который я должен использовать?

Спасибо

SAL

Ответы [ 5 ]

2 голосов
/ 03 июня 2009

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

1 голос
/ 03 июня 2009

Это действительно зависит от того, насколько вы хотите, чтобы внутренние веб-сервисы.

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

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

1 голос
/ 03 июня 2009

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

Это именно тот подход, который мы используем. У нас также есть VPN, чтобы сотрудники могли получить доступ к сайту, если они работают удаленно.

1 голос
/ 03 июня 2009

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

0 голосов
/ 03 июня 2009

Помимо порта, вы можете использовать ограничение для вызывающего абонента (например, с помощью фильтрации IP-адресов).

Также вам может потребоваться аутентификация для вызывающей стороны веб-службы, которая должна быть проста в настройке в случае использования ActiveDirectory.

В любом случае, если у вас есть «публичный» веб-сервис, который также является частным, вы можете «опубликовать» его дважды: один раз для общего доступа (с хорошим внешним URL-адресом) и один для внутреннего, чтобы ваш внутренние службы и / или клиенты не должны переходить по «внешнему» URL. Затем вы можете настроить ограничения (IP-адрес клиента, аутентификация и т. Д.) По-разному для разных издателей одного и того же сервиса.

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