Infodatei für das Beispiel zum erweiterten Schutz für die AuthentifizierungReadMe for Extended Protection Authentication Sample

Erweiterter Schutz ist eine Sicherheitsinitiative zum Schutz vor Man-in-the-Middle-Angriffen (MITM), in dem ein Angreifer (die "Man-in-the-Middle"), fängt die Anmeldeinformationen des Clients ab, und verwendet sie den Zugriff auf sichere Ressourcen auf dem Client vorgesehenen Server.Extended Protection is a security initiative to protect against man-in-the-middle (MITM) attacks, in which an attacker (the "man-in-the-middle") intercepts a client’s credentials and uses them to access secure resources on the client’s intended server.

Weitere Informationen finden Sie unter erweiterter Schutz für die Authentifizierung (Übersicht).For more information, see Extended Protection for Authentication Overview.

Hinweis

Dieses Beispiel funktioniert nur, wenn es auf IIS gehostet wird.This sample only works when hosted on IIS. Es funktioniert nicht unter Visual Studio Development Server, da hier keine HTTPS-Unterstützung gegeben ist.It does not work on Visual Studio Development Server because that does not support HTTPS.

So richten Sie das Beispiel ein, erstellen es und führen es ausTo Set Up, Build, and Run the Sample

  1. Wählen Sie im Abschnitt zum Hinzufügen bzw. Entfernen von Programmen die Option für die Windows-Funktionen aus, um IIS auf dem Computer zu installieren.Install IIS on the machine from Add/Remove Programs -> Windows Features.

  2. Aktivieren Sie in den Windows-Funktionen die Windows-Authentifizierung: Internetinformationsdienste -> World Wide Web-Dienst -> Sicherheit -> Windows-Authentifizierung.Turn on Windows Authentication in Windows features: Internet Information Services -> World Wide Web Services -> Security -> Windows Authentication.

  3. Aktivieren Sie in den Windows-Funktionen die HTTP-Aktivierung: Microsoft .NET Framework 3.5.1 -> Windows Communication Foundation-Http-Aktivierung.Turn on HTTP Activation in Windows features: Microsoft .NET Framework 3.5.1 -> Windows Communication Foundation HTTP Activation.

  4. In diesem Beispiel muss der Client eine Verbindung über einen sicheren Kanal zum Server herstellen. Dazu muss ein Serverzertifikat vorliegen, das im IIS (Internet Information Services)-Manager installiert werden kann.This sample requires the client to establish a secure channel with the server and so it requires the presence of a server certificate which can be installed from Internet Information Services (IIS) Manager.

    1. Öffnen Sie auf der Registerkarte mit den Funktionen „IIS-Manager“ -> „Serverzertifikate“.Open the IIS manager -> Server certificates (from the feature view tab).

    2. Für dieses Beispiel können Sie ein selbstsigniertes Zertifikat erstellen.For the purpose of testing this sample, you can create a self-signed certificate. (Wenn Sie von Internet Explorer keine Meldung hinsichtlich der fehlenden Sicherheit des Zertifikats erhalten möchten, können Sie es im entsprechenden Autoritätsspeicher für vertrauenswürdige Zertifikate installieren).(If you don’t want Internet Explorer to prompt you about the certificate not being secure, you can install it in the Trusted Certificate Root authority store).

  5. Wechseln Sie zum Aktionsbereich für die Standardwebsite.Go to the Actions pane for the Default Web site. Klicken Sie auf die Option zum Bearbeiten der Website und anschließend auf "Bindungen".Click Edit Site -> Bindings. Falls nicht bereits vorhanden, fügen Sie HTTPS als Typ mit der Anschlussnummer 443 hinzu, und weisen Sie das im vorherigen Schritt erstellte SSL-Zertifikat zu.Add HTTPS as a type if it is not already present, with port number 443, and assign the SSL certificate created in the above step.

  6. Erstellen Sie den Dienst.Build the service. In IIS wird gemäß der in den Projekteigenschaften angegebenen Postbuildaktion ein virtuelles Verzeichnis erstellt, und die für das Webhosting des Diensts erforderlichen DLL-, SVC- und CONFIG-Dateien werden kopiert.This creates a virtual directory in IIS for you (from the post build action specified in the project properties) and copies the dll, .svc and config files as needed for a service to be Web hosted.

  7. Öffnen Sie den IIS-Manager.Open the IIS Manager. Klicken Sie mit der rechten Maustaste auf das virtuelle Verzeichnis (ExtendedProtection), das Sie im vorhergehenden Schritt erstellt haben, und wählen Sie die Option zum Konvertieren in eine Anwendung.Right-click the virtual directory (ExtendedProtection) that you created in the previous step and select Convert to Application.

  8. Öffnen Sie das Authentifizierungsmodul für das virtuelle Verzeichnis in IIS Manager, und aktivieren Sie die Windows-Authentifizierung.Open the Authentication module in IIS Manager for this virtual directory and enable Windows Authentication.

  9. Öffnen Sie die erweiterten Einstellungen für die Windows-Authentifizierung für dieses virtuelle Verzeichnis, und legen Sie es auf "Erforderlich" fest, da in diesem Beispiel die entsprechende ExtendedProtection-Einstellung auf "Immer" festgelegt ist.Open the Advanced Settings for Windows Authentication for this virtual directory and set it to Required, since, in the sample, the corresponding ExtendedProtection setting is set to Always.

  10. Testen Sie den Dienst, indem Sie von einem Browserfenster aus auf die URL zugreifen.You can test the service by accessing the URL from a browser window. Möchten Sie von einem Computer im Netzwerk aus auf die URL zugreifen, konfigurieren Sie die Firewall entsprechend, damit ein- und ausgehende HTTP- und HTTPS-Verbindungen hergestellt werden können.If you want to access this URL from a cross machine, make sure that the firewall is opened for all incoming HTTP and HTTPS connections.

  11. Öffnen Sie die Client-Config-Datei, und geben Sie den vollständigen Computernamen für die <Client >- <Endpunkt >--adressenattribut << Full_machine_name >> ersetzen.Open the client config file and provide a full machine name for the <client> - <endpoint> - address attribute, replacing <<full_machine_name>>.

  12. Führen Sie den Client aus.Run the client. Der Client kommuniziert mit dem Dienst über einen sicheren Kanal und verwendet verdeckt die erweiterte Sicherheit.The client communicates to the service by establishing a secure channel and using extended protection under the covers.