Come aggiungere il blocco dei certificati per un determinato dominio al mio browser web?

7

C'è HPKP (HTTP Public Key Pinning) che i server usano per comunicare al browser Web del cliente quali certificati considerare attendibili (in futuro) per il dominio che viene contattato.
Google Chrome e Mozilla's FireFox portano i loro elenchi di siti Web che sono bloccati su determinati certificati. (Google chiama una voce in questo elenco "a pinset".)

Come posso aggiungere il blocco dei certificati per altri domini al mio browser web (ad esempio FireFox)?

C'è una ragione per cui non esiste un'opzione per "Pin this certificate to this URI" quando si visualizzano i dettagli di un certificato in un browser web? Metterebbe in pericolo il concetto di CA o semplicemente non è implementato?

    
posta nks 24.03.2015 - 17:04
fonte

3 risposte

3

Puoi farlo in Google Chrome con chrome: // net-internals / # hsts:

In questa schermata puoi consultare lo stato di blocco di un sito web (HSTS, HPKP e precaricato) ma puoi anche aggiungere il blocco del certificato per qualsiasi dominio :

Nella sezione Aggiungi dominio puoi specificare per qualsiasi dominio:

  • Se vuoi forzare HSTS
  • Se desideri aggiungere un certificato : devi specificare l'elenco delle impronte digitali delle chiavi pubbliche

Is there a reason why there is no option to "Pin this certificate to this URI" when viewing the details of a certificate in a web browser? Would it undermine the concept of CAs, or is it just not implemented?

Sì, c'è una ragione per rendere difficile agli utenti il pin di un certificato: se il webmaster deve aggiornare il suo certificato, allora non ha modo di avvisare gli utenti. Il browser ti dirà che la chiave non è valida ma non avrai modo di decidere se è legittima o meno.

Perfarlo,esportareilcertificato,quindieseguire:

opensslx509-incertificate.crt-pubkey-noout|opensslrsa-pubin-outformder|openssldgst-sha256-binary|opensslenc-base64

(sostituisci"certificate.crt" con il nome del file che hai precedentemente salvato)

Riceverai qualcosa come: YpcIku2YvZ9Q6rgTn8juPpBlEdzH7YFm9ZOLPImwwJk =

Quindi riempie il campo "Impronte digitali chiave" con sha256 / YpcIku2YvZ9Q6rgTn8juPpBlEdzH7YFm9ZOLPImwwJk =

(notare sha256 / aggiunto all'inizio)

Ma se vuoi farlo per più di un sito web, ti consiglio caldamente di usare un addon come Certificate Patrol per Firefox ( link ) suggerito da @WhiteWinterWolf.

    
risposta data 28.06.2015 - 14:14
fonte
3

HPKP non risponde a questa esigenza.

HPKP è un'estensione del protocollo HTTP che consente agli amministratori di siti web di fornire informazioni specifiche sul browser, consentendo:

  • Per verificare che almeno uno dei certificati che compongono la catena di autenticazione della connessione HTTPS corrente (a seconda dell'architettura dell'architettura della piattaforma, l'amministratore del server può scegliere di non aggiungere il certificato finale ma un intermediario o quello principale),
  • Presenta un pin alternativo corrispondente al certificato di backup nel caso in cui il principale venga perso / trapelato / ecc., in modo che i client mantengano la possibilità di accedere al sito Web dopo che il certificato è stato modificato,
  • Informa il browser se il pining del certificato dovrebbe essere abilitato anche per i sottodomini o meno,
  • Indica al browser per quanto tempo il pin è applicabile in conformità con la pianificazione potenziale della migrazione delle chiavi.

Se un HPKP viene impostato in modo improprio, il browser rifiuterà qualsiasi accesso al sito Web senza alcun ricorso diretto per l'utente. Tutti i dettagli di cui sopra sono principalmente conosciuti e controllati dall'amministratore del server e non dall'utente finale, quindi l'utente finale non ha modo di configurare correttamente un pin HPKP nel suo browser.

Quello che si potrebbe cercare, invece, è che il browser memorizzi alcune informazioni relative ai certificati presentati dai siti Web non HPKP e sia in grado di avvisare l'utente al momento della modifica del certificato, quindi all'utente di controllare il nuovo certificato e concordare per continuare se tutto sembra in ordine. Tale funzione esiste già, almeno su Firefox, ma è gestita da addon come Patrol certificato .

    
risposta data 27.03.2015 - 16:18
fonte
1

How can I add certificate pinning for other domains to my web browser (e.g. FireFox)?

Non penso che abbia una GUI in Firefox. Per Chrome vedi la risposta di Tom.

Is there a reason why there is no option to "Pin this certificate to this URI" when viewing the details of a certificate in a web browser?

Sì. È un inferno di supporto quando è il momento di un rollover della chiave.

Would it undermine the concept of CAs, or is it just not implemented?

Entrambi. Ed è intenzionale. Vedi sopra.

    
risposta data 28.06.2015 - 18:32
fonte

Leggi altre domande sui tag