Udostępnij za pośrednictwem


Zasady ochrony rozszerzonej

W tym artykule opisano przykład ExtendedProtection.

Rozszerzona ochrona to inicjatywa zabezpieczeń chroniąca przed atakami typu man-in-the-middle (MITM). Atak MITM jest zagrożeniem bezpieczeństwa, w którym MITM pobiera poświadczenia klienta i przekazuje je do serwera.

Dyskusja

Gdy aplikacje uwierzytelniają się przy użyciu protokołu Kerberos, Szyfruj lub NTLM przy użyciu protokołu HTTPS, kanał zabezpieczeń na poziomie transportu (TLS) jest najpierw ustanawiany, a następnie uwierzytelnianie odbywa się przy użyciu bezpiecznego kanału. Nie ma jednak powiązania między kluczem sesji generowanym przez protokół SSL a kluczem sesji wygenerowany podczas uwierzytelniania. Każdy mitM może ustanowić się między klientem a serwerem i rozpocząć przekazywanie żądań od klienta, nawet jeśli sam kanał transportu jest bezpieczny, ponieważ serwer nie ma możliwości ustalenia, czy bezpieczny kanał został ustanowiony z klienta lub MITM. Rozwiązaniem w tym scenariuszu jest powiązanie zewnętrznego kanału TLS z wewnętrznym kanałem uwierzytelniania, tak aby serwer mógł wykryć, czy istnieje mitM.

Uwaga

Ten przykład działa tylko w przypadku hostowania w usługach IIS.

Uwaga

Poniższe kroki są specyficzne dla systemu Windows 7.

Aby skonfigurować, skompilować i uruchomić przykład

  1. Zainstaluj usługi Internet Information Services z Panel sterowania, dodaj/usuń programy, funkcje systemu Windows.

  2. Zainstaluj uwierzytelnianie systemu Windows w funkcjach systemu Windows, usługach Internet Information Services, światowych usługach sieci Web, zabezpieczeniach i uwierzytelnianiu systemu Windows.

  3. Zainstaluj aktywację HTTP programu Windows Communication Foundation w funkcjach systemu Windows, programie Microsoft .NET Framework 3.5.1 i aktywacji HTTP programu Windows Communication Foundation.

  4. Ten przykład wymaga od klienta ustanowienia bezpiecznego kanału z serwerem, dlatego wymaga obecności certyfikatu serwera, który można zainstalować z Menedżera usług Internet Information Services (IIS).

    1. Otwórz Menedżera usług IIS. Otwórz certyfikaty serwera, które są wyświetlane na karcie Widok funkcji po wybraniu węzła głównego (nazwy maszyny).

    2. Na potrzeby testowania tego przykładu utwórz certyfikat z podpisem własnym. Jeśli nie chcesz, aby przeglądarka wyświetlała monit o niezabezpieczenie certyfikatu, zainstaluj certyfikat w magazynie zaufanych urzędów głównych certyfikatów.

  5. Otwórz okienko Akcje domyślnej witryny sieci Web. Kliknij pozycję Edytuj witrynę, powiązania. Dodaj protokół HTTPS jako typ, jeśli jeszcze nie istnieje, z numerem portu 443. Przypisz certyfikat SSL utworzony w poprzednim kroku.

  6. Skompiluj usługę. Spowoduje to utworzenie katalogu wirtualnego w usługach IIS i skopiowanie plików .dll, svc i config zgodnie z wymaganiami, aby usługa była hostowana w sieci Web.

  7. Otwórz Menedżera usług IIS. Kliknij prawym przyciskiem myszy katalog wirtualny (ExtendedProtection), który został utworzony w poprzednim kroku. Wybierz pozycję Konwertuj na aplikację.

  8. Otwórz moduł Uwierzytelniania w Menedżerze usług IIS dla tego katalogu wirtualnego i włącz uwierzytelnianie systemu Windows.

  9. Otwórz Ustawienia zaawansowane w obszarze Uwierzytelnianie systemu Windows dla tego katalogu wirtualnego i ustaw go na wartość Wymagane.

  10. Usługę można przetestować, korzystając z adresu URL HTTPS w oknie przeglądarki (podaj w pełni kwalifikowaną nazwę domeny). Jeśli chcesz uzyskać dostęp do tego adresu URL z komputera zdalnego, upewnij się, że zapora jest otwarta dla wszystkich przychodzących połączeń HTTP i HTTPS.

  11. Otwórz plik konfiguracji klienta i podaj w pełni kwalifikowaną nazwę domeny dla atrybutu adresu klienta lub punktu końcowego, który zastępuje <<full_machine_name>>wartość .

  12. Uruchom klienta. Klient komunikuje się z usługą, która ustanawia bezpieczny kanał i korzysta z rozszerzonej ochrony.