Problemi con certificati SSL intermedi e proxy SSL

1

Attualmente sto implementando un proxy SSL e ho incontrato alcuni problemi relativi ai certificati.

Abbiamo una "CA radice aziendale" non in linea e una "CA intermediario aziendale" online. Sul proxy ho generato una "CA intermedia proxy", che è stata nuovamente firmata dalla nostra "CA intermedia della società".

Tutti i browser si fidano sia della nostra CA radice che della nostra CA di emissione.

Quando vado a un sito SSL tramite il proxy, ricevo un avviso di certificato. Quando studio la catena di certificati nel browser, vedo:

  • Certificato intermedio proxy
    • "falso" certificato del sito

Se importare la CA intermedia proxy nel mio archivio certificati, tutto funziona correttamente. La catena di certificati appare così quando si accede al sito:

  • CA radice aziendale
    • CA intermedio aziendale
      • CA proxy intermedio
        • "falso" certificato del sito

Perché i browser non si fidano dei certificati emessi dalla CA intermedia proxy?

    
posta sk0yern 15.10.2013 - 18:45
fonte

1 risposta

2

Il browser può utilizzare solo il certificato di cui è a conoscenza. Nel caso dei certificati server SSL, ci sono tre metodi con cui il browser otterrà i certificati necessari per costruire una catena da una radice che il browser si fida, fino al certificato per convalidare (nel tuo caso, il "falso"):

  • Il browser potrebbe avere una copia locale dei certificati (in un negozio chiamato "CA intermedio" o qualcosa del genere).
  • Il browser può seguire l'URL trovato nei certificati stessi. Un certificato può avere un'estensione Authority Information Access , che può puntare (con un URL) a posto dove può essere trovato il certificato per l'emittente del certificato che contiene l'estensione.
  • Si suppone che un server SSL invii il suo certificato come parte di una catena completamente sviluppata.

Il download automatico funziona solo finché l'URL è presente nei certificati e i server corrispondenti sono raggiungibili; inoltre, per prevenire problemi di pollo e uova, detto URL deve essere HTTP, non HTTPS. Tuttavia, non tutti i browser eseguiranno questo download. Dipende dal browser e anche dal sistema operativo e dalla loro configurazione. Alcuni browser si rifiuteranno di utilizzare nient'altro che la catena esatta inviata dal server.

Quindi la mia ipotesi è che il tuo proxy, che funge da server SSL, non invii una catena completa. Invia il certificato "falso" e la "CA intermedia proxy", ma non la "CA intermediario aziendale". Pertanto, il browser non ha questo ultimo certificato e non può costruire una catena completa.

Per verificare ciò, utilizza OpenSSL (lo strumento da riga di comando):

openssl s_client -connect www.aservername.com:443

Questo stamperà (tra le altre informazioni) l'oggetto e i nomi degli emittenti per tutti i certificati nella catena inviati dal server.

In alternativa, esegui alcuni strumenti di monitoraggio della rete (ad es. Wireshark ) per vedere il messaggio Certificate SSL dal server, che contiene il catena di certificati dal server.

    
risposta data 15.10.2013 - 19:58
fonte

Leggi altre domande sui tag