Qual è la migliore pratica quando la rete aziendale sovrascrive i certificati SSL?

5

La società in cui lavoro ha iniziato a sovrascrivere i certificati SSL con i propri certificati self-service in modo da poter monitorare il traffico su Internet più da vicino. Hanno anche installato la CA corrispondente nell'archivio certificati. Quando ciò si è verificato, varie applicazioni hanno smesso di funzionare poiché il certificato che è stato rinviato dalla rete non è una CA affidabile per quel programma.

Perché alcuni programmi (come Chrome e IE) funzionano e alcuni (Firefox, NPM, GIT) no?

È questo il modo giusto per fare tutto questo?

Mi chiedo se dire a ogni programma di utilizzare questa CA è il modo di gestire questo problema. Sembra molto fastidioso dover lasciare che ogni programma sappia che una CA è ok.

La domanda principale è:

Dato che una società sta sovrascrivendo i certificati SSL, qual è il modo migliore per far funzionare nuovamente le cose quando non fanno affidamento sull'archivio certificati del livello OS?

  • Sarebbe come dire all'IT di non sovrascrivere i certificati SSL su questi servizi / siti?
  • Sarebbe usare un proxy?
  • Sarebbe quello di fare quello che sto facendo e dire ad ogni programma di consentire il certificato SSL sottoposto a override?

Quindi questo è quello che ho fatto per far funzionare vari programmi:

To get the Certificate so that you can import to other programs:    
 1. Open Certificates by running ”certmgr.msc” in cmd
 2. Go to “Trusted Root Certification Authorities” > “Certificates”
 3. Right click internet > Export
 4. Select “Base-64 encoded X.509 (.CER)”
 5. Save to c:/temp/internet.cer

To get Firefox working:    
 1. In the address bar, enter “about:preferences#privacy”
 2. “View Certificates” > “Authorities” > “Import”
 3. Select “c:/temp/internet.cer”
 4. Select the trust type of “Trust this CA to identify websites”, then click “Ok”

To get GIT working:    
 1. Open Cmd as admin
 2. git config --global http.sslCAInfo “c:/temp/internet.cer”
Do not run git config http.sslVerify "false"

To get NPM working:    
 1. Open Cmd as admin
 2. npm config set cafile “c:/temp/internet.cer”
Do not run npm config set strict-ssl false

To get Bower working:    
 1. Open Cmd as admin 
 2. cd %UserProfile%
 3. echo {"ca": "C:\temp\internet.cer","strict-ssl":false} > .bowerrc
    
posta Denis W 16.01.2018 - 22:29
fonte

4 risposte

6

Quindi, lavori in una società che sembra avere un reparto di sicurezza / sicurezza aziendale abbastanza significativo da aver inserito la scansione di sicurezza MiTM.

Supponendo che le "migliori pratiche" su come far funzionare le tue applicazioni includano il mantenimento del tuo lavoro, dovresti iniziare a contattare il tuo network / dipartimento di sicurezza attraverso i normali canali e chiedere se hanno già elaborato una risposta aziendale alla tua domanda! !!

Ovviamente puoi fornire i rimedi a cui sei abituato, presumo, utilizzare gli strumenti che il tuo supervisore / manager ha approvato per l'utilizzo da parte tua per svolgere le tue mansioni lavorative.

In generale, tuttavia, stai utilizzando strumenti creati da organizzazioni diverse, molti dei quali non si fidano l'un l'altro (in particolare gli strumenti open source e Microsoft), e molti di questi utilizzano toolchain completamente diversi (in particolare l'open source strumenti e Microsoft). Perché ti aspetteresti che tutto ciò che scrivono utilizzi One True Certificate Store?

Le migliori pratiche saranno una delle tre cose:

  • I dipartimenti IT aziendali responsabili hanno già risolto il problema con gli strumenti approvati e i tuoi sono inclusi nell'elenco. Si prenderanno cura di te.
    • alla fine.
    • Con la documentazione corretta.
  • I dipartimenti IT aziendali responsabili hanno vietato / non approvato (e non consentito) almeno uno dei tuoi strumenti.
    • Rimuovi immediatamente
    • trova un sostituto approvato
    • O ottieni qualche software approvato
    • Oppure trova un altro lavoro
  • I dipartimenti IT aziendali responsabili non vietano i tuoi strumenti, ma non li supportano neanche
    • I rimedi sono il tuo problema per ciascuno.
    • Se hai compagni di squadra che li usano, impacchetta un file batch o eseguibile che rende il maggior numero possibile di aggiornamenti di configurazione in modo coerente e automatico.
    • Oppure vedi se i dipartimenti IT aziendali responsabili sarebbero interessati ad assisterti in questo, dal momento che è nel loro interesse avere configurazioni simili per i gruppi, non un insieme di configurazioni individuali.
risposta data 17.01.2018 - 08:16
fonte
10

I sistemi operativi hanno archivi certificati root per tentare di centralizzare questo. Il problema è che diverse applicazioni scelgono di non fidarsi di esso.

Firefox sceglie per impostazione predefinita di non fidarsi del negozio. Puoi farlo impostando security.enterprise_roots.enabled su true. Ci sono modi per distribuirlo a tutti gli utenti contemporaneamente, anche tramite i criteri di gruppo, per distribuire i necessari file di configurazione bloccati.

Git, bower e npm soffrono di problemi simili, tranne che nessuno, a mia conoscenza, ha metodi per fargli credere nel rootstore. È necessario modificare o sostituire gli archivi certificati attendibili per ciascuna applicazione, ciò dovrebbe essere possibile tramite normali strumenti di gestione del dominio.

    
risposta data 16.01.2018 - 22:45
fonte
1

Risposta onesta - parla con il tuo team che gestisce l'ispezione SSL e richiedi le esenzioni fatte per tutti gli strumenti / siti di sviluppo che hai menzionato. Esegui il backup con un business case che, se non viene concessa un'esenzione, la produttività diminuirà e il profilo di rischio aumenterà, poiché costringeranno gli utenti a cercare modi per ignorare SSL. Se dicono di no, il tempo di registrazione è perso a causa di un problema e la catena.

Non puoi utilizzare un proxy all'interno della tua rete per passare attraverso l'ispezione SSL se è il tuo gateway (beh, ma non ne vale la pena) e non stai cercando di aggirare la sicurezza controlli e senza dubbio contro la vostra politica aziendale.

Altre cose da notare:

  • Java ha un trust store separato per il sistema operativo Windows, quindi i certificati dovranno essere aggiunti qui per le applicazioni che utilizzano TLS
  • Linux non si aggiornerà con Windows GPO se questo è usato all'interno della tua azienda quindi sarà necessario farlo manualmente
  • Come già accennato, non tutti i browser utilizzano l'archivio di certificati OS sotto menzogna
  • Le applicazioni scritte per l'utilizzo in tutti gli ambienti non sfruttano l'archivio dei certificati di Windows e utilizzano invece un metodo agnostico, che è ciò che stai trovando con git e npm
risposta data 18.01.2018 - 03:30
fonte
0

L'interruzione di SSL è probabilmente fatta su un proxy come quello di BlueCoat. Quando lo stavo gestendo, gli amministratori dovevano praticamente lavorare e sperimentare per far funzionare tutto individualmente tramite gli user-agent di whitelist, autorizzando interi domini (ad esempio Microsoft), aggirando le regole, ecc. Ci vuole un sacco di impegno, abilità e tempo a volte ottenere un'app per funzionare perfettamente su intercetta SSL. Se i tuoi amministratori della sicurezza di rete sono bravi nel loro lavoro, dovrebbero utilizzare una combinazione di configurazione proxy e cose come GPO per ridurre al minimo le interruzioni degli utenti. Personalmente lo troverei incredibilmente bizzarro se decidessero di intercettare SSL, lasciando molte cose completamente sbagliate per i dipendenti stessi.

    
risposta data 17.01.2018 - 22:08
fonte