Aggiornamento delle applicazioni per connettersi alle istanze SQL DB di Postgre utilizzando nuovi certificati/SSLTLS - Amazon Relational Database Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Aggiornamento delle applicazioni per connettersi alle istanze SQL DB di Postgre utilizzando nuovi certificati/SSLTLS

I certificati utilizzati per Secure Socket Layer o Transport Layer Security (SSL/TLS) hanno in genere una durata prestabilita. Quando i provider di servizi aggiornano i certificati dell'autorità di certificazione (CA), i client devono aggiornare le loro applicazioni per utilizzare i nuovi certificati. Di seguito, puoi trovare informazioni su come determinare se le tue applicazioni client utilizzanoSSL/TLSper connettersi alla tua istanza SQL database Amazon RDS for Postgre. Troverai inoltre informazioni su come controllare se tali applicazioni verificano il certificato del server al momento della connessione.

Nota

Un'applicazione client configurata per verificare il certificato del server prima diSSL/TLSconnection deve avere un certificato CA valido nel trust store del client. Aggiorna l'archivio trust del client quando necessario per i nuovi certificati.

Dopo aver aggiornato i certificati CA negli archivi di trust delle applicazioni client, puoi ruotare i certificati nelle istanze database. Consigliamo vivamente di testare queste procedure in un ambiente non di produzione prima di implementarle negli ambienti di produzione.

Per ulteriori informazioni sulla rotazione dei certificati, consulta Rotazione del certificatoSSL/TLS. Per ulteriori informazioni sul download, consulta . Per informazioni sull'utilizzo diSSL/TLScon le istanze SQL DB di Postgree, consulta. Utilizzo SSL con un'istanza DB Postgres SQL

Determinare se le applicazioni si connettono alle istanze DB di SQL Postgre utilizzando SSL

Verifica la configurazione delle istanze database per il valore del parametro rds.force_ssl. Per impostazione predefinita, il rds.force_ssl parametro è impostato su 0 (off) per le istanze DB che utilizzano versioni di SQL Postgre precedenti alla versione 15. Per impostazione predefinita, rds.force_ssl è impostato su 1 (on) per le istanze DB che utilizzano la SQL versione 15 di Postgre e le versioni principali successive. Se il rds.force_ssl parametro è impostato su 1 (on), i client devono utilizzareSSL/TLSper le connessioni. Per ulteriori informazioni sui gruppi di parametri, consultare Gruppi di parametri per RDS.

Se stai usando la SQL versione 9.5 di RDS Postgre o la versione principale successiva e non rds.force_ssl è impostata su 1 (attiva), interroga la pg_stat_ssl vista per verificare le connessioni che utilizzano. SSL Ad esempio, la seguente query restituisce solo le SSL connessioni e le informazioni sui client che utilizzano. SSL

SELECT datname, usename, ssl, client_addr FROM pg_stat_ssl INNER JOIN pg_stat_activity ON pg_stat_ssl.pid = pg_stat_activity.pid WHERE ssl is true and usename<>'rdsadmin';

Vengono visualizzate solo le righe che utilizzanoSSL/TLSconnections con informazioni sulla connessione. Di seguito è riportato un output di esempio.

datname | usename | ssl | client_addr ----------+---------+-----+------------- benchdb | pgadmin | t | 53.95.6.13 postgres | pgadmin | t | 53.95.6.13 (2 rows)

La query precedente visualizza solo le connessioni in uso al momento della query. L'assenza di risultati non indica che nessuna applicazione stia utilizzando SSL connessioni. Altre SSL connessioni potrebbero essere stabilite in un momento diverso.

Determinare se un client richiede la verifica del certificato per la connessione

Quando un client, come psql orJDBC, è configurato con il SSL supporto, il client tenta innanzitutto di connettersi al database con l'impostazione SSL predefinita. Se il client non riesce a connettersi conSSL, torna alla connessione senza. SSL La sslmode modalità predefinita è utilizzata per entrambi i client basati su libpq (come psql) ed JDBC è impostata su. prefer Il certificato sul server viene verificato solo quando sslrootcert viene fornito con sslmode set to o. verify-ca verify-full Se il certificato non è valido viene generato un errore.

PGSSLROOTCERTDa utilizzare per verificare il certificato con la variabile di PGSSLMODE ambiente, PGSSLMODE impostata su verify-ca overify-full.

PGSSLMODE=verify-full PGSSLROOTCERT=/fullpath/ssl-cert.pem psql -h pgdbidentifier.cxxxxxxxx.us-east-2.rds.amazonaws.com -U masteruser -d postgres

Utilizza l'sslrootcertargomento per verificare il certificato sslmode nel formato della stringa di connessione, con sslmode impostato su verify-ca o verify-full per verificare il certificato.

psql "host=pgdbidentifier.cxxxxxxxx.us-east-2.rds.amazonaws.com sslmode=verify-full sslrootcert=/full/path/ssl-cert.pem user=masteruser dbname=postgres"

Ad esempio, nel caso precedente, se stai utilizzando un certificato root non valido, sul client vedrai il seguente errore.

psql: SSL error: certificate verify failed

Aggiornare l'archivio di trust delle applicazioni

Per informazioni sull'aggiornamento del trust store per le SQL applicazioni Postgre, consulta Secure TCP /IP connections with SSL nella documentazione di Postgre. SQL

Per ulteriori informazioni sul download del certificato root, consulta .

Per gli script di esempio che importano i certificati, consulta Script di esempio per l'importazione di certificati nel tuo archivio di trust.

Nota

Quando aggiorni l'archivio di trust puoi conservare i certificati meno recenti oltre ad aggiungere i nuovi certificati.

Utilizzo delle TLS connessioniSSL/per diversi tipi di applicazioni

Di seguito vengono fornite informazioni sull'utilizzo delle TLS connessioniSSL/per diversi tipi di applicazioni:

Importante

Dopo aver stabilito che le connessioni al database utilizzanoSSL/TLSe aver aggiornato l'archivio attendibile dell'applicazione, è possibile aggiornare il database per utilizzare i certificati 2048-g1. rds-ca-rsa Per istruzioni, consulta la fase 3 in Aggiornamento del certificato CA modificando l'istanza o il cluster di database.