Autenticazione di Windows per proteggere l'API

3

Uno dei miei colleghi ha una chiamata web api che sta controllando che l'utente abbia effettuato l'accesso e il suo token corrisponda a ciò che è in sessione (grazie a tutti voi per il vostro aiuto). Diciamo che questo è di livello blu.

Dopo che è stato confermato l'utente è chi dicono di essere, quindi effettua una chiamata a un'altra API su un altro server (chiamiamola layer Red). Non sono sicuro del motivo per cui non chiama semplicemente uno strato direttamente ma presuppone che ci sia una buona ragione per questo "Mirroring".

Ha detto che impedisce a qualcuno di chiamare direttamente il layer rosso e che solo il layer blue può chiamarlo. Gli ho chiesto come e ha detto l'autenticazione di base di Windows.

Non ho nemmeno ancora visto il suo IIS, ecc., ma presumo che ci sia un setup di autenticazione di base.

Quali sono alcuni rischi che ti vengono in mente in uno scenario come questo?

Grazie!

    
posta NullHypothesis 12.03.2014 - 14:11
fonte

3 risposte

1

L'autenticazione di base è non Autenticazione integrata di Windows. Il primo usa nomi utente e password chiari; il secondo utilizza i token Kerberos (di solito) o NTLM. L'autenticazione integrata è abbastanza sicura (tm) purché si imposti correttamente gli ACL. È un errore comune impostare gli ACL troppo permissivi (ad esempio gli utenti autenticati) e affidarsi all'impossibilità di un utente malintenzionato di ottenere tutti i token Kerberos validi perché non dispongono di un account sul proprio dominio. Ancora peggio, un programmatore potrebbe non controllare affatto l'autorizzazione e presumere che, poiché la chiamata non ha avuto esito negativo a livello IIS, deve essere OK.

Queste cose sono stupide; assicurati di impostare gli ACL per consentire solo agli utenti che IIS è in esecuzione come sul livello blu l'accesso al livello rosso. Finché lo fai, è sicuro; o, almeno, se qualcuno può romperlo, hai problemi più grandi.

    
risposta data 14.09.2015 - 01:18
fonte
0

se voleva essere SOLO per gli utenti sul server Windows, quindi nessuno, avrebbero le autorizzazioni, e rompere fuori di loro requiers una password di amministratore, quindi se è una API / applicazione interna che utilizza l'autenticazione di Windows, l'unica paura è qualcuno che tenga la password dell'amministratore.

la cosa del mirroring è qualcosa che alcune persone chiamano una "seconda opinione" con la verifica, e dal momento che è la sua ultima descrizione, è intelligente a lasciare solo la chiamata rossa al blu, perché se bypassassi il blu, la tua unica preoccupazione sarebbe il rosso, e dal momento che il tuo amico desidera 2 passaggi di verifica, devi prima passare attraverso Blu, e poi attraverso il Rosso, per assicurarti di essere il vero utente!

    
risposta data 21.05.2014 - 10:03
fonte
0

Qui ci sono un paio di potenziali rischi, a seconda di come esattamente questo è impostato e quali sono i requisiti.

  1. Se gli utenti finali possono ottenere l'accesso diretto al layer rosso e possono ottenere credenziali valide, hanno accesso illimitato al layer rosso utilizzando solo quelle credenziali, saltando completamente il controllo auth sul layer blue.

  2. Se blue layer esiste solo come controllo di autenticazione, è un ulteriore punto di errore e se subisce un'interruzione, il sistema diventa inutilizzabile anche se il layer rosso funziona correttamente.

  3. Se le credenziali per accedere al layer rosso non sono univoche per l'utente ma per l'applicazione blue layer, sarà più difficile stabilire se l'accesso al layer rosso è effettivamente autorizzato, poiché il layer red avrà un tempo molto più difficile dire la differenza tra un accesso autorizzato e l'accesso da parte di un utente con un token rubato per il livello blu.

Alla fine, questi rischi sono probabilmente molto minori. Non so se l'installazione in atto è necessariamente l'ideale, ma è probabile che vada bene ei rischi che esso mitiga sono probabilmente significativamente più gravi. È simile nella progettazione a molte architetture multi-livello.

    
risposta data 17.12.2014 - 17:41
fonte

Leggi altre domande sui tag