Доступ к внутреннему IIS с аутентификацией Windows из Интернета

У меня есть веб-приложение.NET, работающее на IIS за брандмауэром.
Приложение использует проверку подлинности Windows (NTLM) для проверки подлинности пользователей.
Мне нужно сделать это приложение доступным из Интернета, чтобы:

  • Когда пользователь пытается получить доступ к приложению, отображается форма входа в систему, созданная [Обратный прокси-сервер].
  • Пользователь вводит логин и пароль и отправляет форму.
  • [Обратный прокси-сервер] сопоставляет внешние учетные данные с учетными данными Windows, мы можем хранить логины и пароли доменов Windows в некоторых БД.
  • [Обратный прокси-сервер] обеспечивает доступ к веб-приложению с использованием предоставленных учетных данных.

Чтобы было ясно, я не хочу, чтобы NTLM проходил через пользователя, мне нужно, чтобы [Обратный прокси-сервер] вместо этого говорил с IIS от имени пользователя. Пользователь может вводить разные учетные данные, может использовать другой тип аутентификации (Google, FB и т. Д.), И [Обратный прокси-сервер] будет сопоставлять внешнюю учетную запись с внутренней. Например, сотрудники будут настраивать внешние учетные записи, которые они хотят использовать для доступа к порталу интрасети.

Какие у меня варианты?
Могу ли я использовать Nginx или Squid для реализации такого сценария с помощью пользовательского модуля / плагина?

3 ответа

Это звучит так, будто SAML или oOth - хороший вариант для вас. Вы смотрели на этот путь вообще? Обычно он используется для делегирования учетных данных других сайтов, но также должен работать и для внутренних сайтов. Вы, вероятно, должны были бы создать пользовательский интерфейс в вашей DMZ.

Тот факт, что вы хотите, чтобы ваш обратный прокси-сервер делал это, немного усложняет. Я не знаю ни одного встроенного прокси- программного обеспечения, которое делает это, но некоторые из устройств VPN от Junipers предлагают веб-интерфейс, который не только позволяет пользователям устанавливать VPN-подключение, но также может использоваться в качестве такого прокси-сервера после аутентификации пользователя. к веб-интерфейсу устройства VPN.

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

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

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

Другие вопросы по тегам