windows - Hvad er forskellen mellem Anonym, Autentificer, Impersonere og Delegere, og hvorfor har Delegat brug for Kerberos?

Indlæg af Hanne Mølgaard Plasc

Problem



Når vores kunder installerer vores software, vælger de ofte en 'delt installation', hvor tjenesterne kører på en boks, og databasen er på en anden boks. Tjenesterne kan tale med andre tjenester, eller databasen kan indeholde gemte procedurer, der skal snakke med en anden database.


Dette fører os ind i den skumle verden af ​​Kerberos og SetSPN.


Jeg var ved at sende support guys en e-mail nedbryde forskellen mellem de forskellige godkendelsesniveauer understøttet af Windows, men jeg indså, at min viden bliver lidt vag om forskellen mellem udseende og delegere, og jeg er virkelig skitseret, når det kommer til Kerberos.


Kan nogen oplyse mig?

Bedste reference


Autentificer (authn) betyder at identificere en bruger. Autoris (authz) betyder at bestemme hvilke rettigheder en godkendt bruger har. En anonym bruger er ikke blevet godkendt, men kan have nogle rettigheder på systemet (en 'gæst'). Udseende og delegere er to sider af samme mønt. Jeg udligner dig, hvis jeg bruger din identitet til at gøre en handling; du uddeleger mig ret til at efterligne dig og tage nogle handlinger.


Kerberos (eller 'Curb') er et token-baseret autentificeringskema. Det vil sige, at det er en måde at lade brugerne logge ind og blive korrekt identificeret (authn) og givet rettigheder (authz) i systemet. [1]


Per kommentarer: Du behøver ikke Curb for delegation, men den er indbygget i Server 2003. Du kan også bruge NTLM, SSL Certificate Mapping eller Digest Authentication. Men ingen af ​​dem er så robuste og fleksible som Curb. Du har også mulighed for at foretage en begrænset delegation, som kun tillader en delegation til bestemte tjenester. Årsagen er, at du har brug for en betroet tredjepart til at validere dit token. I grunden går strømmen sådan ...



  1. Jeg godkender til mit domæne.

  2. Det domæne udsteder et certifikat til mig. Det cert gør krav på mig.

  3. Jeg tager cert og giver det til den tjeneste, jeg vil tillade mig at gøre noget

  4. Tjenesten tager cert og Valida er det med en autoriseret certifikatmyndighed

  5. Tjenesten giver eller nægter adgang baseret på kommunikation med certifikatmyndigheden



Det er et dybt emne som du ved. :) Her er en god artikel om nogle af de ovennævnte muligheder. Se også på dette webcast - det handler om ADFS, men det gør et godt stykke arbejde på de begreber, der kan hjælpe . [2] [3]

Andre referencer 1


Du vil muligvis gerne børste op på Kerberos på Ken Schaefers hjemmeside. Hans Kerberos FAQ rock. [4] [5]


Ved at tilføje ovenstående svar har delegationen en serverautentificering til en anden server ved hjælp af klientens oprindelige godkendelse. Med Kereberos er dette forholdsvis let at opnå - du tillader kun den første server at 'genudstede' klientens godkendelse polet. Alternativet (NTLM) tillader ikke delegering let/sikkert, da det er en udfordring/svar-autentificering - den eneste måde, hvorpå serveren kan autentificere til den sekundære server, er, hvis den kan reagere på udfordringen/svaret og gøre det ville have brug for klientens adgangskode.


Jeg har et ServerFault svar vedrørende Kerberos Delegation, der kan være interessant. [6]