Pinning e sottodomini a chiave pubblica

1

In breve, ho intenzione di installare un nuovo server web e mi piacerebbe proteggere gli utenti un po 'di più. Ho già dominio, (virtuale) server e tutto il resto che conta quando si configura un server. In pratica, questo verrà utilizzato come server Web per l'archiviazione personale dei membri della famiglia, in modo che possiamo condividere documenti tra loro indipendentemente dalla nostra posizione corrente. Perché non hanno molta familiarità con la tecnologia e roba del genere, mi piacerebbe proteggere la connessione un po 'di più. Accanto all'applicazione web per lo storage di file creerò un sito Web facile e in futuro penso che il webserver ospiterà anche il blog. Ho deciso di strutturare il sito in questo modo:

  • storage.domain.tld - per la nostra memoria personale
  • domain.tld - ci sarà un sito web semplice (file HTML con file CSS e JS lungo)
  • domain.tld/blog - dopo un po 'di tempo penso che questo indirizzo sarà usato per il blog

Userò StartSSL per firmare il mio certificato che verrà installato sul server web. Poiché HPKP richiede un certificato di backup, creerò anche un certificato aggiuntivo in caso di eventuali errori in futuro. Penso che dopo qualche lettura capisco correttamente come configurare HPKP, ma non sono ancora sicuro di come gestire il sottodominio e quale potrebbe essere un problema se l'header HPKP è configurato in modo errato.

Quindi prima sui sottodomini ... La maggior parte dei membri della famiglia useranno solo storage.domain.tld . StartSSL consente la firma del certificato per il dominio principale e un sottodominio. I browser riconosceranno l'intestazione HPKP sul sottodominio se lo imposto solo su domain.tld e aggiungo includeSubdomains in esso? Che cosa fare se i browser riconoscono l'intestazione HPKP solo nel dominio effettivamente visitato? Mi piacerebbe anche vedere alcuni suggerimenti su questo argomento, perché sono fuori di idee su cosa fare qui.

E la seconda cosa su HPKP male configurato. Quando imposterò tutto, penso di impostare l'età massima dell'header HPKP a circa 60 (un minuto dovrebbe essere sufficiente per verificare se HPKP funziona correttamente). Dopo il successo, penso di estendere fino a metà anno. Se capisco correttamente il browser controlla solo se la chiave pubblica nell'intestazione HPKP è uguale a quella del server web. Se c'è una corrispondenza, tutto dovrebbe andare bene. Quindi non c'è connessione con nessun altro servizio per verificare le corrette impostazioni di HPKP? Se utilizzo il browser in modalità privata e visito il mio sito con HPKP configurato in modo errato, questo problema scompare se rimuovo l'intestazione HPKP e visito nuovamente il sito in modalità non privata?

Apprezzerò tutti i suggerimenti e i commenti alle mie domande. Grazie in anticipo!

    
posta user1257255 01.09.2015 - 22:04
fonte

2 risposte

3

Will browsers recognize HPKP header on subdomain if I set it only on domain.tld and add includeSubdomains in it?

Se l'utente non visita mai domain.tld e l'intestazione HPKP viene inviata solo su richieste a questo dominio, il browser non vedrà mai l'intestazione HPKP. Ma solo dopo che il browser ha visto l'intestazione ha alcun effetto. Una volta che il browser ha visto l'intestazione, avrà effetto anche sul sottodominio poiché lo hai specificato, ma l'intestazione non viaggerà magicamente sul browser quando eseguirà richieste solo per il sottodominio. Pertanto dovresti aggiungere l'intestazione a tutti i domini interessati per assicurarti che il browser ottenga e ottenga anche gli aggiornamenti.

So there is no connection to any other service for checking correct settings of HPKP?

Una corretta. HPKP utilizza solo la comunicazione tra il browser e il server che invia l'intestazione HPKP, ovvero il proprio server. Tutto è esclusivamente sotto il tuo controllo. E se lo incasini solo tu puoi sistemarlo.

If I use browser in private mode and I visit my site with misconfigured HPKP, will this problem disappear if I remove HPKP header and visit site again in non-private mode?

Non ho alcuna fonte per questo, ma ne dubito. HPKP sarà completamente condiviso con la modalità privata e quindi i problemi persistono o non verrà eseguita alcuna condivisione, nel qual caso il problema non si verifica in modalità privata, ma si verifica ancora in modalità non privata. Non penso che la condivisione verrà eseguita solo in una direzione e soprattutto non dalla modalità privata alla modalità non privata.

    
risposta data 01.09.2015 - 22:26
fonte
1

In risposta alla risposta di Steffan riportata sopra ma postando una risposta separata a causa della lunghezza

È facile rimuovere HPKP dalla tua copia di Chrome utilizzando la pagina chrome: // net-internals / # hsts. Non tanto gli altri browser.

È impossibile rimuoverlo da Chrome di chiunque altro a meno che tu non possa visitare la persona in contatto (che potrebbe essere possibile nel tuo caso d'uso, ma in genere il kit).

IncludeSubDomain è più sicuro, anche se non hai sottodomini, quindi non essere d'accordo è inutile. Ad esempio, qualcuno potrebbe configurare fake.domain.tld se avesse accesso al DNS utilizzato dal tuo sito e ti abbia anche convinto a visitare quel sito, quindi avrebbe avuto accesso ai cookie per domain.tld. Improbabile sì, ma lo è anche il caso d'uso per cui HPKP ti protegge (qualcuno riesce a creare un certificato riconosciuto per il tuo dominio e ti invita a visitare).

Personalmente non penso che l'HPKP debba essere preso in considerazione per l'uso tradizionale, per essere onesti, visto che ci sono troppi aspetti negativi e non penso che questi aspetti negativi vengano richiamati abbastanza. Bloggato su di esso qui, se interessato a questo come andare fuori tema per la domanda originale .

    
risposta data 11.09.2015 - 21:01
fonte

Leggi altre domande sui tag