Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird das ExtendedProtection-Beispiel beschrieben.
Erweiterter Schutz ist eine Sicherheitsinitiative zum Schutz vor Man-in-the-Middle-Angriffen (MITM). Ein MITM-Angriff ist eine Sicherheitsbedrohung, bei der ein MITM die Anmeldeinformationen eines Clients an einen Server weiterleitet.
Diskussion
Wenn Anwendungen sich mit Kerberos, Digest oder NTLM mit HTTPS authentifizieren, wird zuerst ein TLS-Kanal (Transport Level Security) eingerichtet und dann die Authentifizierung mithilfe des sicheren Kanals durchgeführt. Es gibt jedoch keine Bindung zwischen dem Sitzungsschlüssel, der von SSL generiert wurde, und dem Sitzungsschlüssel, der während der Authentifizierung generiert wurde. Jedes MITM kann sich zwischen dem Client und dem Server einrichten und die Weiterleitung der Anforderungen vom Client starten, auch wenn der Transportkanal selbst sicher ist, da der Server keine Möglichkeit hat zu wissen, ob der sichere Kanal vom Client oder einem MITM hergestellt wurde. Die Lösung in diesem Szenario besteht darin, den äußeren TLS-Kanal mit dem inneren Authentifizierungskanal zu binden, sodass der Server erkennen kann, ob ein MITM vorhanden ist.
Hinweis
Dieses Beispiel funktioniert nur, wenn es in IIS gehostet wird.
Hinweis
Die folgenden Schritte sind spezifisch für Windows 7.
So können Sie das Beispiel einrichten, erstellen und ausführen
Installieren Sie Internetinformationsdienste über die Systemsteuerung, "Programme hinzufügen/entfernen", "Windows-Features".
Installieren Sie die Windows-Authentifizierung in Windows-Features, Internetinformationsdienste, World Wide Web Services, Security und Windows Authentication.
Installieren Sie die HTTP-Aktivierung von Windows Communication Foundation in Windows-Features, Microsoft .NET Framework 3.5.1 und die HTTP-Aktivierung von Windows Communication Foundation.
In diesem Beispiel muss der Client einen sicheren Kanal mit dem Server einrichten, daher muss ein Serverzertifikat vorhanden sein, das über den IIS-Manager (Internet Information Services) installiert werden kann.
Öffnen Sie den IIS-Manager. Öffnen Sie Serverzertifikate, die auf der Registerkarte "Featureansicht " angezeigt werden, wenn der Stammknoten (Computername) ausgewählt ist.
Erstellen Sie zum Testen dieses Beispiels ein selbstsigniertes Zertifikat. Wenn Sie nicht möchten, dass der Browser Sie bezüglich eines unsicheren Zertifikats benachrichtigt, installieren Sie das Zertifikat im Zertifikatspeicher der vertrauenswürdigen Stammzertifizierungsstellen.
Öffnen Sie den Bereich "Aktionen " für die Standardwebsite. Klicken Sie auf "Website bearbeiten", "Bindungen". Fügen Sie HTTPS als Typ hinzu, falls noch nicht vorhanden, mit Portnummer 443. Weisen Sie das im vorherigen Schritt erstellte SSL-Zertifikat zu.
Erstellen Sie den Dienst. Dadurch wird ein virtuelles Verzeichnis in IIS erstellt und die dateien .dll, .svc und .config kopiert, die erforderlich sind, damit der Dienst web gehostet wird.
Öffnen Sie den IIS-Manager. Klicken Sie mit der rechten Maustaste auf das virtuelle Verzeichnis (ExtendedProtection), das im vorherigen Schritt erstellt wurde. Wählen Sie "In Anwendung konvertieren" aus.
Öffnen Sie das Authentifizierungsmodul im IIS-Manager für dieses virtuelle Verzeichnis, und aktivieren Sie die Windows-Authentifizierung.
Öffnen Sie die erweiterten Einstellungen unter der Windows-Authentifizierung für dieses virtuelle Verzeichnis, und legen Sie sie auf "Erforderlich" fest.
Sie können den Dienst testen, indem Sie über ein Browserfenster auf die HTTPS-URL zugreifen (Geben Sie einen vollqualifizierten Domänennamen an). Wenn Sie von einem Remotecomputer aus auf diese URL zugreifen möchten, stellen Sie sicher, dass die Firewall für alle eingehenden HTTP- und HTTPS-Verbindungen geöffnet wird.
Öffnen Sie die Clientkonfigurationsdatei und geben Sie einen vollqualifizierten Domänennamen für das Client- oder Endpunktadressenattribut an, das
<<full_machine_name>>
ersetzt.Führen Sie den Client aus. Der Client kommuniziert mit dem Dienst, der einen sicheren Kanal herstellt und erweiterten Schutz verwendet.