WEB-приложение Сведение отчетности   (02.10.2017)
Получение ответов «403 Forbidden» при некоторых действиях после успешной авторизации

Описание проблемы:

На клиенте - после успешной авторизации на некоторые запросы возвращается ошибка "403 Forbidden".

На сервере  - несколько запросов в рамках одной сессии приходят с одинакового ip-адреса, далее идут несколько запросов с разных ip-адресов рамках той же сессии. После этого запросы снова идут с первого ip-адреса.

Причины проблемы:

Ошибка происходит в момент смены видимого ip-адреса (запрос приходит на сервер не с того ip-адреса, с которого выполнялась авторизация). Иными словами, имеется проблема нестабильности ip-адреса в рамках одной пользовательской сессии.

Удаленные клиенты идентифицируются сервером при помощи ip-адреса и "идентификатора сессии", который поддерживается посредством механизма cookies. Использование ip-адреса в дополнение к cookies обусловлено следующими факторами:

  1. Обеспечение требуемого уровня безопасности.  
    • cookie представляет собой глобально уникальный идентификатор (GUID), генерируемый сервером при первом обращении каждого из клиентов. При этом Microsoft официально утверждает, что вероятность повтора генерируемого GUID крайне мала, но не равна нулю. В связи с этим было принято решение дополнять идентификацию сессии по cookie контролем ip-адреса;
    • не исключена возможность "перехвата" cookie на любом из узлов маршрутизации любого уровня запроса удаленного пользователя; при снятии контроля ip-адреса будет открыта возможность делать запросы с перехваченной cookie с других ip-адресов, не зная логина и пароля пользователя (и получать на эти адреса ответы).
  2. Перспектива контроля числа лицензий пользователя, определяемого через число активных подключений, определяемых по ip-адресам.

Пути решения проблемы:

  1. Попытаться решить проблему стабильности ip-адреса посредством взаимодействия с администратором сети или провайдером удаленного пользователя. 
  2. Внести изменения в систему идентификации сессий, отказавшись от контроля ip-адреса. Этот путь имеет существенные недостатки, связанные со снижением уровня безопасности и теоретической невозможностью контроля web-сервером числа лицензий пользователей.