Ho installato un server master su AWS e il server slave installato su GoDaddy. Quanti certificati SSL devo acquistare? Posso utilizzare un singolo certificato per entrambi?
Se il master e lo slave utilizzano lo stesso hostname o se si dispone di un certificato con caratteri jolly e utilizzano entrambi i sottodomini dello stesso dominio, non vi è alcun motivo tecnico per cui non sia possibile utilizzare lo stesso certificato SSL per entrambi. Ma alcuni emittenti di certificati SSL li autorizzano per server, e potresti essere in violazione delle condizioni di licenza.
Un certificato è utilizzabile da un server SSL se il nome server appare da qualche parte nel certificato (come dNSName
all'interno di un'estensione Nome alt soggetto, possibilmente con caratteri jolly, come descritto in RFC 2818 ). Il "nome del server" è ciò che appare nell'URL utilizzato dai client. Se il nome nell'URL non appare nel certificato, il browser client si lamenterà (a voce alta).
La condivisione massiccia dei certificati è una cosa. Ad esempio, il certificato SSL di Google contiene tutti i seguenti nomi:
*.google.com
*.android.com
*.appengine.google.com
*.cloud.google.com
*.google-analytics.com
*.google.ca
*.google.cl
*.google.co.in
*.google.co.jp
*.google.co.uk
*.google.com.ar
*.google.com.au
*.google.com.br
*.google.com.co
*.google.com.mx
*.google.com.tr
*.google.com.vn
*.google.de
*.google.es
*.google.fr
*.google.hu
*.google.it
*.google.nl
*.google.pl
*.google.pt
*.googleapis.cn
*.googlecommerce.com
*.googlevideo.com
*.gstatic.com
*.gvt1.com
*.urchin.com
*.url.google.com
*.youtube-nocookie.com
*.youtube.com
*.youtubeeducation.com
*.ytimg.com
android.com
g.co
goo.gl
google-analytics.com
google.com
googlecommerce.com
urchin.com
youtu.be
youtube.com
youtubeeducation.com
Questo suggerisce un'estesa condivisione dello stesso certificato, e questo è Google, Overlord di Internet, non meno.
La parte critica non è il certificato di per sé, ma la chiave privata . Il certificato, correttamente detto, contiene la chiave pubblica; la potenza del server risiede nella chiave privata corrispondente. Se due server "condividono" un certificato, significa che entrambi i server hanno accesso alla chiave privata.
Il metodo di gestione consigliato per le chiavi private è di mantenerle locali: il server stesso deve generare la coppia di chiavi (le chiavi private e pubbliche), quindi inviare la chiave pubblica alla CA ( come parte di una "richiesta di certificato") in modo che la CA possa creare (e firmare) il certificato. La chiave privata, quindi, non lascia mai le interiora del server, e questo è buono, perché la chiave privata deve essere mantenuta privata .
Quando due server contengono la chiave privata, allora quella chiave deve aver viaggiato ad un certo punto. In linea generale, questo tipo di viaggio chiave è sensibile e pericoloso e deve essere fatto solo con grande cura. Copiare la chiave tramite SSH (ad esempio un comando scp
) dovrebbe essere sicuro. In alternativa, la chiave privata può essere imballata con il certificato in un archivio PKCS # 12 (noto anche come "file PFX") con crittografia basata su password: questo fornirà una protezione decente per la chiave mentre transita tra i due server SE la password ha abbastanza entropia (quindi utilizzare una password grande, grossa e molto casuale).
Resta, tuttavia, che avrai due copie della chiave privata. Avere chiavi private specifiche per il server potrebbe rendere (leggermente) migliore il contenimento dei danni in caso di dirottamento di server ostili.
Questa è una pratica abbastanza comune. In effetti, la maggior parte dei siti Web di grandi dimensioni utilizza il bilanciamento del carico, che distribuisce il carico del sito su più server. Ci sono due modi in cui questo può essere fatto. Il primo è la condivisione della chiave privata per ogni server che ospiterà il sito, il secondo è di utilizzare un proxy SSL che detiene la chiave privata sul bordo di una rete privata di server che eseguono il sito (o possibilmente utilizzando una comunicazione crittografata alternativa ). Entrambi hanno i loro punti di forza e di debolezza.
La cosa fondamentale è che il certificato può essere utilizzato solo per i siti per i quali si identifica come valido. Il punto di un certificato è quello di verificare che un determinato server sia effettivamente il sito Web con il quale si sta tentando di connettersi. Ciò viene eseguito da un'autorità di certificazione (CA) che verifica i dettagli sul proprietario di una chiave privata e quindi emette il certificato che dice in sostanza "questi dettagli sono validi per il titolare della chiave privata". Questi dettagli sono le informazioni sull'operatore e il nome del sito o dei siti che operano sotto quella chiave privata.
Come altri hanno menzionato, è anche importante rendersi conto che alcune CA impongono limitazioni sull'uso dei certificati che forniscono oltre i limiti tecnici, quindi è importante verificare che l'utilizzo previsto sia consentito dalla CA o che si possa finire con il tuo certificato revocato.
Per quanto ne so, quando vogliamo acquistare il certificato SSL, dobbiamo verificare che siamo il legittimo proprietario del dominio. Questo viene fatto inviando e-mail al fornitore SSL utilizzando un indirizzo e-mail da quello stesso dominio.
Puoi avere certificato SSL * .example e usarlo come:
abc.example.com
def.example.com
*.example.com
Ma questo è più costoso rispetto all'acquisto di uno direttamente per abc.example.com
Anche se non c'è nulla che tecnicamente ti impedisca di installare un singolo certificato su più host, ci sono implicazioni per le licenze.
Ti consiglio di leggere la stampa fine della tua CA per assicurarti di essere legale.
Il client tipico non noterà una differenza tra il caso in cui i server utilizzano certificati identici e il caso in cui i server utilizzano due certificati diversi per lo stesso dominio.
Tuttavia, alcuni client più pedanti in merito alla sicurezza genereranno un avviso di sicurezza, se vedono due diversi certificati utilizzati per lo stesso nome di dominio.
Tali avvisi possono essere prodotti dal singolo client che memorizza il certificato nella cache per la convalida delle connessioni successive o condividendo i certificati in una rete p2p.
Leggi altre domande sui tag tls