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
- Connettere il database OCI a PostgreSQL utilizzando la cifratura SSL per proteggere le istanze di database. Sottolineerà l'importanza di configurare il tipo di connessione
hostssl
nel filepg_hba.conf
per garantire connessioni TCP/IP cifrate e dimostrerà come il parametrosslmode
controlla i livelli di verifica SSL. Inoltre, questo tutorial chiarirà la configurazione della versione TLS per le connessioni client e server.
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 | Sì | 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 | Sì | 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 | Sì | Sì | 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.
-
Impostare la modalità SSL
require
.Questa modalità forza la connessione a utilizzare SSL, ma il certificato del server non viene verificato.
psql "sslmode=require host=<endpoint_fqdn> dbname=<database_name> user=<user_name>"
-
Verificare l'autorità di certificazione con la modalità SSL
verify-ca
.Questa modalità forza SSL e il certificato del server viene verificato in base a una CA sicura. Non verifica che il certificato del server corrisponda al nome host.
psql "sslmode=verify-ca sslrootcert=<parent_directory>/<dbsystem.pub> host=<endpoint_fqdn> dbname=<database_name> user=<user_name>"
sslrootcert
: scaricare il certificato CA dalla sezione dei dettagli di connessione del sistema di database e salvarlo nella seguente posizione:<parent_directory>/<dbsystem.pub>
e questo file contiene i certificati CA sicuri. Ciò garantisce che il certificato del server sia firmato da una CA valida.
-
Verifica completo con la modalità SSL
verify-full
.Questa modalità forza SSL, verifica il certificato del server rispetto a una CA attendibile e controlla anche che il certificato del server corrisponda all'host a cui ci si connette (il nome host nella stringa di connessione).
psql "sslmode=verify-full sslrootcert=<parent_directory>/<dbsystem.pub> host=<endpoint_fqdn> dbname=<database_name> user=<user_name>"
sslrootcert
: scaricare il certificato CA dalla sezione dei dettagli di connessione del sistema di database e salvarlo nella seguente posizione:<parent_directory>/<dbsystem.pub>
e questo file contiene i certificati CA sicuri.
Corrispondenza nome host: questa è l'opzione più sicura in quanto garantisce che sia il certificato server sia firmato da una CA privata gestita tramite il servizio OCI Certificates e che il certificato corrisponda al nome host previsto.
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.
È possibile eseguire la query seguente per recuperare informazioni da pg_settings
.
È possibile raccogliere informazioni dettagliate sul database OCI con l'uso SSL dell'istanza PostgreSQL per processo, client e applicazione utilizzando la query seguente.
È 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
.
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.
-
pgAdmin
-
In pgAdmin, andare a Server, Registrati, Server e immettere i dettagli di connessione al database necessari.
-
Fare clic su Parametri, andare alla sezione SSL, in cui è possibile configurare l'impostazione della modalità SSL.
-
Verificare che
sslmode
sia impostato surequire
o su un livello superiore (ad esempioverify-ca
overify-full
) dal menu a discesa disponibile per garantire la conformità ai requisiti di connessione sicura.
-
-
DBeaver
-
In DBeaver, andare a Crea e fare clic su Connessioni.
-
Selezionare PostgreSQL dalla lista dei tipi di database e fare clic su Successivo per continuare.
-
In Impostazioni connessione, selezionare la sezione SSL all'interno delle impostazioni di connessione per configurare i parametri SSL.
-
Impostare la modalità SSL su
require
.
-
Conferme
- Autore - Kaviya Selvaraj (personale tecnico senior)
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.
Configure Secure Socket Layer in OCI Database with PostgreSQL
G39564-01
Copyright ©2025, Oracle and/or its affiliates.