Abilita connessioni crittografate per le istanze DB PostgreSQL in Amazon RDS - Prontuario AWS

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à.

Abilita connessioni crittografate per le istanze DB PostgreSQL in Amazon RDS

Creato da Rohit Kapoor (AWS)

Ambiente: PoC o pilota

Tecnologie: database; reti; sicurezza, identità, conformità

Carico di lavoro: open source

Servizi AWS: Amazon RDS; Amazon Aurora

Riepilogo

Amazon Relational Database Service (Amazon RDS) supporta la crittografia SSL per le istanze DB PostgreSQL. Utilizzando SSL, puoi crittografare una connessione PostgreSQL tra le tue applicazioni e le istanze DB di Amazon RDS for PostgreSQL. Per impostazione predefinita, Amazon RDS for PostgreSQL utilizza SSL/TLS e prevede che tutti i client si connettano utilizzando la crittografia SSL/TLS. Amazon RDS per PostgreSQL supporta le versioni TLS 1.1 e 1.2.

Questo modello descrive come abilitare le connessioni crittografate per un'istanza DB Amazon RDS for PostgreSQL. Puoi utilizzare lo stesso processo per abilitare le connessioni crittografate per Amazon Aurora PostgreSQL Compatible Edition.

Prerequisiti e limitazioni

Architettura

Abilitazione di connessioni crittografate per istanze DB PostgreSQL in Amazon RDS

Strumenti

  • pgAdmin è una piattaforma di amministrazione e sviluppo open source per PostgreSQL. Puoi usare pgAdmin su Linux, Unix, macOS e Windows per gestire gli oggetti del database in PostgreSQL 10 e versioni successive.

  • Gli editor di PostgreSQL forniscono un'interfaccia più intuitiva per aiutarti a creare, sviluppare ed eseguire query e modificare il codice in base alle tue esigenze.

Best practice

  • Monitora le connessioni non sicure al database.

  • Verifica i diritti di accesso al database.

  • Assicurati che i backup e le istantanee siano crittografati quando sono inattivi.

  • Monitora l'accesso al database.

  • Evita i gruppi di accesso senza restrizioni.

  • Migliora le tue notifiche con Amazon GuardDuty.

  • Monitora regolarmente l'aderenza alle politiche.

Epiche

AttivitàDescrizioneCompetenze richieste

Carica un certificato affidabile sul tuo computer.

Per aggiungere certificati all'archivio Trusted Root Certification Authorities del computer, procedi nel seguente modo. (Queste istruzioni utilizzano Windows Server come esempio.)

  1. In Windows Server, scegliete Start, Esegui, quindi digitate mmc.

  2. Nella console, scegli File, Aggiungi/Rimuovi snap-in.

  3. In Snap-in disponibili, scegli Certificati, quindi scegli Aggiungi.

  4. In Questo snap-in gestirà sempre i certificati per, scegli Account computer, Avanti.

  5. Scegli Computer locale, Fine.

  6. Se non hai altri snap-in da aggiungere alla console, scegli OK.

  7. Nell'albero della console, fai doppio clic su Certificati.

  8. Fate clic con il pulsante destro del mouse su Trusted

  9. Scegli Tutte le attività, Importa per importare i certificati scaricati.

  10. Segui i passaggi della procedura guidata di importazione dei certificati.

DevOps ingegnere, ingegnere addetto alla migrazione, DBA
AttivitàDescrizioneCompetenze richieste

Creare un gruppo di parametri e impostare il parametro rds.force_ssl.

Se l'istanza DB PostgreSQL ha un gruppo di parametri personalizzato, modifica il gruppo di parametri e passa a 1. rds.force_ssl

Se l'istanza DB utilizza il gruppo di parametri predefinito che non è rds.force_ssl abilitato, crea un nuovo gruppo di parametri. Puoi modificare il nuovo gruppo di parametri utilizzando l'API Amazon RDS o manualmente come indicato nelle seguenti istruzioni.

Per creare un nuovo gruppo di parametri:

  1. Accedi alla console di gestione AWS e apri la console Amazon RDS per la regione AWS che ospita l'istanza DB.

  2. Nel riquadro di navigazione scegliere Parameter groups (Gruppi di parametri).

  3. Scegli Crea gruppo di parametri e imposta i seguenti valori: 

    • Per la famiglia di gruppi di parametri, scegli postgres14.

    • <database_instance>Per Nome gruppo, digita pgsql - -ssl.

    • In Descrizione, inserisci una descrizione in formato libero per il gruppo di parametri che stai aggiungendo.

    • Scegli Crea.

  4. Scegli il gruppo di parametri che hai creato.

  5. Da Parameter group actions (Operazioni gruppo di parametri) scegliere Edit (Modifica).

  6. Trova rds.force_ssl e modificane l'impostazione su 1.

    Nota: esegui test sul lato client prima di modificare questo parametro.

  7. Seleziona Salvataggio delle modifiche.

Per associare il gruppo di parametri alla tua istanza DB PostgreSQL:

  1. Sulla console Amazon RDS, nel riquadro di navigazione, scegli Database, quindi scegli l'istanza DB PostgreSQL.

  2. Scegli Modifica.

  3. In Configurazione aggiuntiva, scegli il nuovo gruppo di parametri, quindi scegli Continua.

  4. In Pianifica modifiche, scegli Applica immediatamente.

  5. Scegliere Modify DB Instance (Modifica istanza database).

Per ulteriori informazioni, consulta la documentazione di Amazon RDS.

DevOps ingegnere, ingegnere addetto alla migrazione, DBA

Forza le connessioni SSL.

Connettiti all'istanza DB Amazon RDS for PostgreSQL. I tentativi di connessione che non utilizzano SSL vengono rifiutati con un messaggio di errore. Per ulteriori informazioni, consulta la documentazione di Amazon RDS.

DevOps ingegnere, ingegnere addetto alla migrazione, DBA
AttivitàDescrizioneCompetenze richieste

Installa l'estensione SSL.

  1. Avvia una connessione psql o pgAdmin come DBA.

  2. Chiamate la funzione ssl_is_used () per determinare se viene utilizzato SSL.

    select ssl_is_used();

    La funzione restituisce t se la connessione utilizza SSL; in caso contrario, restituisce. f

  3. Installa l'estensione SSL.

    create extension sslinfo; show ssl; select ssl_cipher();

Per ulteriori informazioni, consulta la documentazione di Amazon RDS.

DevOps ingegnere, ingegnere addetto alla migrazione, DBA
AttivitàDescrizioneCompetenze richieste

Configura un client per SSL.

Utilizzando SSL, è possibile avviare il server PostgreSQL con il supporto per connessioni crittografate che utilizzano i protocolli TLS. Il server ascolta le connessioni standard e SSL sulla stessa porta TCP e negozia con qualsiasi client connesso se utilizzare SSL. Per impostazione predefinita, questa è un'opzione client.

Se stai usando il client psql:

  1. Assicurati che il certificato Amazon RDS sia stato caricato sul tuo computer locale.

  2. Avvia una connessione client SSL aggiungendo quanto segue:

    psql postgres -h SOMEHOST.amazonaws.com -p 8192 -U someuser sslmode=verify-full sslrootcert=rds-ssl-ca-cert.pem select ssl_cipher();

Per altri client PostgreSQL:

  • Modifica il rispettivo parametro della chiave pubblica dell'applicazione. Questo potrebbe essere disponibile come opzione, come parte della stringa di connessione o come proprietà nella pagina di connessione negli strumenti della GUI. 

Consulta le seguenti pagine per questi client:

DevOps ingegnere, ingegnere addetto alla migrazione, DBA

Risoluzione dei problemi

ProblemaSoluzione

Impossibile scaricare il certificato SSL.

Verifica la connessione al sito Web e riprova a scaricare il certificato sul computer locale.

Risorse correlate