Rischio per la sicurezza di Microsoft AD Certificate Services?

1

Abbiamo un server CA interno per il nostro dominio situato all'indirizzo link . Questo server funziona Servizi certificati Microsoft Active Directory.

Quando sono andato al sito, sono stato in grado di utilizzare un CSR che ho creato su un computer Linux per richiedere un certificato avanzato rilasciato al nome DNS del nostro server proxy web. Ho usato il seguente comando per creare il CSR:

openssl req -new -newkey rsa:2048 -keyout key.key -out csr.csr

Penso che questo sia un rischio per la sicurezza perché le mie credenziali dell'account non amministratore sono state trasferite tramite NTLMv2 al sito dei Servizi certificati della CA interna quando ho effettuato l'accesso ... e sono stato in grado di creare un certificato come se fossi il server proxy (IssuedTo: proxy-server.local.domain) anche se non lo sono.

Dal momento che tutte le workstation sul nostro dominio hanno il certificato del server MS AD CS nel loro negozio di certificati attendibili, il certificato che ho creato potrebbe essere utilizzato in un attacco MITM fingendo che il mio PC fosse effettivamente il server proxy. Questo dovrebbe essere usato in combinazione con uno spoofing DNS o altro tipo di attacco per convincere i clienti a credere che il mio computer fosse il server proxy, ma è ancora possibile che il certificato possa essere utilizzato in modo errato per il traffico reindirizzato di SSL da decifrare da un MITM macchina.

Suona bene, o non ci sono rischi reali per la sicurezza qui?

    
posta JJBladester 13.06.2014 - 18:28
fonte

2 risposte

3

Servizi certificati è una CA configurabile che funziona sul concetto di certificato modelli . Un modello descrive un tipo di certificato che la CA può emettere, a quali condizioni e con quali contenuti. Se potresti ottenere un certificato da CS, significa che hai richiesto il certificato per un modello per il quale ti è stato permesso di richiedere un certificato.

Ciò che conta, però, è ciò che è nel certificato risultante. Ti invito a dare un'occhiata ai contenuti del certificato (con openssl x509 -text ). Puoi aggiungere un sacco di cose nella richiesta del certificato, ma, in definitiva, il modello detta ciò che appare nel certificato stesso. Probabilmente, il nome della macchina che hai richiesto ( proxy-server.local.domain ) in realtà non appare nel certificato, o non dove un client SSL lo cercherebbe. Un client SSL richiede che il nome del server (dall'URL) venga visualizzato nell'estensione Subject Alt Name come dNSName ; in mancanza di un'estensione SAN, il client utilizzerà la parte CN del DN oggetto (questo è descritto in RFC 2818 ).

Se si potesse effettivamente ottenere un certificato che, dal punto di vista di un client SSL, sarebbe un certificato server SSL valido per un server di cui si sceglie il nome, allora sì, si può dire che esiste una sicurezza problema che dovrebbe essere risolto. Il sysadmin dovrebbe rivedere i modelli attivati sulla CA e i relativi diritti di accesso.

Il principale rischio per la sicurezza di una CA (qualsiasi CA) è la mancanza di un'adeguata amministrazione di sistema.

    
risposta data 13.06.2014 - 18:40
fonte
0

Come Tom ha citato, Windows Certificate Services si basa su modelli di certificati per determinare i tipi di certificati che può emettere. Questi modelli di certificato sono in realtà oggetti AD e dispongono di autorizzazioni che è possibile modificare per consentire o negare ai gruppi AD di richiederli. Quindi sembra che gli amministratori della tua azienda potrebbero aver bisogno di stringere i permessi se non si desiderano casi di iscrizione come i tuoi.

Inoltre, gli amministratori possono limitare l'accesso all'interfaccia Web di CA, limitando la normale registrazione degli utenti solo alla funzione di procedura guidata Richiesta certificato (registrazione certificata). Non sono positivo, ma credo che i CSR possano essere inviati solo attraverso l'interfaccia web. Pertanto, la rimozione di questa funzionalità può limitare ulteriormente la possibilità di richiedere certificati falsi.

Dovresti anche essere in grado di richiedere l'approvazione del gestore dei certificati per qualsiasi CSR presentato, dando agli amministratori il tempo di verificare che contengano dati legittimi prima di approvarli. I ruoli di Gestore certificati devono essere limitati al personale autorizzato che abbia familiarità con i rischi.

Quando i certificati SSL vengono richiesti tramite la funzione Richiesta certificato (e non l'interfaccia Web), possono essere strongmente autenticati da AD che sono il server che dicono di essere, almeno per quanto riguarda il DNS di Windows. È possibile attivare i Nomi alternativi oggetto all'interno delle richieste di certificato e ciò è rischioso poiché consentirebbe agli utenti autorizzati di falsificare potenzialmente i nomi dei server. Tu o i tuoi amministratori puoi leggere di più in questo articolo Microsoft .

Ho visto molte organizzazioni non prendere abbastanza seriamente i Servizi certificati. Questo è sfortunato perché, come dici tu, qualsiasi cert di problemi sarà considerato affidabile da qualsiasi client AD. È importante che gli amministratori siano informati sulle funzionalità e sui rischi in modo da poter bloccare in modo appropriato le funzionalità del certificato.

    
risposta data 13.06.2014 - 19:52
fonte

Leggi altre domande sui tag