Поделиться через


Расширенная политика защиты

В этой статье описывается пример ExtendedProtection.

Расширенная защита — это инициатива обеспечения безопасности для защиты от атак 'человек посередине' (MITM). Атака MITM — это угроза безопасности, в которой MITM принимает учетные данные клиента и пересылает его на сервер.

Обсуждение

Когда приложения проходят проверку подлинности с помощью Kerberos, Digest или NTLM с помощью HTTPS, сначала устанавливается канал безопасности уровня транспорта (TLS), а затем выполняется проверка подлинности с помощью безопасного канала. Однако между ключом сеанса, созданным SSL, и ключом сеанса, созданным во время проверки подлинности, нет привязки. Любой MITM может установить себя между клиентом и сервером и начать пересылку запросов от клиента, даже если сам транспортный канал является безопасным, так как сервер не имеет способа знать, был ли установлен безопасный канал от клиента или MITM. Решением в этом сценарии является привязка внешнего канала TLS к внутреннему каналу проверки подлинности, таким образом, что сервер может определить, есть ли MITM.

Замечание

Этот пример работает только при размещении в IIS.

Замечание

Следующие шаги относятся к Windows 7.

Настройка, сборка и запуск примера

  1. Установите службы Internet Information Services с панели управления, установка и удаление программ, компоненты Windows.

  2. Установка проверки подлинности Windows в компонентах Windows, службах Internet Information Services, веб-службах,безопасности и проверке подлинности Windows.

  3. Установите HTTP-активацию Windows Communication Foundation в компонентах Windows, Microsoft .NET Framework 3.5.1 и HTTP-активацию Windows Communication Foundation.

  4. Этот пример требует, чтобы клиент установил безопасный канал с сервером, поэтому для него требуется наличие сертификата сервера, который можно установить из диспетчера служб IIS.

    1. Откройте диспетчер служб IIS. Откройте сертификаты сервера, которые отображаются на вкладке "Представление компонентов " при выборе корневого узла (имени компьютера).

    2. Для тестирования этого примера создайте самозаверяющий сертификат. Если вы не хотите, чтобы браузер запрашивал сертификат, не защищенный, установите сертификат в хранилище корневого центра доверенных сертификатов.

  5. Откройте область действий для веб-сайта по умолчанию. Щелкните "Изменить сайт", "Привязки". Добавьте HTTPS в качестве типа, если он еще не присутствует, с номером порта 443. Назначьте SSL-сертификат, созданный на предыдущем шаге.

  6. Создайте службу. Это создает виртуальный каталог в IIS и копирует файлы .dll, .svc и .config, необходимые для размещения службы на веб-сервере.

  7. Откройте диспетчер служб IIS. Щелкните правой кнопкой мыши виртуальный каталог (ExtendedProtection), который был создан на предыдущем шаге. Выберите "Преобразовать в приложение".

  8. Откройте модуль проверки подлинности в диспетчере IIS для этого виртуального каталога и включите проверку подлинности Windows.

  9. Откройте дополнительные параметры в разделе "Проверка подлинности Windows" для этого виртуального каталога и задайте для него значение "Обязательный".

  10. Чтобы проверить службу, можно получить доступ к URL-адресу HTTPS из окна браузера (укажите полное доменное имя). Если вы хотите получить доступ к этому URL-адресу с удаленного компьютера, убедитесь, что брандмауэр открыт для всех входящих подключений, HTTP и HTTPS.

  11. Откройте файл конфигурации клиента и укажите полное доменное имя атрибута адреса клиента или конечной точки, который заменяет <<full_machine_name>>.

  12. Запустите клиент. Клиент взаимодействует со службой, которая устанавливает безопасный канал и использует расширенную защиту.