Как вы контролируете доступ к вашему веб-приложению на основе IP-адреса? - PullRequest
3 голосов
/ 17 апреля 2010

У нас есть требование контролировать доступ к нашему веб-приложению на основе SaaS на основе IP-адресов (то есть нам придется ограничивать доступ пользователям компании А только в том случае, если запрос исходит от ПК в подсети). Как вы решаете эту проблему?

Ответы [ 4 ]

4 голосов
/ 17 апреля 2010

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

3 голосов
/ 17 апреля 2010

У вас есть два варианта (хорошо, только что видел ответ @ Марка, так что, по крайней мере, три варианта), мои два - белый список:

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

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

Таким образом, лучшим решением этих двух долгосрочных задач (поскольку вышеперечисленное можно реализовать немедленно) будет проверка запросов по мере их поступления к вам в службу и проверка запросов по «базе данных» действительных IP-адресов, а затем просто отклонение любые запросы, которые вам не нравятся, с любым ответом, который вы считаете нужным. Это имеет следующие преимущества: а) предоставление вам большего контроля (например, вы можете разрешить менее ограниченный доступ к некоторым службам, если это необходимо) и б) предоставление вам собственных инструментов для ведения таблицы IP-адресов, поскольку можно надеяться - если Ваш SaaS успешен - это будет важной и постоянной задачей.

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

1 голос
/ 17 апреля 2010

Если это чисто веб-сервис, почему бы не использовать https и ограничить доступ только теми, кто имеет надлежащие клиентские сертификаты? Конечно, развертывать сложнее, чем просто иметь правила IP-диапазона, но он должен быть более стабильным (плюс защищенным, поэтому в зависимости от ваших настроек не будет необходимости в отдельном шаге «входа в систему»).

0 голосов
/ 17 апреля 2010

Как насчет использования брандмауэра?

...