Utilizzo di SSL/TLS per crittografare una connessione a un’istanza database o un cluster di database
Puoi utilizzare Secure Socket Layer (SSL) o Transport Layer Security (TLS) dall’applicazione per crittografare una connessione a un’istanza database che esegue Db2, MariaDB, Microsoft SQL Server, MySQL, Oracle o PostgreSQL.
Le connessioni SSL/TLS forniscono un livello di sicurezza tramite la crittografia dei dati che si spostano tra il client e un’istanza database o un cluster di database. Facoltativamente, la connessione SSL/TLS può eseguire la verifica dell’identità del server convalidando il certificato del server installato sul database. Per richiedere la verifica dell'identità del server, esegui questa procedura generale:
-
Scegli l'autorità di certificazione (CA) che firma il certificato del server di database per il database. Per ulteriori informazioni sulle autorità di certificazione, consulta Autorità di certificazione.
-
Scarica un bundle di certificati da utilizzare quando ti connetti al database. Per scaricare un bundle di certificati, consulta Bundle di certificati per Regione AWS.
Nota
Tutti i certificati sono disponibili solo per il download tramite connessioni SSL/TLS.
-
Connettiti al database utilizzando il processo del motore di database per l'implementazione delle connessioni SSL/TLS. Ciascun motore database ha il proprio processo per l'implementazione di SSL/TLS. Per informazioni su come implementare SSL/TLS per il database, usa il collegamento corrispondente al motore di database in uso:
-
Utilizzo di SSL/TLS con un’istanza database Amazon RDS per Db2
-
Supporto di SSL/TLS per le istanze database MariaDB in Amazon RDS
-
Utilizzo di SSL con un'istanza database Microsoft SQL Server
-
Supporto di SSL/TLS per le istanze database MySQL in Amazon RDS
-
Utilizzo del protocollo SSL con un'istanza database PostgreSQL
-
Autorità di certificazione
L'autorità di certificazione (CA) è il certificato che identifica la CA root della catena di certificati. La CA firma il certificato del server di database, che è il certificato del server installato su ogni istanza database. Il certificato del server di database identifica l'istanza database come server attendibile.
Amazon RDS fornisce le seguenti CA per firmare il certificato del server di database per un database.
| Autorità di certificazione (CA) | Descrizione | Common name (CN) (Nome comune) |
|---|---|---|
|
rds-ca-rsa2048-g1 |
Utilizza un'autorità di certificazione con l'algoritmo a chiave privata RSA 2048 e l'algoritmo di firma SHA256 nella maggior parte delle Regioni AWS. Nelle AWS GovCloud (US) Regions, questa CA utilizza un'autorità di certificazione con l'algoritmo a chiave privata RSA 2048 e l'algoritmo di firma SHA384. supporta la rotazione automatica dei certificati del server. |
Amazon RDS region-identifier CA root RSA2048 G1 |
|
rds-ca-rsa4096-g1 |
Utilizza un'autorità di certificazione con l'algoritmo a chiave privata RSA 4096 e l'algoritmo di firma SHA384. supporta la rotazione automatica dei certificati del server. |
Amazon RDS region-identifier CA root RSA4096 G1 |
|
rds-ca-ecc384-g1 |
Utilizza un'autorità di certificazione con l'algoritmo a chiave privata ECC 384 e l'algoritmo di firma SHA384. supporta la rotazione automatica dei certificati del server. |
Amazon RDS region-identifier CA root ECC384 G1 |
Nota
Se si utilizza la AWS CLI, è possibile visualizzare le validità delle autorità di certificazione elencate in precedenza utilizzando describe-certificates.
Questi certificati CA sono inclusi nel bundle di certificati regionali e globali. Quando usi la CA rds-ca-rsa2048-g1, rds-ca-rsa4096-g1 o rds-ca-ecc384-g1 con un database, RDS gestisce il certificato del server di database sul database. RDS esegue automaticamente la rotazione del certificato del server di database prima della scadenza.
Impostazione della CA per il database
Puoi impostare la CA per un database quando esegui le seguenti attività:
-
Creazione di un’istanza database o cluster di database Multi-AZ: puoi impostare la CA durante la creazione di un’istanza database o un cluster di database. Per istruzioni, consulta Creazione di un'istanza database Amazon RDS o Creazione di un cluster di database Multi-AZ per Amazon RDS.
-
Modifica di un’istanza database o un cluster di database Multi-AZ: puoi impostare la CA per un’istanza database o un cluster di database modificandoli. Per istruzioni, consulta Modifica di un'istanza database Amazon RDS o Modifica di un cluster di database Multi-AZ per Amazon RDS..
Nota
La CA predefinita è impostata su rds-ca-rsa2048-g1. Puoi sostituire la CA predefinita per il tuo Account AWS utilizzando il comando modify-certificates.
Le CA disponibili dipendono dal motore di database e dalla versione del motore di database. Quando si utilizza la AWS Management Console, è possibile scegliere la CA usando l'impostazione Certificate authority (Autorità di certificazione), come mostrato nell'immagine seguente.
La console mostra solo le CA disponibili per il motore di database e la versione del motore di database. Se si utilizza AWS CLI, è possibile impostare la CA per un’istanza database utilizzando il comando create-db-instance o modify-db-instance. È possibile impostare la CA per un cluster di database Multi-AZ utilizzando il comando create-db-cluster o modify-db-cluster.
Se si utilizza AWS CLI, è possibile visualizzare le CA disponibili per l’account utilizzando il comando describe-certificates. Questo comando mostra nell'output anche la data di scadenza per ogni CA in ValidTill. È possibile trovare le CA disponibili per uno specifico motore di database e una versione del motore di database utilizzando il comando describe-db-engine-versions.
L'esempio seguente mostra le CA disponibili per la versione predefinita del motore di database RDS per PostgreSQL.
aws rds describe-db-engine-versions --default-only --engine postgres
L'output è simile a quello riportato di seguito. Le CA disponibili sono elencate in SupportedCACertificateIdentifiers. L'output mostra anche se la versione del motore di database supporta la rotazione del certificato senza riavvio in SupportsCertificateRotationWithoutRestart.
{
"DBEngineVersions": [
{
"Engine": "postgres",
"MajorEngineVersion": "13",
"EngineVersion": "13.4",
"DBParameterGroupFamily": "postgres13",
"DBEngineDescription": "PostgreSQL",
"DBEngineVersionDescription": "PostgreSQL 13.4-R1",
"ValidUpgradeTarget": [],
"SupportsLogExportsToCloudwatchLogs": false,
"SupportsReadReplica": true,
"SupportedFeatureNames": [
"Lambda"
],
"Status": "available",
"SupportsParallelQuery": false,
"SupportsGlobalDatabases": false,
"SupportsBabelfish": false,
"SupportsCertificateRotationWithoutRestart": true,
"SupportedCACertificateIdentifiers": [
"rds-ca-rsa2048-g1",
"rds-ca-ecc384-g1",
"rds-ca-rsa4096-g1"
]
}
]
}
Validità dei certificati del server di database
La validità del certificato del server di database dipende dal motore di database e dalla versione del motore di database. Se la versione del motore di database supporta la rotazione del certificato senza riavvio, la validità del certificato del server di database è di 1 anno. In caso contrario, la validità è di 3 anni.
Per ulteriori informazioni sulla rotazione dei certificati del server di database, consulta Rotazione automatica dei certificati del server.
Visualizzazione della CA per l’istanza database
È possibile vedere i dettagli sulla CA per un database visualizzando la scheda Connettività e sicurezza nella console, come nell’immagine seguente.
Se si utilizza AWS CLI, è possibile visualizzare i dettagli sulla CA per un’istanza database utilizzando il comando describe-db-instances. È possibile visualizzare i dettagli sulla CA per un cluster di database Multi-AZ utilizzando il comando describe-db-clusters.
Download di bundle di certificati per Amazon RDS
Quando ci si connette al database con SSL o TLS, l’istanza del database richiede un certificato di attendibilità di Amazon RDS. Seleziona il link appropriato nella tabella seguente per scaricare il bundle corrispondente alla Regione AWS in cui si ospita il database.
Bundle di certificati per Regione AWS
I bundle di certificati per tutte le Regioni Regioni AWS e GovCloud (US) contengono i seguenti certificati CA root:
-
rds-ca-rsa2048-g1 -
rds-ca-rsa4096-g1 -
rds-ca-ecc384-g1
I certificati rds-ca-rsa4096-g1 e rds-ca-ecc384-g1 non sono disponibili nelle seguenti Regioni:
-
Asia Pacifico (Mumbai)
-
Asia Pacifico (Melbourne)
-
Canada occidentale (Calgary)
-
Europa (Zurigo)
-
Europa (Spagna)
-
Israele (Tel Aviv)
L’archivio di trust delle applicazioni deve registrare solo il certificato CA root.
Nota
Server proxy per Amazon RDS utilizza i certificati di AWS Certificate Manager (ACM). Se si utilizza Server proxy per RDS, non è necessario scaricare certificati Amazon RDS o aggiornare applicazioni che utilizzano connessioni Server proxy per RDS. Per ulteriori informazioni, consulta Utilizzo di TLS/SSL con RDS Proxy.
Per scaricare un bundle di certificati per una Regione AWS, seleziona il link per la Regione AWS che ospita il database nella tabella seguente.
Visualizzazione del contenuto del certificato CA
Per verificare il contenuto del bundle di certificati CA, utilizza il comando seguente:
keytool -printcert -v -file global-bundle.pem