Wenn eine von IIS gehostete Site mit Kerberos gesichert ist, können Linux-Computer eine Verbindung damit herstellen?

Wenn eine von IIS gehostete Site mit Kerberos gesichert ist, können Linux-Computer eine Verbindung damit herstellen?

Ich habe ein Problem beim Konfigurieren meiner IIS 7.0-Website in einer Testumgebung mit Kerberos. Ich habe eine Testversion von Windows Server 2008 R2 mit installierten AD DS-, AD RMS-, DHCP-, DNS- und IIS-Rollen. Ich habe die IIS-Sicherheitseinstellungen für die Site aufgerufen und die Windows-Authentifizierung so eingerichtet, dass eine Kerberos-Anmeldung möglich ist.

Das Problem, auf das ich stoße, ist, dass Kerberos nicht routinemäßig als Sicherheitsprotokoll verwendet wird. Wenn ich Provider in IIS auf „Negotiate“ einstelle, zeigt Fiddler2 an, dass der Header in 50 % der Fälle einen NTLM-Header und in den anderen 50 % der Fälle einen Kerberos-Header zurückgibt. Wenn ich den Provider in IIS stattdessen auf „Negotiate:Kerberos“ einstelle, kann ich überhaupt nicht auf die Site zugreifen, da sofort ein 401-Fehler gemeldet wird. Darüber hinaus weist jeder Versuch, in einer der beiden Konfigurationen mit einem Linux-Computer eine Verbindung zur Site herzustellen, sofort auf einen 401-Sicherheitsfehler hin.

Kann mir bitte jemand Einblicke oder Anleitungen geben, wie man das konfiguriert? Ich muss insbesondere jeden Fallback auf NTLM blockieren und Kerberos aktivieren, unabhängig davon, mit welcher Maschine ich mich verbinde. Bisher habe ich keine Technet- oder Serverfault-Artikel gefunden, die dieses Problem vollständig behandeln.

Antwort1

In Firefox müssen Sie unter about:config die Verwendung von Kerberos einrichten.Netzwerk.Verhandlung-Auth.Trusted-URISUndNetzwerk.Verhandlung-Authentifizierung.Delegation-URS.

Versuchen Sie es für Chrome/Chromiumchromium-browser –auth-server-whitelist=”company.com”

Antwort2

Wenn Sie einen Linux-Dienst/eine Linux-Anwendung für die Authentifizierung bei einem IIS-Dienstendpunkt einrichten möchten, können Sie die Linux-Box folgendermaßen dazu bringen, sich bei einer von IIS gehosteten Windows-Site zu authentifizieren:

  1. Stellen Sie die Windows-Authentifizierung Ihrer IIS-Site sicherAnbieterwerden für die Windows-Authentifizierung in dieser Reihenfolge festgelegt:
    • NTLM
    • Verhandeln
  2. Erstellen Sie einen Principal für das Konto, mit dem Sie sich authentifizieren möchten:
    • Melden Sie sich mit Kerberos-Tools bei einem Windows-Server in der Domäne an (normalerweise ein AD-Server).
    • Registrieren eines Dienstprinzipalnamens(SPN)gegen das Konto, mit dem Sie sich authentifizieren möchten, und generieren Sie gleichzeitig eine Kerberos-Keytab-Datei:
      • VerwendenAbonnierenum eine Keytab für Linux zu generieren
      • ktpass -princ HTTP/[email protected] -ptype KRB5_NT_PRINCIPAL -mapuser myuser -pass mypassword -out c:\user.keytab
      • Hinweis: Es ist wichtig, dass die URL myiis.site.commit dem Endpunkt übereinstimmt, den Sie erreichen; und dass dies SITE.COMmit IhremDomänen-Komponente.
    • Sie können Ihren SPN überprüfen mitsetspn -L myuser
    • An diesem Punkt haben Sie nun einen SPN, der einem AD-Benutzer zugeordnet ist, und eine Kerberos-Keytab-Datei für Linux, um ein vom KDC (AD-Server) ausgestelltes Kerberos-Ticket zur Authentifizierung mit dem Negotiate-Anbieter zu erhalten.
  3. Importieren Sie Ihren Keytab in die Linux-Box/Anwendung, je nach Kerberos-Variante. So zeigen Sie die Anmeldeinformationen im Keytab an:
    • MITKerberos
      • klist -c -k user.keytab
    • HeimdalKerberos (vorausgesetzt, Sie haben den Keytab kopiert nach/etc/heimdal/krb5.keytab
      • ktutil list

verwandte Informationen