Клиентские сертификаты на IIS - не уверен, что получаю - опыт, пожалуйста? - PullRequest
2 голосов
/ 27 февраля 2009

Нужны советы по использованию клиентских сертификатов для ретро-контроля доступа к существующему приложению.

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

Сейчас я ищу способ разместить это приложение снаружи, чтобы другие организации, которые не хотят размещать его самостоятельно, могли использовать его (у каждого нового клиента была бы своя собственная установка).

У всех пользователей в новой организации будет сертификат клиента, поэтому я хотел бы использовать в IIS «Требовать сертификат клиента». Это позволяет вам сказать «если Organization = BigClientX, то притвориться, что они локальные пользователи Y».

Что бы я предпочел, это то, что говорит: «Если Organization = BigClientX, то пусть они получают доступ к ресурсам в virtualdirectoryZ, иначе игнорируют их».

Я был бы очень рад купить аддон (возможно, фильтр ISAPI?), Который бы сделал это для меня, если бы это был лучший подход. Любой совет / военные истории будут приветствоваться .

Ответы [ 2 ]

0 голосов
/ 04 марта 2009

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

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

Это особенно верно в вашем сценарии, где ваше приложение имеет выход в Интернет (в сценарии «хостинга») - вы мало контролируете выдачу сертификатов вашим пользователям.

0 голосов
/ 28 февраля 2009

Я сделал нечто подобное ...

Создайте сертификаты внутренне из контроллера домена вашей организации. Экспортируйте их как в формате PFX для распространения, так и в формате CER для импорта в IIS.

Распространите экспорт в формате PFX вместе с сертификатом CA для вашего DC, чтобы компьютеры ваших клиентов «доверяли» вашему CA.

Теперь в свойствах приложения IIS перейдите на вкладку Безопасность каталога и в разделе «Безопасные коммуникации» нажмите «Изменить». Там нажмите «Принять клиентские сертификаты», «Включить сопоставление клиентских сертификатов», затем «Изменить».

На вкладке «1 к 1» нажмите «Добавить» и импортируйте файл CER. Введите учетную запись, к которой вы хотите привязать этот сертификат.

Что касается «предоставления им доступа к ресурсам», я бы посоветовал делать это с помощью учетной записи пользователя, через которую они сопоставлены, то есть вы можете предоставить доступ к ресурсам на основе этой учетной записи либо через разрешения NTFS, либо через код определение контекста безопасности вошедшего в систему пользователя.

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