Ecco alcune cose di design di alto livello da esplorare prima. Ci sono un paio di modi per skinare il gatto, e il modo in cui lo imposterai avrà un impatto sulla sostenibilità a lungo termine di questo sistema.
Rilascio e gestione dei certificati:
Quindi, avrai sicuramente bisogno di rilasciare ad ogni amministratore il suo certificato. Come al solito, Microsoft funziona bene con Microsoft, quindi se si dispone già della propria CA per l'emissione di certificati SSL del server (o certificati del controller di dominio), sfruttarla potrebbe essere un modo semplice per farlo. Dovrai riflettere su:
-
Come si ottengono i certificati agli amministratori
-
In che modo gli amministratori archiviano il loro certificato - ad esempio, i certificati software sono facili da creare - e la chiave privata viene archiviata in un file, ma se si passa da una macchina all'altra facendo il proprio lavoro, come si fa a mantenerla privata chiave sicura? su un USB? Le USB sono facili da perdere! Importato in ciascun browser su ciascun sistema? Questo sta mettendo la coppia di chiavi un sacco di posti. Mettere i certificati su smart card o altri token hardware è più costoso, ma più sicuro. Ma poi devi essere sicuro che gli amministratori hanno un lettore di smart card su ogni macchina! Queste cose possono davvero influire sulla tua politica di sicurezza e dovrebbero essere comprese prima di passare il tempo a configurare il sistema.
-
Come vengono chiusi i certificati di amministrazione? Il tipico processo PKI è la revoca da parte della CA, ma ciò presuppone che i server abbiano un modo per controllare lo stato del certificato tramite CRL o OCSP. I server IIS possono farlo (google "controllo dello stato del certificato" o "convalida dello stato del certificato") ma quasi certamente richiede una certa configurazione sia sulla tua CA che sul server. Potresti anche voler mettere in piedi un server OCSP, se non lo hai già fatto.
-
come vengono autenticati i certificati: ti consigliamo di configurare il tuo trust store IIS per includere la CA che sta emettendo i tuoi certificati di amministrazione. Questo è un grande motivo per cui una CA firma i tuoi certificati ... se non lo fai, devi configurare ogni trust store in modo che si fidi del certificato di entità finale autofirmato e che sia un incubo di manutenzione.
Come viene assegnato il privilegio?
In genere una CA viene utilizzata per emettere una serie di certificati, solo alcuni sono certificati di amministrazione. Il modo in cui si progettano i privilegi ha un grande impatto sul funzionamento di tutte queste cose. Ecco alcune opzioni:
-
ne fanno una qualità speciale del certificato emesso - ad esempio, includi la parola "Amministratore" nel Nome distinto quando crei e firmi il certificato dell'amministratore. Cerca quel campo quando l'amministratore esegue l'accesso. Ciò potrebbe comportare del codice personalizzato sul server. Vantaggio: nessun controllo centralizzato extra, Svantaggio: deve avere un modo per emettere coerentemente certificati, deve revocare i certificati quando un amministratore lascia la sua posizione, deve controllare lo stato del certificato.
-
configura i privilegi in Active Directory - come dicono i link di @ M'vy - ci sono modi per configurare AD (o qualsiasi server LDAP) per gli utenti affiliati (autenticati dai certificati) con privilegi (cioè, essendo un amministratore) - questo rende il setup facile da cambiare - l'utente può avere 1 cert, che usa per le cose di amministrazione. Questo privilegio può essere disconnesso quando l'utente non è un amministratore o altri criteri possono essere aggiunti tramite AD. Significa configurare l'AD e il server IIS per controllarlo. Aggiunge un po 'di complessità alla configurazione dell'utente, poiché ora l'amministratore ha bisogno di un certificato E di una configurazione nel server Active Directory.
-
Configura staticamente sul server - tieni un elenco di certificati di amministratore attendibili sul server e controlla questo elenco - questo è il modo AD-free elencato nel modulo link @ M'vy - che funziona bene per un piccolo operazione senza server AD, ma diventa problematico se devi gestire molti server, poiché ogni server ha bisogno di un aggiornamento ogni volta che un amministratore si unisce o se ne va.
Ognuna o tutte queste opzioni funzioneranno - è solo una questione di quanto frequentemente si cambia amministratore, quanti server si devono gestire e cosa si vuole che il processo sia. Pensare a tutto ciò ti farà risparmiare molto dolore a lungo termine.
Ecco alcune parole chiave per la ricerca di questa roba:
- per forzare l'accesso basato su SSL dell'utente con un certificato digitale - "Autenticazione client SSL", "Autent client", "Autenticazione / autenticazione client TLS",
- per ulteriori informazioni sulla configurazione - "cert (ificate) store", "trusted certs",
- per il controllo dello stato del certificato - "CRL check", "OCSP check", "cert status check", "cert verification / validation"
- per la configurazione dei privilegi "controllo dell'accesso basato sui ruoli", "gestione dei privilegi",
E accoppialo con il software che stai cercando di configurare.