Come posso attivare SSL sulla mia istanza database compatibile con Aurora PostgreSQL e come posso connettermi alla mia istanza utilizzando i certificati SSL?

3 minuti di lettura
0

Desidero utilizzare una connessione Secure Socket Layer (SSL) per connettermi al mio cluster di database compatibile con Amazon Aurora PostgreSQL.

Breve descrizione

È possibile crittografare una connessione al proprio cluster di database compatibile con Aurora PostgreSQL dalla propria applicazione, utilizzando SSL o Transport Layer Security (TLS). Le connessioni SSL e TLS forniscono un unico livello di sicurezza per il cluster e crittografano i dati che si spostano tra il client e il cluster. Per ulteriori informazioni consulta la sezione Utilizzo di SSL/TLS per crittografare una connessione a un cluster database.

Per essere sicure, le connessioni SSL devono essere configurate sia sul client che sul server prima di effettuare il collegamento. Se SSL non è configurato sul server, il client potrebbe inviare informazioni sensibili, come le password. Per ulteriori informazioni su come creare una connessione protetta da SSL, consulta il supporto SSL sul sito web di PostgreSQL.

Le modalità SSL per PostgreSQL sono:

  • verify-full
  • verify-ca
  • require
  • prefer
  • allow
  • disable

Per ulteriori informazioni su come scegliere la modalità SSL giusta per il tuo caso d'uso consulta la sezione Protection provided in different modes sul sito web di PostgreSQL.

Risoluzione

Amazon Relational Database Service (Amazon RDS) crea la certificazione SSL o TLS per il tuo cluster. Ciò avviene quando si crea il cluster. Per ulteriori informazioni consulta la sezione Sicurezza con Aurora PostgreSQL.

Connettiti al tuo cluster di database tramite SSL/TLS

  1. Scarica il certificato SSL/TSL.
  2. Importa il certificato nel tuo sistema operativo.
  3. Connettiti al tuo cluster di database compatibile con Aurora PostgreSQL tramite SSL/TLS.
    Ad esempio:
    psql -h DBInstance.cluster-Account-Number.eu-west-1.rds.amazonaws.com  -p 5432 "dbname=postgres user=postgres sslrootcert=global-bundle.pem sslmode=verify-full"

Quando imposti rds.force_ssl a 1 (attivo), il file pg_hba.conf della tua istanza database viene modificato per supportare la nuova configurazione SSL. Usa la visualizzazione pg_hba_file_rules per vedere il riepilogo del contenuto del file pg\ _hba.conf. Il valore del tipo mostrato nella visualizzazione pg_hba_file_rules viene aggiornato a hostssl dopo che rds.force\ _ssl è stato impostato su 1 (attivo).

È possibile richiedere connessioni al cluster di database che utilizzino SSL/TLS. A tale scopo, usa il parametro rds.force_ssl. Il parametro rds.force_ssl è impostato su 0 per impostazione predefinita. Il valore 0 indica che non è attivo. Per attivare questo parametro, imposta rds.force_ssl su 1. Ciò renderà SSL/TLS un requisito per le connessioni al cluster di database.

Per ulteriori informazioni consulta la sezione Sicurezza dei dati Aurora PostgreSQL con SSL/TLS.

Verifica la connessione SSL

Per verificare la connessione SSL, esegui questo comando:

postgres=> select ssl_is_used(); ssl_is_used
-------------
 t
(1 row)

postgres=> select ssl_cipher();
         ssl_cipher
-----------------------------
 ECDHE-RSA-AES128-GCM-SHA256
(1 row)

Nota: l'SSL dell'istanza Amazon RDS è SSL unidirezionale. Ciò significa che il client può verificare l'identità del server.

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa