Connessione tramite SPNEGO / Kerberos fuori dal dominio

7

È possibile autenticare il server SPNEGO / Kerberos nel dominio A con un account dello stesso dominio (ovviamente) quando il client si connette dal computer in una delle seguenti (abbastanza simili) situazioni :

  • il client è autenticato nel dominio B (account diverso, nessun trust tra domini) o
  • il computer dell'utente è attualmente non autenticato contro il dominio A (accesso locale, ad esempio quando si accede a intranet tramite VPN)

Ovviamente entrambi questi casi non possono portare all'autenticazione integrata (poiché l'autenticazione del computer principale è diversa da quella che deve essere utilizzata in Kerberos). Tuttavia è possibile con Internet Explorer (o Firefox) chiedere credenziali e usare Kerberos?

Quando si utilizza Kerberos, è necessaria una connessione a KDC (per quanto ne so). Windows o il browser sono in grado di localizzare KDC per SPN del server?

    
posta Pavel Horal 23.10.2015 - 14:09
fonte

1 risposta

2

In senso stretto, entrambe le situazioni non sono possibili perché violano la semantica della fiducia di Kerberos. Per definizione, il primo scenario ha un TGT nel dominio B e il dominio A non si fida di esso. Il tuo secondo scenario è simile, tranne che potresti non avere nemmeno un TGT perché è solo locale. (La mia affermazione presuppone che stiamo parlando dell'uso dei ticket Kerberos come autenticazione e non di una situazione in cui stai trasmettendo le credenziali in chiaro a un server per poi presentarlo al KDC per la verifica).

In entrambi i casi, l'applicazione client non avrà un TGT o un ticket di servizio valido nel dominio A per il servizio HTTP da convalidare con il KDC.

Detto questo, c'è un modo per farlo nel tuo secondo caso ... ma si presume che tu possa accedere al dominio A, anche se non inizialmente. Ciò avviene eseguendo l'app client (Firefox, IE, ecc.) Con un RunAs che autentica in un account di rete nel dominio A. Vedere il flag / netonly di runas cmd ( link ). Questo funziona stabilendo un altro contesto di accesso ed eseguendo l'applicazione come tale contesto. Windows utilizza il contesto utente dell'applicazione per inizializzare le sue API quando effettua chiamate correlate a Kerberos e quindi avrà un TGT nel dominio A per continuare la sua sessione.

    
risposta data 11.11.2015 - 16:29
fonte

Leggi altre domande sui tag