Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Sicherheit
Wenn Sie Systeme auf der AWS-Infrastruktur aufbauen, werden die Sicherheitsaufgaben zwischen Ihnen und AWS aufgeteilt. Dieses Modell der geteilten Verantwortung
IAM-Rollen
AWS Identity and Access Management (IAM) -Rollen ermöglichen es Kunden, Services und Benutzern in der AWS-Cloud detaillierte Zugriffsrichtlinien und -berechtigungen zuzuweisen. Diese Lösung erstellt IAM-Rollen, die den AWS Lambda Lambda-Funktionen der Lösung Zugriff gewähren, um regionale Ressourcen zu erstellen.
Amazon CloudFront
Diese Lösung stellt eine Web-UI bereit, die in einem Amazon S3 S3-Bucket gehostet wird, der von Amazon CloudFront vertrieben wird. Um die Latenz zu reduzieren und die Sicherheit zu verbessern, umfasst diese Lösung eine CloudFront Distribution mit einer Ursprungszugriffsidentität. Dabei handelt es sich um einen CloudFront Benutzer, der öffentlichen Zugriff auf die Bucket-Inhalte der Lösungswebsite gewährt. Standardmäßig verwendet die CloudFront Distribution TLS 1.2, um die höchste Sicherheitsstufe durchzusetzen. Weitere Informationen finden Sie unter Beschränken des Zugriffs auf einen Amazon S3 S3-Ursprung im Amazon CloudFront Developer Guide.
CloudFront aktiviert zusätzliche Sicherheitsmaßnahmen, um HTTP-Sicherheitsheader an jede Zuschauerantwort anzuhängen. Weitere Informationen finden Sie unter Hinzufügen oder Entfernen von HTTP-Headern in Antworten. CloudFront
Diese Lösung verwendet das CloudFront Standardzertifikat, für das mindestens das Sicherheitsprotokoll TLS v1.0 unterstützt wird. Um die Verwendung von TLS v1.2 oder TLS v1.3 zu erzwingen, müssen Sie ein benutzerdefiniertes SSL-Zertifikat anstelle des Standardzertifikats verwenden. CloudFront Weitere Informationen finden Sie unter Wie konfiguriere ich meine CloudFront Distribution für die Verwendung eines SSL/TLS Zertifikats
Amazon API Gateway
Diese Lösung stellt Edge-optimierte Amazon API Gateway Gateway-Endpunkte bereit, um RESTful-APIs für die Lasttestfunktion bereitzustellen. Dabei wird der standardmäßige API-Gateway-Endpunkt anstelle einer benutzerdefinierten Domain verwendet. Für Edge-optimierte APIs, die den Standardendpunkt verwenden, verwendet API Gateway die TLS-1-0 Sicherheitsrichtlinie. Weitere Informationen finden Sie unter Arbeiten mit REST-APIs im Amazon API Gateway Developer Guide.
Diese Lösung verwendet das Standard-API-Gateway-Zertifikat, für das mindestens das Sicherheitsprotokoll TLS v1.0 unterstützt wird. Um die Verwendung von TLS v1.2 oder TLS v1.3 zu erzwingen, müssen Sie anstelle des standardmäßigen API-Gateway-Zertifikats eine benutzerdefinierte Domain mit einem benutzerdefinierten SSL-Zertifikat verwenden. Weitere Informationen finden Sie unter Benutzerdefinierte Domainnamen für REST-APIs einrichten.
AWS Fargate-Sicherheitsgruppe
Standardmäßig öffnet diese Lösung die ausgehende Regel der AWS Fargate-Sicherheitsgruppe für die Öffentlichkeit. Wenn Sie verhindern möchten, dass AWS Fargate überall Datenverkehr sendet, ändern Sie die ausgehende Regel in eine bestimmte Classless Inter-Domain Routing (CIDR) -Regel.
Diese Sicherheitsgruppe umfasst auch eine Regel für eingehenden Datenverkehr, die lokalen Datenverkehr auf Port 50.000 zu jeder Quelle zulässt, die zu derselben Sicherheitsgruppe gehört. Dies wird verwendet, damit die Container miteinander kommunizieren können.
Amazon VPC
VPC: Eine virtuelle private Cloud (VPC), die auf dem Amazon VPC-Service basiert, bietet Ihnen ein privates, logisch isoliertes Netzwerk in der AWS-Cloud.
Sie können während der Bereitstellung Ihre eigene VPC in CloudFormation AWS-Parametern angeben. Die VPC wird ausschließlich von den ECS-Aufgaben verwendet, die Last erzeugen. Die Webkonsole und die API werden nicht in dieser VPC bereitgestellt. Wenn Sie keine vorhandene VPC angeben, erstellt die Lösung eine neue VPC mit der erforderlichen Netzwerkkonfiguration. Wenn Sie sich für die Verwendung einer vorhandenen VPC entscheiden, muss diese die folgenden Anforderungen erfüllen, um Lasttestaufgaben erfolgreich ausführen zu können.
VPC-Anforderungen
Die Mindestanforderungen für eine VPC zur Verwendung mit Distributed Load Testing auf AWS sind unten aufgeführt.
-
Die VPC muss mindestens zwei AZs enthalten
-
Die VPC muss mindestens zwei Subnetze enthalten, jedes in einer separaten AZ
-
VPC-Subnetze können entweder öffentlich oder privat sein, sie müssen jedoch dieselbe Konfiguration verwenden (beide öffentlich ODER beide privat)
-
Die VPC muss Zugriff auf Endpunkte für ECR, CloudWatch Logs, S3 und IoT Core bieten.
-
Die VPC muss Zugriff auf die Dienste gewähren, auf die Lasttests abzielen.
Anmerkung
Wenn Sie keine VPC haben, die diese Kriterien erfüllt, können Sie mit dem VPC-Assistenten schnell eine VPC erstellen. Weitere Informationen finden Sie unter Erstellen einer VPC.
Öffentliche Subnetze können diese Anforderungen erfüllen, indem sie Folgendes beinhalten:
-
Ein an die VPC angeschlossenes Internet-Gateway
-
Eine Route zum Internet-Gateway (0.0.0. 0/0)
Private Subnetze können diese Anforderungen durch die Verwendung von NAT-Gateways oder VPC-Endpunkten erfüllen, wie unten beschrieben.
Option 1: NAT-Gateway
-
Stellen Sie in jeder AZ mit privaten Subnetzen ein NAT-Gateway bereit
-
Konfigurieren Sie Routentabellen für die Weiterleitung von internetgebundenem Datenverkehr (0.0.0. 0/0) über das NAT-Gateway
Option 2: VPC-Endpunkte
Erstellen Sie die folgenden VPC-Endpoints in Ihrer VPC:
-
Amazon ECR API-Endpunkt:
com.amazonaws.<region>.ecr.api -
Amazon ECR DKR-Endpunkt:
com.amazonaws.<region>.ecr.dkr -
Amazon CloudWatch Logs-Endpunkt:
com.amazonaws.<region>.logs -
Amazon S3 Gateway-Endpunkt:
com.amazonaws.<region>.s3 -
AWS IoT Core Core-Endpunkt (erforderlich, wenn Sie die Live-Datendiagramme verwenden)
com.amazonaws.<region>.iot.data
Andere VPC-Konfigurationen funktionieren möglicherweise ebenfalls.
Wichtig
Die an jede VPC-Endpunktschnittstelle angefügte Sicherheitsgruppe muss eingehenden TCP-Verkehr auf Port 443 von der ECS-Aufgabensicherheitsgruppe zulassen.
Konfiguration der Sicherheitsgruppe
Während der Bereitstellung erstellt die Lösung eine Sicherheitsgruppe innerhalb Ihrer VPC, um den folgenden Datenverkehr mit Aufgaben im ECS-Cluster zuzulassen:
-
Der gesamte ausgehende Verkehr
-
Eingehender Datenverkehr auf Port 50000 von anderen Aufgaben in derselben Sicherheitsgruppe, um die Koordination zwischen den Aufgaben des Mitarbeiters und des Leiters zu erleichtern.
Netzwerk-Stresstest
Sie sind dafür verantwortlich, diese Lösung gemäß der Amazon EC2-Testrichtlinie
Beschränken Sie den Zugriff auf die öffentliche Benutzerschnittstelle
Der Ansatz zur Beschränkung des Zugriffs auf die Webkonsole hängt von der ausgewählten Bereitstellungsoption ab.
Standardbereitstellung (CloudFront + S3) — Um den Zugriff auf die öffentlich zugängliche Benutzeroberfläche über die von IAM und Amazon Cognito bereitgestellten Authentifizierungs- und Autorisierungsmechanismen hinaus einzuschränken, können Sie der Distribution eine AWS WAF WAF-Web-ACL zuordnen. CloudFront Erwägen Sie die Nutzung der AWS WAF Security Automations-Lösung
Bereitstellung von ALB + ECS Fargate — Die Lösung stellt automatisch eine AWS WAF WAF-Web-ACL vor der ALB mit verwalteten Regeln bereit, die grundlegenden Schutz vor gängigen webbasierten Angriffen bieten. Sie können die WAF-Regeln an Ihre spezifischen Sicherheitsanforderungen anpassen, einschließlich des Hinzufügens von IP-based Zulassungs- oder Sperrlisten, geografischen Einschränkungen, Ratenbegrenzungen oder zusätzlichen von AWS verwalteten Regelgruppen. Anweisungen zum Ändern der WAF-Konfiguration finden Sie im Abschnitt zur WAF-Integration in den Bereitstellungsanweisungen.
MCP-Serversicherheit (optional)
Wenn Sie die optionale MCP-Serverintegration einsetzen, verwendet die Lösung Amazon Bedrock AgentCore Gateway, um KI-Agenten einen sicheren Zugriff auf Lasttestdaten zu ermöglichen. AgentCore Gateway validiert Amazon Cognito Cognito-Authentifizierungstoken für jede Anfrage und stellt so sicher, dass nur autorisierte Benutzer auf den MCP-Server zugreifen können. Die Lambda-Funktion des MCP Servers implementiert Nur-Lese-Zugriffsmuster und verhindert so, dass KI-Agenten Testkonfigurationen oder -ergebnisse ändern. Alle MCP-Serverinteraktionen verwenden dieselben Berechtigungsgrenzen und Zugriffskontrollen wie die Webkonsole.
Sicherheit für gehostete Webkonsolen mit ALB + ECS Fargate (optional)
Wenn Sie sich für die Bereitstellungsoption ALB + ECS Fargate entscheiden, gelten die folgenden Sicherheitsüberlegungen:
-
Kompatibilität mit VPC Block Public Access — Die Option ALB + ECS Fargate wurde für Umgebungen entwickelt, in denen VPC Block Public Access (BPA) -Richtlinien den Datenverkehr von öffentlichen Distributionen blockieren. CloudFront Der ALB kann als interner Load Balancer in Ihrer VPC eingesetzt werden, auf den nur über Ihr Unternehmensnetzwerk, VPN oder AWS PrivateLink zugegriffen werden kann, sodass keine Anforderungen an die Gefährdung durch das öffentliche Internet erfüllt werden.
-
ACM-Zertifikatsverwaltung — Die ALB verwendet ein ACM-Zertifikat für die HTTPS-Terminierung. Sie sind dafür verantwortlich, dass das Zertifikat gültig bleibt und vor Ablauf erneuert wird. ACM erneuert automatisch die von ihm verwalteten Zertifikate, importierte Zertifikate müssen jedoch manuell erneuert werden. Weitere Informationen finden Sie unter Verwaltete Zertifikatserneuerung im AWS Certificate Manager Manager-Benutzerhandbuch.
-
AWS-WAF-Schutz — WAF wird standardmäßig mit der ALB + ECS Fargate-Vorlage bereitgestellt. Einzelheiten finden Sie unter Beschränken des Zugriffs auf die öffentliche Benutzeroberfläche.
Kopflose Sicherheit (bringen Sie Ihren eigenen Webserver mit) (optional)
Wenn Sie sich für die Headless-Bereitstellungsoption entscheiden und die Webkonsole auf Ihrem eigenen Webserver hosten, sind Sie für die folgenden Sicherheitsaspekte verantwortlich:
-
HTTPS-Konfiguration — Wir empfehlen dringend, HTTPS auf Ihrem Webserver zu konfigurieren.
-
Zugriffskontrollen — Sie sind für die Implementierung von Zugriffskontrollen, Firewallregeln und Netzwerksicherheit auf Ihrem Webserver verantwortlich.
-
Sicherheitshärtung — Wenden Sie die Sicherheitsstandards Ihres Unternehmens auf den Webserver an, einschließlich Patching, Überwachung und Erkennung von Eindringlingen.
Third-party Test-Frameworks
Distributed Load Testing auf AWS bündelt drei Test-Frameworks von Drittanbietern — Apache JMeter, Grafana K6 und Locust. Im Rahmen des AWS-Modells der gemeinsamen Verantwortung
Apache JMeter
Die gebündelte Version von Apache JMeter weist bekannte Sicherheitslücken auf, die extern nicht vollständig gepatcht werden können, ohne die Kompatibilität mit dem Taurus-Testautomatisierungs-Framework und dem JMeter-Plugin-Ökosystem, von dem die Lösung abhängt, zu beeinträchtigen. Bevor Sie Lasttests durchführen, lesen Sie die Sicherheitsempfehlungen von Apache JMeter und prüfen Sie, ob sie Sicherheitslücken
Anmerkung
Apache JMeter läuft auch unter der Haube für den Testtyp Single HTTP Endpoint. Wenn Sie eine URL, Methode, Header und Body-Payload in der Webkonsole konfigurieren, generiert die Lösung einen JMeter-Testplan und führt ihn mit der mitgelieferten JMeter-Binärdatei aus. Die in diesem Abschnitt beschriebenen Sicherheitsüberlegungen für JMeter gelten daher auch für Single-HTTP-Endpoint-Tests.
Wenn Sie eine gepatchte Version von JMeter benötigen, haben Sie zwei Möglichkeiten. Beide Optionen erfordern ein Testarchiv und sind nur für den JMeter-Testtyp verfügbar:
-
Stellen Sie eine gepatchte JMeter-Binärdatei bereit — Fügen Sie eine gepatchte JMeter-Binärdatei in Ihr Testarchiv ein. Die Lösung verwendet Ihre Binärdatei anstelle der gebündelten Version.
-
Einzelne Plugin-JARs überschreiben — Verwenden Sie den Plugin-Override-Mechanismus, um bestimmte anfällige Plugin-JARs durch gepatchte Versionen zu ersetzen. Weitere Informationen finden Sie unter JMeter-Tests.
Der Testtyp Single HTTP Endpoint akzeptiert kein Testarchiv und kann daher die mitgelieferte JMeter-Binärdatei oder -Plugins nicht überschreiben. Wenn Sie HTTP-Endpunkttests mit einem gepatchten JMeter ausführen müssen, verwenden Sie den JMeter-Testtyp und stellen Sie ein JMeter-Skript (.jmx) oder ein .zip-Archiv bereit, das Ihre gepatchten JMeter-Binärdateien oder Plugin-JARs enthält.
Grafana K-6
K6 wird unter der Lizenz veröffentlicht. AGPL-3.0
Heuschrecke
Zum Zeitpunkt der Veröffentlichung dieser Lösung wurden in der gebündelten Version von Locust keine bekannten Sicherheitslücken festgestellt. Die Lösung überwacht Locust nicht kontinuierlich auf neue Sicherheitslücken. Sie sind dafür verantwortlich, Locust während der gesamten Nutzung anhand Ihrer Sicherheitsanforderungen zu bewerten.