Двухфакторный механизм для разграничения пользователей сети и пользователей WAN
Я нахожусь в ситуации, когда мой клиент хотел бы двухфакторной аутентификации (например, войти в систему и получить электронную почту с URL доступа) в соответствии со следующими правилами:
- Если пользователи находятся в локальной сети, не требуется двухуровневая аутентификация (учетные данные AD).
- Если пользователь не находится в локальной сети, требуется двухуровневая аутентификация >> Войдите в систему с именем пользователя / паролем (может быть AD, может быть что-то еще, мы создали наше собственное решение SSO), а затем получите электронную почту на указанный почта-адр.
Наша главная проблема в том, что сложно понять, откуда пришел пользователь. Причиной этого является сервер ISA, который в основном удаляет всю информацию о клиенте. Информация, полученная на ISS, где работает приложение, возвращает адрес сервера ISA в информации CLIENT_IP.
Итак, как мы можем определить, откуда пришел пользователь, когда весь трафик проходит через один и тот же ISA-сервер?
Одно из решений состояло в том, чтобы создать ресурс, доступный только из локальной сети, и в основном сказать: "Если вы не можете получить доступ к этому ресурсу, вы де-факто не находитесь в локальной сети". Однако это опять-таки может повлиять на время ожидания - например, "попробуйте найти ресурс, но время ожидания истекло через 3 секунды". Это может замедлить работу приложения И у нас может возникнуть проблема, так как несколько сотрудников работают из других частей мира, где линии плохие, когда дело доходит до доступа к производственным серверам (например, люди в локальной сети, получающие доступ к серверам по фиксированной линии, могут испытывать трудности). не доходят до ресурса, даже если они на самом деле находятся в локальной сети).
Я задал этот вопрос и о стековом потоке, но решение, вроде как, застряло, когда мы узнали, что ISA-сервер удалил всю информацию.
(Я предполагаю, что эта статья кратко излагает источник моей проблемы: http://www.redline-software.com/eng/support/articles/isaserver/security/x-forwarded-isa-track.php)
1 ответ
Мы пришли к выводу о создании механизма, который будет выдавать зашифрованный секрет клиенту в локальной сети. Если этот секрет недоступен с клиентского компьютера, он де-факто находится за пределами локальной сети. Мы видим, что в нем есть некоторые дыры, но мы сосредоточимся на жестком шифровании и коротком сроке службы, чтобы уменьшить риски.