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à.
Sicurezza
Quando crei sistemi sull'infrastruttura AWS, le responsabilità di sicurezza vengono condivise tra te e AWS. Questo modello di responsabilità condivisa
Ruoli IAM
I ruoli di AWS Identity and Access Management (IAM) consentono ai clienti di assegnare policy e autorizzazioni di accesso granulari a servizi e utenti sul cloud AWS. Questa soluzione crea ruoli IAM che concedono alle funzioni AWS Lambda della soluzione l'accesso per creare risorse regionali.
Amazon CloudFront
Questa soluzione implementa un'interfaccia utente Web ospitata in un bucket Amazon S3, distribuito da Amazon. CloudFront Per contribuire a ridurre la latenza e migliorare la sicurezza, questa soluzione include una CloudFront distribuzione con un'identità di accesso di origine, ossia un CloudFront utente che fornisce l'accesso pubblico ai contenuti del bucket del sito Web della soluzione. Per impostazione predefinita, la CloudFront distribuzione supporta connessioni fino a TLS 1.3, utilizzando la versione di protocollo più elevata supportata dal visualizzatore. Per ulteriori informazioni, consulta Restricting access to an Amazon S3 origin nella Amazon Developer Guide. CloudFront
CloudFront attiva ulteriori mitigazioni di sicurezza per aggiungere intestazioni di sicurezza HTTP a ogni risposta dello spettatore. Per ulteriori informazioni, consulta Aggiungere o rimuovere le intestazioni HTTP nelle risposte. CloudFront
Questa soluzione utilizza il CloudFront certificato predefinito, che ha un protocollo di sicurezza minimo supportato di TLS v1.0. Per imporre l'uso di TLS v1.2 o TLS v1.3, è necessario utilizzare un certificato SSL personalizzato anziché il certificato predefinito. CloudFront Per ulteriori informazioni, consulta Come posso configurare la mia CloudFront distribuzione per l'utilizzo di un certificato. SSL/TLS
Gateway Amazon API
Questa soluzione implementa endpoint Amazon API Gateway ottimizzati per l'edge per fornire API RESTful per la funzionalità di test di carico utilizzando l'endpoint API Gateway predefinito anziché un dominio personalizzato. Per le API ottimizzate per l'edge che utilizzano l'endpoint predefinito, API Gateway utilizza la politica di sicurezza. TLS-1-0 Per ulteriori informazioni, consulta Working with REST APIs nella Amazon API Gateway Developer Guide.
Questa soluzione utilizza il certificato API Gateway predefinito, che ha un protocollo di sicurezza minimo supportato di TLS v1.0. Per imporre l'uso di TLS v1.2 o TLS v1.3, è necessario utilizzare un dominio personalizzato con un certificato SSL personalizzato anziché il certificato API Gateway predefinito. Per ulteriori informazioni, consulta Configurazione di nomi di dominio personalizzati per le API REST.
Gruppo di sicurezza AWS Fargate
Per impostazione predefinita, questa soluzione apre al pubblico la regola in uscita del gruppo di sicurezza AWS Fargate. Se desideri impedire ad AWS Fargate di inviare traffico ovunque, modifica la regola in uscita impostando uno specifico Classless Inter-Domain Routing (CIDR).
Questo gruppo di sicurezza include anche una regola in entrata che consente il traffico locale sulla porta 50.000 verso qualsiasi fonte appartenente allo stesso gruppo di sicurezza. Viene utilizzato per consentire ai contenitori di comunicare tra loro.
Amazon VPC
VPC: un cloud privato virtuale (VPC) basato sul servizio Amazon VPC offre una rete privata e logicamente isolata nel cloud AWS.
Puoi specificare il tuo VPC nei parametri AWS durante la distribuzione. CloudFormation Il VPC viene utilizzato esclusivamente dalle attività ECS che generano carico; la console web e l'API non sono distribuite all'interno di questo VPC. Se non si specifica un VPC esistente, la soluzione crea un nuovo VPC con la configurazione di rete richiesta. Se si sceglie di utilizzare un VPC esistente, questo deve soddisfare i seguenti requisiti per eseguire correttamente le attività di test di carico.
Requisiti VPC
I requisiti minimi per un VPC da utilizzare con Distributed Load Testing su AWS sono elencati di seguito.
-
Il VPC deve contenere almeno due AZ
-
Il VPC deve contenere almeno due sottoreti, ciascuna in una AZ separata
-
Le sottoreti VPC possono essere pubbliche o private, ma devono utilizzare la stessa configurazione (entrambe pubbliche O entrambe private)
-
Il VPC deve fornire l'accesso agli endpoint per ECR, CloudWatch Logs, S3 e AWS IoT Core.
-
Il VPC deve fornire l'accesso ai servizi oggetto dei test di carico.
Nota
Se non disponi di un VPC che soddisfi questi criteri, puoi creare rapidamente un VPC con la procedura guidata VPC. Per ulteriori informazioni, consulta la sezione Creazione di un VPC.
Le sottoreti pubbliche possono soddisfare questi requisiti includendo quanto segue:
-
Un gateway Internet collegato al VPC
-
Un percorso verso il gateway Internet (0.0.0. 0/0)
Le sottoreti private possono soddisfare questi requisiti tramite l'uso di gateway NAT o endpoint VPC, come descritto di seguito.
Opzione 1: NAT Gateway
-
Implementa un gateway NAT in ogni AZ con sottoreti private
-
Configura le tabelle di routing per instradare il traffico diretto a Internet (0.0.0. 0/0) tramite il NAT Gateway
Opzione 2: VPC Endpoint
Crea i seguenti endpoint VPC nel tuo VPC:
-
Endpoint API Amazon ECR:
com.amazonaws.<region>.ecr.api -
Endpoint Amazon ECR DKR:
com.amazonaws.<region>.ecr.dkr -
Endpoint Amazon Logs CloudWatch :
com.amazonaws.<region>.logs -
Endpoint Amazon S3 Gateway:
com.amazonaws.<region>.s3 -
Endpoint AWS IoT Core (richiesto se si utilizzano i grafici dei dati in tempo reale)
com.amazonaws.<region>.iot.data
Potrebbero funzionare anche altre configurazioni VPC.
Importante
Il gruppo di sicurezza collegato a ciascuna interfaccia endpoint VPC deve consentire il traffico TCP in entrata sulla porta 443 dal task security group ECS.
Configurazione del gruppo di sicurezza
Durante l'implementazione, la soluzione creerà un gruppo di sicurezza all'interno del VPC per consentire il seguente traffico con attività nel cluster ECS:
-
Tutto il traffico in uscita
-
Traffico in entrata sulla porta 50000 proveniente da altre attività dello stesso gruppo di sicurezza, per facilitare il coordinamento tra le attività del lavoratore e quelle del responsabile.
Stress test di rete
Sei responsabile dell'utilizzo di questa soluzione in base alla Amazon EC2 Testing Policy
Limitazione dell'accesso all'interfaccia utente pubblica
L'approccio per limitare l'accesso alla console web dipende dall'opzione di distribuzione scelta.
Distribuzione predefinita (CloudFront + S3): per limitare l'accesso all'interfaccia utente pubblica oltre ai meccanismi di autenticazione e autorizzazione forniti da IAM e Amazon Cognito, puoi associare un ACL web AWS WAF alla distribuzione. CloudFront Prendi in considerazione l'utilizzo della soluzione AWS WAF Security Automations
Distribuzione ALB + ECS Fargate: la soluzione distribuisce automaticamente un ACL web AWS WAF davanti all'ALB con regole gestite che forniscono una protezione di base contro i comuni attacchi basati sul Web. Puoi personalizzare le regole WAF per soddisfare i tuoi requisiti di sicurezza specifici, tra cui l'aggiunta di elenchi di IP-based autorizzazioni o blocchi, restrizioni geografiche, limiti di velocità o gruppi di regole gestiti da AWS aggiuntivi. Per istruzioni su come modificare la configurazione WAF, consulta la sezione sull'integrazione WAF nelle istruzioni di distribuzione.
Sicurezza del server MCP (opzionale)
Se si implementa l'integrazione opzionale del server MCP, la soluzione utilizza Amazon Bedrock AgentCore Gateway per fornire un accesso sicuro ai dati di test di carico per gli agenti di intelligenza artificiale. AgentCore Gateway convalida i token di autenticazione Amazon Cognito per ogni richiesta, in modo che solo gli utenti autorizzati possano accedere al server MCP. Tutte le interazioni con il server MCP utilizzano gli stessi limiti di autorizzazione e gli stessi controlli di accesso della console web.
Il parametro MCP Server Access Mode controlla cosa possono fare gli agenti AI. Nella ReadOnly modalità predefinita, il server MCP espone solo gli strumenti di lettura. La policy AWS Identity and Access Management (IAM) sulla funzione MCP Server Lambda consente solo GET richieste all'API della soluzione, quindi gli agenti non possono modificare le configurazioni o i risultati dei test. In ReadWrite modalità, gli agenti possono inoltre creare, modificare, eliminare e avviare scenari di test. Scegli ReadWrite solo se il tuo caso d'uso richiede agli agenti di modificare i test.
Rotazione delle credenziali: se connetti un client MCP utilizzando l'autenticazione basata su servizi (da macchina a macchina), la soluzione crea un client per app Amazon Cognito con un segreto client di lunga durata. Sei responsabile della rotazione di quel segreto e della sua archiviazione sicura. Ti consigliamo di ruotarlo almeno ogni 90 giorni. Per le procedure, fate riferimento a Ruotare il segreto del client del server MCP in Usa la soluzione.
Sicurezza della console web ospitata da ALB + ECS Fargate (opzionale)
Se si sceglie l'opzione di distribuzione ALB + ECS Fargate, si applicano le seguenti considerazioni di sicurezza:
-
Compatibilità con VPC Block Public Access: l'opzione ALB + ECS Fargate è progettata per ambienti in cui le politiche VPC Block Public Access (BPA) bloccano il traffico proveniente dalle distribuzioni pubbliche. CloudFront L'ALB può essere implementato come sistema di bilanciamento del carico interno all'interno del VPC, accessibile solo tramite la rete aziendale, la VPN o AWS, soddisfacendo zero requisiti di esposizione pubblica a Internet. PrivateLink
-
Gestione dei certificati ACM: l'ALB utilizza un certificato ACM per la terminazione HTTPS. Sei responsabile di garantire che il certificato rimanga valido e venga rinnovato prima della scadenza. ACM rinnova automaticamente i certificati che gestisce, ma i certificati importati devono essere rinnovati manualmente. Per ulteriori informazioni, consulta Managed certificate Renewal nella Guida per l'utente di AWS Certificate Manager.
-
Protezione AWS WAF: il WAF viene distribuito di default con il modello ALB + ECS Fargate. Per informazioni dettagliate, consulta Limitare l'accesso all'interfaccia utente pubblica.
Sicurezza headless (porta il tuo server web) (opzionale)
Se scegli l'opzione di distribuzione headless e ospiti la console web sul tuo server web, sei responsabile delle seguenti considerazioni di sicurezza:
-
Configurazione HTTPS: consigliamo vivamente di configurare HTTPS sul tuo server web.
-
Controlli di accesso: sei responsabile dell'implementazione dei controlli di accesso, delle regole del firewall e della sicurezza di rete sul tuo server web.
-
Rafforzamento della sicurezza: applica gli standard di rafforzamento della sicurezza della tua organizzazione al server Web, inclusi l'applicazione di patch, il monitoraggio e il rilevamento delle intrusioni.
Third-party framework di test
Distributed Load Testing on AWS raggruppa tre framework di test di terze parti: Apache JMeter, Grafana k6 e Locust. Secondo il modello di responsabilità condivisa di AWS
Per dettagli su quando viene installato ogni framework e su come viene effettuato il provisioning, vedi Testing framework provisioning. Fornitura del framework di test
Apache JMeter
La versione in bundle di Apache JMeter presenta vulnerabilità di sicurezza note che non possono essere completamente corrette esternamente senza compromettere la compatibilità con il framework di automazione dei test Taurus e l'ecosistema di plugin JMeter da cui dipende la soluzione. Prima di eseguire i test di carico, consulta gli avvisi di sicurezza di Apache JMeter e valuta se possono causare vulnerabilità di sicurezza per te.
Nota
Apache JMeter funziona anche per il tipo di test Simple HTTP Endpoint. Quando si configurano un URL, un metodo, delle intestazioni e il payload del corpo nella console web, la soluzione genera un piano di test JMeter e lo esegue con il binario JMeter in dotazione. Le considerazioni sulla sicurezza di JMeter descritte in questa sezione si applicano quindi anche ai test Simple HTTP Endpoint.
Se hai bisogno di una versione patchata di JMeter, hai due opzioni. Entrambe le opzioni richiedono un archivio di test e sono disponibili solo per il tipo di test JMeter:
-
Fornisci un binario JMeter con patch: includi un binario JMeter con patch nell'archivio di test. La soluzione utilizza il file binario al posto della versione in bundle.
-
Sostituisci i JAR dei singoli plug-in: utilizza il meccanismo di override del plug-in per sostituire i JAR dei plug-in vulnerabili specifici con versioni patchate. Per ulteriori informazioni, consulta i test di JMeter. Test JMeter
Il tipo di test Simple HTTP Endpoint non accetta un archivio di test e pertanto non può sovrascrivere il binario o i plug-in JMeter in dotazione. Se devi eseguire test sugli endpoint HTTP con un JMeter con patch, utilizza il tipo di test JMeter e fornisci uno script JMeter (.jmx) o un archivio .zip che includa i JAR binari o plug-in JMeter con patch.
Grafana k6
k6 è rilasciato sotto licenza. AGPL-3.0
Locust
Nessuna vulnerabilità di sicurezza nota è stata identificata nella versione in bundle di Locust al momento del rilascio di questa soluzione. La soluzione non monitora Locust per individuare nuove vulnerabilità su base continuativa; sei responsabile della valutazione di Locust rispetto ai tuoi requisiti di sicurezza durante tutto il suo utilizzo.