Quanto è pessimo installare il certificato di root di un'altra azienda sul tuo server?

8

La nostra azienda utilizza un server web con un paio di siti Web su di esso (privato e pubblico, su HTTP e HTTPS, alcuni a basso rischio e alcuni ad alto rischio compresi i pagamenti online o altri dati sensibili, ad esempio).

Nel nostro ultimo progetto, abbiamo comunicato con un'azienda partner tramite servizi web. Volevano utilizzare i propri certificati, emessi da loro stessi, per proteggere la connessione. Quindi abbiamo dovuto installare il loro certificato di root "PrivateCompany Root CA" sul nostro server web.

Quanto è grave questo esattamente? In quali scenari la nostra sicurezza può essere manomessa?

    
posta sventevit 25.10.2014 - 12:51
fonte

4 risposte

10

So we had to install their root certificate "PrivateCompany Root CA" to our web server.

Perché? Le CA di livello globale sono utili in client generici come i browser.

Tuttavia, se si utilizzano servizi Web specifici da un client personalizzato, è possibile aggiungere tale CA in locale. Ogni client SSL decente ti consente di influenzare la convalida dei certificati. Ad esempio, specificando un elenco personalizzato di CA.

Se lo fai in questo modo, quella CA può essere utilizzata solo per intercettare quelle richieste. Poiché la CA e il dominio di destinazione sono di proprietà della stessa entità, ciò non rappresenta un grosso rischio. È più sicuro rispetto all'utilizzo delle CA standard.

Just how bad is this exactly?

Se loro (o qualcuno che è riuscito a sottrarre il loro certificato CA) si trovano in una posizione MitM relativa al server, possono intercettare qualsiasi traffico SSL in cui il client utilizza l'archiviazione CA globale. Non è limitato al loro dominio.

    
risposta data 25.10.2014 - 17:30
fonte
6

C'è piena fiducia nelle CA che hai installato. Ciò significa che non ci sono restrizioni sui certificati che una CA fidata può firmare. Quindi può anche firmare certificati falsi per siti che non possiedono (ad es. Banking.com) e li accetti.

Non so come comunichi con il partner, ma con linguaggi come Perl, Python ecc. puoi specificare un archivio di CA, che viene usato solo per questa specifica comunicazione. In questo modo puoi avere la normale comunicazione e la comunicazione con il partner utilizza diversi set di CA fidate.

    
risposta data 25.10.2014 - 13:54
fonte
2

Per quanto riguarda la sicurezza dei certificati di root di altri Autorità di certificazione (CA), non ci sono problemi se si intende implementare un certificato SSL dell'autorità di certificazione autorizzato.

Se il certificato di sicurezza proviene dall'autorità di certificazione attendibile, non causerà mai problemi di sicurezza.

    
risposta data 28.10.2014 - 10:51
fonte
1

In una certa misura ciò che l'azienda può fare è limitato a

  • I vincoli di nome (se ne sono applicati)

  • Gli usi chiave avanzati (se ne sono applicati)

Ovviamente ciò dipende dal software client che convalida correttamente ogni singolo certificato intermedio nella catena, fino alla root inclusa.

È possibile che alcuni software client non convalichino la catena e / o salti determinati controlli in modo che un certificato sia considerato valido, anche se la catena è "configurata correttamente" per limitare l'utilizzo a scopi e / o domini specifici.

Per comprendere l'entità del problema del software, consulta questa ricerca su Google che illustra molti approcci C # per disabilitare la convalida del certificato.

    
risposta data 25.10.2014 - 15:32
fonte

Leggi altre domande sui tag