Query Service opzioni SSL
Per una maggiore sicurezza, Adobe Experience Platform Query Service fornisce il supporto nativo per le connessioni SSL per crittografare le comunicazioni client/server. Questo documento descrive le opzioni SSL disponibili per le connessioni client di terze parti a Query Service e le modalità di connessione utilizzando il valore del parametro SSL verify-full
.
Prerequisiti
In questo documento si presuppone che tu abbia già scaricato un’applicazione client desktop di terze parti da utilizzare con i dati di Platform. Le istruzioni specifiche su come incorporare la sicurezza SSL durante la connessione con un client di terze parti si trovano nella rispettiva documentazione della guida alla connessione. Per un elenco di tutti i Query Service client supportati, vedere la panoramica delle connessioni client.
Opzioni SSL disponibili available-ssl-options
Platform supporta varie opzioni SSL per soddisfare le tue esigenze di sicurezza dei dati e bilanciare il sovraccarico di elaborazione della crittografia e dello scambio di chiavi.
I diversi valori dei parametri sslmode
forniscono diversi livelli di protezione. Crittografando i dati in movimento con certificati SSL, aiuta a prevenire attacchi "man-in-the-middle" (MITM), intercettazioni e impersonazioni. La tabella seguente fornisce una suddivisione delle diverse modalità SSL disponibili e del livello di protezione che forniscono.
disable
non è supportato da Adobe Experience Platform a causa della conformità richiesta per la protezione dei dati.allow
prefer
require
verify-ca
verify-full
verify-ca
e verify-full
dipende dai criteri dell'Autorità di certificazione (CA) radice. Se hai creato una tua CA locale per rilasciare certificati privati per le tue applicazioni, l'utilizzo di verify-ca
spesso fornisce una protezione sufficiente. Se si utilizza una CA pubblica, verify-ca
consente connessioni a un server che qualcun altro potrebbe aver registrato con la CA. verify-full
deve sempre essere utilizzato con una CA radice pubblica.Quando si stabilisce una connessione di terze parti a un database di Platform, si consiglia di utilizzare almeno sslmode=require
per garantire una connessione sicura per i dati in movimento. La modalità SSL verify-full
è consigliata per l'utilizzo nella maggior parte degli ambienti sensibili alla sicurezza.
Imposta un certificato radice per la verifica del server root-certificate
Anche se si tratta di un requisito annuale, in questa occasione anche il certificato radice nella catena è cambiato in seguito all’aggiornamento della gerarchia dei certificati da parte del provider di certificati TLS/SSL di Adobe. Questo problema può interessare alcuni client Postgres se nell’elenco delle autorità di certificazione manca il certificato radice. Ad esempio, per un client CLI PSQL potrebbe essere necessario aggiungere i certificati radice a un file esplicito
~/postgresql/root.crt
. In caso contrario, potrebbe verificarsi un errore. Ad esempio, psql: error: SSL error: certificate verify failed
. Per ulteriori informazioni su questo problema, consulta la documentazione ufficiale di PostgreSQL.Il certificato radice da aggiungere può essere scaricato da https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem.
Per garantire una connessione sicura, l’utilizzo SSL deve essere configurato sia sul client che sul server prima che venga stabilita la connessione. Se SSL è configurato solo sul server, il client potrebbe inviare informazioni riservate come le password prima che venga stabilito che il server richiede un livello di protezione elevato.
Per impostazione predefinita, PostgreSQL non esegue alcuna verifica del certificato del server. Per verificare l'identità del server e garantire una connessione sicura prima dell'invio di dati sensibili (in modalità SSL verify-full
), è necessario inserire un certificato radice (autofirmato) nel computer locale (root.crt
) e un certificato foglia firmato dal certificato radice nel server.
Se il parametro sslmode
è impostato su verify-full
, libpq verificherà che il server sia affidabile controllando la catena di certificati fino al certificato radice archiviato nel client. Verifica quindi che il nome host corrisponda al nome memorizzato nel certificato del server.
Per consentire la verifica dei certificati del server, è necessario inserire uno o più certificati radice (root.crt
) nel file PostgreSQL nella home directory. Il percorso del file è simile a ~/.postgresql/root.crt
.
Abilita la modalità SSL di verifica completa per l'utilizzo con una connessione di terze parti Query Service instructions
Se hai bisogno di un controllo di sicurezza più severo di sslmode=require
, puoi seguire i passaggi evidenziati per connettere un client di terze parti a Query Service utilizzando la modalità SSL verify-full
.
-
Cerca "DigiCert Global Root G2" dall'elenco dei certificati disponibili.
-
Seleziona Scarica PEM per scaricare il file nel computer locale.
-
Rinominare il file del certificato di protezione in
root.crt
. -
Copiare il file nella cartella PostgreSQL. Il percorso del file necessario varia a seconda del sistema operativo in uso. Se la cartella non esiste già, creala.
- Se si utilizza macOS, il percorso è
/Users/<username>/.postgresql
- Se si utilizza Windows, il percorso è
%appdata%\postgresql
- Se si utilizza macOS, il percorso è
%appdata%
in un sistema operativo Windows, premere ⊞ Win + R e immettere %appdata%
nel campo di ricerca.Quando il file CRT DigiCert Global Root G2 è disponibile nella cartella PostgreSQL, è possibile connettersi a Query Service utilizzando l'opzione sslmode=verify-full
o sslmode=verify-ca
.
Passaggi successivi
La lettura di questo documento consente di comprendere meglio le opzioni SSL disponibili per la connessione di un client di terze parti a Query Service e come abilitare l'opzione SSL verify-full
per crittografare i dati in movimento.
Se non lo hai già fatto, segui le istruzioni su collegare un client di terze parti a Query Service.