Configura Secure Socket Layer in Oracle Cloud Infrastructure Database con PostgreSQL

Introduzione

Oracle Cloud Infrastructure Database con PostgreSQL (OCI Database con PostgreSQL) supporta solo la cifratura Secure Socket Layer (SSL) per le istanze di database. Utilizzando SSL, è possibile cifrare la connessione tra le applicazioni e le istanze di database PostgreSQL.

La cifratura SSL è essenziale per proteggere le connessioni client al database OCI con istanze PostgreSQL, garantendo così la protezione dei dati durante la trasmissione. Configurando il tipo di connessione hostssl e utilizzando il parametro sslmode, è possibile controllare il livello di verifica SSL per una maggiore sicurezza. Per impostazione predefinita, TLSv1.2 è abilitato sia per le connessioni client che per quelle server, in linea con le procedure standard del settore. Per un ambiente PostgreSQL completamente sicuro e conforme, l'utilizzo di queste impostazioni SSL è fondamentale.

Per le connessioni client sicure, OCI Database con PostgreSQL consente solo il tipo di connessione hostssl nel file pg_hba.conf. La voce hostssl garantisce che le connessioni TCP/IP vengano cifrate utilizzando SSL, richiedendo ai client di utilizzare SSL per l'autenticazione. È inoltre possibile specificare il livello di verifica SSL tramite il parametro sslmode, che include opzioni quali require, verify-ca e verify-full.

Al momento, entrambi i parametri ssl_max_protocol_version e ssl_min_protocol_version sono configurati nel database OCI con PostgreSQL per utilizzare TLSv1.2 sia per le connessioni client che per quelle server. Tuttavia, è importante notare che OCI Database con PostgreSQL non può applicare versioni TLS specifiche, poiché questi parametri sono variabili di sistema di sola lettura.

Per ulteriori informazioni sul supporto SSL nei database PostgreSQL, vedere Connessioni TCP/IP sicure con SSL.

Nota: il supporto SSL è disponibile in tutte le aree OCI per PostgreSQL.

Obiettivi

Modalità SSL

La tabella seguente illustra i rischi affrontati da diversi valori sslmode, nonché le implicazioni per la sicurezza e il sovraccarico associato per ciascuno di essi.

modalità sslm Protezione antigelo Protezione MITM Istruzione
disable N. N. Non mi interessa la sicurezza, e non voglio pagare il carico di lavoro della crittografia.
consentire Forse N. Non mi interessa la sicurezza, ma pagherò il carico di lavoro della crittografia se il server insiste su di esso.
preferisci Forse N. Non mi interessa la crittografia, ma voglio pagare il carico di lavoro della crittografia se il server lo supporta.
obbligatorio N. Voglio che i miei dati siano crittati e accetto il sovraccarico. Confido che la rete si assicurerà che mi connetto sempre al server che voglio.
verifica-ca Dipende dal criterio CA Voglio che i miei dati siano crittati e accetto il sovraccarico. Voglio essere sicuro di connettermi a un server di cui mi fido.
verifica completa Voglio che i miei dati siano crittati e accetto il sovraccarico. Voglio essere sicuro di connettermi a un server di cui mi fido, e che è quello che specifico.

Per maggiori informazioni sulle varie sslmodes, vedere la Tabella 31-1 SSL MODE DESCRIPTIONS.

Nel database OCI con PostgreSQL, sslmode deve essere impostato su require o su un valore superiore (verify-ca o verify-full), in quanto le connessioni non SSL non sono supportate a causa dei requisiti normativi e di conformità. La connettività SSL è obbligatoria per garantire che tutte le connessioni in transito vengano cifrate, in conformità agli standard di conformità di OCI.

I certificati utilizzati nel database OCI con nodi di database PostgreSQL vengono emessi da un'autorità di certificazione (CA) privata gestita tramite il servizio OCI Certificates, che aderisce a configurazioni approvate OCI standardizzate. Questo approccio differisce dai tradizionali certificati autofirmati, che spesso utilizzano impostazioni non standard generate con strumenti come OpenSSL.

Stabilire una connessione al database OCI con PostgreSQL utilizzando varie modalità SSL

I tentativi di connessione al database OCI con PostgreSQL senza SSL vengono rifiutati con il messaggio seguente.

no pg_hba.conf entry for host "yy.yy.yy.yy", user "xxxxx", database "zzzzzz", no encryption

Ogni volta che viene visualizzato il messaggio di errore sopra riportato, si consiglia di controllare il valore della modalità SSL e impostare il parametro sslmode su require o versione successiva per risolvere il problema.

Determinare le versioni TLS nel database OCI con PostgreSQL

L'immagine riportata di seguito mostra lo stato di cifratura della connessione quando ci si connette al database OCI con l'istanza PostgreSQL.

immagine

È possibile eseguire la query seguente per recuperare informazioni da pg_settings.

immagine

È possibile raccogliere informazioni dettagliate sul database OCI con l'uso SSL dell'istanza PostgreSQL per processo, client e applicazione utilizzando la query seguente.

immagine

È possibile utilizzare la vista di sistema pg_stat_ssl per visualizzare lo stato SSL di tutte le connessioni. Per ulteriori informazioni, vedere la Tabella 27.8. Vista pg_stat_ssl.

immagine

Configurare la modalità SSL in diversi strumenti GUI

Di seguito sono riportati alcuni strumenti GUI open source che possono essere utilizzati per connettersi ai database PostgreSQL OCI. Questo task mostra come configurare sslmode in require o versioni successive in questi strumenti per evitare problemi di connettività durante la connessione ai database PostgreSQL OCI.

Conferme

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.

Per la documentazione del prodotto, visitare Oracle Help Center.