View a markdown version of this page

ElastiCache crittografia in transito (TLS) - Amazon ElastiCache

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

ElastiCache crittografia in transito (TLS)

Per contribuire a proteggere i tuoi dati, Amazon ElastiCache e Amazon EC2 forniscono meccanismi di protezione contro l'accesso non autorizzato dei tuoi dati sul server. Fornendo funzionalità di crittografia in transito, ti ElastiCache offre uno strumento che puoi utilizzare per proteggere i tuoi dati quando si spostano da una posizione all'altra.

Tutte le cache serverless di Valkey o Redis OSS hanno la crittografia in transito abilitata. Per i cluster basati su nodi, è possibile abilitare la crittografia in transito su un gruppo di replica impostando il parametro su true (CLI:) quando si crea il gruppo TransitEncryptionEnabled di replica. --transit-encryption-enabled Puoi farlo indipendentemente dal fatto che tu stia creando il gruppo di replica utilizzando, the o l'API. Console di gestione AWS AWS CLI ElastiCache

Tutte le cache serverless dispongono della crittografia dei dati in transito abilitata. Per i cluster basati su nodi, è possibile abilitare la crittografia in transito su un cluster impostando il parametro TransitEncryptionEnabled su true (CLI:--transit-encryption-enabled) quando si crea il cluster utilizzando l'operazione (CLI:). CreateCacheCluster create-cache-cluster

In-transit panoramica sulla crittografia

La crittografia ElastiCache in transito di Amazon è una funzionalità che ti consente di aumentare la sicurezza dei tuoi dati nei punti più vulnerabili, quando sono in transito da un luogo all'altro. Poiché la crittografia e la decrittografia dei dati richiede l'elaborazione a livello di endpoint, l'abilitazione della crittografia dei dati in transito può in parte influire sulle prestazioni. È opportuno creare un riferimento per i dati con o senza crittografia dei dati in transito per determinare l'impatto sulle prestazioni per i propri casi d'uso.

ElastiCache la crittografia in transito implementa le seguenti funzionalità:

  • Connessioni client crittografate: le connessioni client ai nodi di cache sono crittografate con TLS.

  • Connessioni server crittografate: i dati che si spostano tra i nodi di un cluster sono crittografati.

  • Autenticazione del server: i client possono autenticare che si stanno connettendo al server giusto.

  • Autenticazione del client: utilizzando la funzionalità OSS AUTH di Valkey e Redis, il server può autenticare i client.

Nota

ElastiCache non supporta MTL (TLS reciproco).

Registrazione della trasparenza dei certificati

ElastiCache fornisce un certificato TLS che include il nome del cluster per l'endpoint di ogni cluster con la crittografia in transito abilitata. AWS Certificate Manager registra i certificati TLS pubblicamente attendibili in registri pubblici di trasparenza dei certificati di sola aggiunta. Di conseguenza, il nome di un cluster con crittografia in transito abilitata appare nei registri pubblici di Certificate Transparency. Non includere informazioni riservate o sensibili nei nomi dei cluster. Per ulteriori informazioni sulla registrazione di Certificate Transparency, vedere Certificate Transparency logging nella Guida per l'utente di AWS Certificate Manager.

In-transit condizioni di crittografia (Valkey e Redis OSS)

I seguenti vincoli sulla crittografia ElastiCache in transito di Amazon devono essere tenuti presenti quando pianifichi l'implementazione del cluster basato su nodi:

  • In-transit la crittografia è supportata nei gruppi di replica che eseguono Valkey e Redis OSS.

  • La modifica dell'impostazione di crittografia in transito, per un cluster esistente, è supportata nei gruppi di replica che eseguono Valkey 7.2 e versioni successive e Redis OSS versione 7 e successive.

    Se il cluster esegue una versione del motore che non supporta questa modifica, l'opzione di crittografia in transito appare disabilitata (in grigio) nella Console di AWS gestione quando si tenta di modificare il cluster. Per abilitare la crittografia in transito in questo caso, è necessario aggiornare la versione del motore a Valkey 7.2 o successiva o Redis OSS versione 7 o successiva.

  • In-transit la crittografia è supportata solo per i gruppi di replica in esecuzione in un Amazon VPC.

  • In-transit la crittografia non è supportata per i gruppi di replica che eseguono i seguenti tipi di nodi: M1, M2.

    Per ulteriori informazioni, consulta Tipi di nodi supportati.

  • In-transit la crittografia è abilitata impostando esplicitamente il parametro su. TransitEncryptionEnabled true

  • Assicurati che il client di cache supporti la connettività TLS e che sia abilitata nella configurazione del client.

  • A partire dal 28 aprile 2026, AWS aggiorneremo la versione TLS minima supportata alla 1.2 ElastiCache per Valkey versione 7.2 e successive e ElastiCache per Redis OSS versione 6 e successive. I clienti devono aggiornare il software client prima di tale data. Questo aggiornamento consente di soddisfare le esigenze di sicurezza, conformità e normative.

In-transit condizioni di crittografia (Memcached)

I seguenti vincoli sulla crittografia ElastiCache in transito di Amazon devono essere tenuti presenti quando pianifichi l'implementazione del cluster basato su nodi:

  • In-transit la crittografia è supportata sui cluster che eseguono Memcached versioni 1.6.12 e successive.

  • In-transit la crittografia supporta le versioni 1.2 e 1.3 di Transport Layer Security (TLS).

  • In-transit la crittografia è supportata solo per i cluster in esecuzione in un Amazon VPC.

  • In-transit la crittografia non è supportata per i gruppi di replica che eseguono i seguenti tipi di nodi: M1, M2, M3, R3, T2.

    Per ulteriori informazioni, consulta Tipi di nodi supportati.

  • In-transit la crittografia è abilitata impostando esplicitamente il parametro su. TransitEncryptionEnabled true

  • Puoi abilitare la crittografia in transito su un cluster solo durante la creazione del cluster. Non puoi attivare o disattivare la crittografia in transito modificando un cluster.

  • Assicurati che il client di cache supporti la connettività TLS e che sia abilitata nella configurazione del client.

In-transit best practice di crittografia

  • A causa dell'elaborazione richiesta per crittografare e decrittografare i dati a livello degli endpoint, l'implementazione della crittografia dei dati in transito può ridurre le prestazioni. Raffronta la crittografia dei dati in transito con l'assenza di crittografia sui dati per determinare il suo impatto sulle prestazioni per l'implementazione.

  • Siccome la creazione di nuove connessioni può richiedere molte risorse, puoi ridurre l'impatto della crittografia in transito sulle prestazioni mantenendo le connessioni SSL.

  • Non includere informazioni riservate o sensibili nei nomi dei cluster. Quando abiliti la crittografia in transito, il certificato TLS del cluster include il nome del cluster e AWS Certificate Manager registra tale certificato nei registri pubblici di Certificate Transparency.

Altre opzioni Valkey e Redis OSS

Per ulteriori informazioni sulle opzioni disponibili per Valkey e Redis OSS, consulta i seguenti link.

Abilitazione della crittografia in transito per Memcached

Per abilitare la crittografia in transito creando un cluster Memcached tramite AWS Management Console, effettua le selezioni seguenti:

  • Scegli Memcached come motore.

  • Scegli la versione del motore 1.6.12 o successiva.

  • In Encryption in transit (Crittografia in transito), scegli Enable (Abilita).

Per la procedura dettagliata, vedere. Creazione di un cluster per Valkey o Redis OSS

Connessione a nodi abilitati con crittografia in transito utilizzando Openssl (Memcached)

Per accedere ai dati provenienti dai ElastiCache nodi Memcached abilitati alla crittografia in transito, è necessario utilizzare client che funzionano con Secure Socket Layer (SSL). Su Amazon linux e Amazon Linux 2, puoi utilizzare anche Openssl s_client.

Per utilizzare Openssl s_client per la connessione a un cluster Memcached con crittografia in transito abilitata su Amazon Linux 2 o Amazon Linux:

/usr/bin/openssl s_client -connect memcached-node-endpoint:memcached-port

Creazione di un client TLS Memcached utilizzando Java

Per creare un client in modalità TLS, effettua le operazioni seguenti per inizializzare il client con l'SSLContex appropriato:

import java.security.KeyStore; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManagerFactory; import net.spy.memcached.AddrUtil; import net.spy.memcached.ConnectionFactoryBuilder; import net.spy.memcached.MemcachedClient; public class TLSDemo { public static void main(String[] args) throws Exception { ConnectionFactoryBuilder connectionFactoryBuilder = new ConnectionFactoryBuilder(); // Build SSLContext TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); tmf.init((KeyStore) null); SSLContext sslContext = SSLContext.getInstance("TLS"); sslContext.init(null, tmf.getTrustManagers(), null); // Create the client in TLS mode connectionFactoryBuilder.setSSLContext(sslContext); MemcachedClient client = new MemcachedClient(connectionFactoryBuilder.build(), AddrUtil.getAddresses("mycluster.fnjyzo.cfg.use1.cache.amazonaws.com:11211")); // Store a data item for an hour. client.set("theKey", 3600, "This is the data value"); } }

Creazione di un client TLS Memcached utilizzando PHP

Per creare un client in modalità TLS, effettua le operazioni seguenti per inizializzare il client con l'SSLContex appropriato:

<?php /** * Sample PHP code to show how to create a TLS Memcached client. In this example we * will use the Amazon ElastiCache Auto Descovery feature, but TLS can also be * used with a Static mode client. * See Using the ElastiCache Cluster Client for PHP (https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/AutoDiscovery.Using.ModifyApp.PHP.html) for more information * about Auto Discovery and persistent-id. */ /* Configuration endpoint to use to initialize memcached client. * this is only an example */ $server_endpoint = "mycluster.fnjyzo.cfg.use1.cache.amazonaws.com"; /* Port for connecting to the cluster. * This is only an example */ $server_port = 11211; /* Initialize a persistent Memcached client and configure it with the Dynamic client mode */ $tls_client = new Memcached('persistent-id'); $tls_client->setOption(Memcached::OPT_CLIENT_MODE, Memcached::DYNAMIC_CLIENT_MODE); /* Add the memcached's cluster server/s */ $tls_client->addServer($server_endpoint, $server_port); /* Configure the client to use TLS */ if(!$tls_client->setOption(Memcached::OPT_USE_TLS, 1)) { echo $tls_client->getLastErrorMessage(), "\n"; exit(1); } /* Set your TLS context configurations values. * See MemcachedTLSContextConfig in memcached-api.php for all configurations */ $tls_config = new MemcachedTLSContextConfig(); $tls_config->hostname = '*.mycluster.fnjyzo.use1.cache.amazonaws.com'; $tls_config->skip_cert_verify = false; $tls_config->skip_hostname_verify = false; /* Use the created TLS context configuration object to create OpenSSL's SSL_CTX and set it to your client. * Note: These TLS context configurations will be applied to all the servers connected to this client. */ $tls_client->createAndSetTLSContext((array)$tls_config); /* test the TLS connection with set-get scenario: */ /* store the data for 60 seconds in the cluster. * The client will decide which cache host will store this item. */ if($tls_client->set('key', 'value', 60)) { print "Successfully stored key\n"; } else { echo "Failed to set key: ", $tls_client->getLastErrorMessage(), "\n"; exit(1); } /* retrieve the key */ if ($tls_client->get('key') === 'value') { print "Successfully retrieved key\n"; } else { echo "Failed to get key: ", $tls_client->getLastErrorMessage(), "\n"; exit(1); }

Per ulteriori informazioni sull’utilizzo del client PHP, consulta Installazione del client ElastiCache cluster per PHP.