Sicherheit mit Amazon Aurora My SQL - Amazon Aurora

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 mit Amazon Aurora My SQL

Die Sicherheit für Amazon Aurora My SQL wird auf drei Ebenen verwaltet:

  • Um zu kontrollieren, wer RDS Amazon-Managementaktionen auf Aurora My SQL DB-Clustern und DB-Instances ausführen kann, verwenden Sie AWS Identity and Access Management (IAM). Wenn Sie AWS mithilfe von IAM Anmeldeinformationen eine Verbindung herstellen, muss Ihr AWS Konto über IAM Richtlinien verfügen, die die für die Durchführung von RDS Amazon-Verwaltungsvorgängen erforderlichen Berechtigungen gewähren. Weitere Informationen finden Sie unter Identitäts- und Zugriffsmanagement für Amazon Aurora

    Wenn Sie die RDS Amazon-Konsole verwendenIAM, stellen Sie sicher, dass Sie sich zuerst AWS Management Console mit Ihren IAM Benutzeranmeldeinformationen bei der anmelden. Gehen Sie dann zur RDS Amazon-Konsole unter https://console.aws.amazon.com/rds/.

  • Stellen Sie sicher, dass Sie Aurora My SQL DB-Cluster in einer virtuellen öffentlichen Cloud (VPC) erstellen, die auf dem VPC Amazon-Service basiert. Verwenden Sie eine VPC Sicherheitsgruppe, um zu steuern, welche Geräte und EC2 Amazon-Instances Verbindungen zum Endpunkt und Port der SQL DB-Instance für Aurora My DB-Cluster in einem VPC öffnen können. Sie können diese Endpunkt- und Port-Verbindungen mithilfe von Transport Layer Security (TLS) herstellen. Zusätzlich können Firewall-Regeln in Ihrem Unternehmen steuern, ob in Ihrem Unternehmen verwendete Geräte Verbindungen mit einer DB-Instance herstellen dürfen. Weitere Informationen zu finden VPCs Sie unterAmazon VPC und Amazon Aurora.

    Die unterstützte VPC Tenancy hängt von der DB-Instance-Klasse ab, die von Ihren Aurora My SQL DB-Clustern verwendet wird. Bei default VPC Tenancy VPC läuft der auf gemeinsam genutzter Hardware. Bei dedicated VPC Tenancy VPC läuft der auf einer dedizierten Hardware-Instanz. Die DB-Instance-Klassen mit hoher Leistung unterstützen nur VPC Standard-Tenancy. Die Burstable-Performance-DB-Instance-Klassen umfassen die DB-Instanzklassen db.t2, db.t3 und db.t4g. Alle anderen Aurora My SQL DB-Instance-Klassen unterstützen sowohl Standard- als auch Dedicated VPC Tenancy.

    Anmerkung

    Wir empfehlen, die T-DB-Instance-Klassen nur für Entwicklungs- und Testserver oder andere Nicht-Produktionsserver zu verwenden. Weitere Einzelheiten zu den T-Instance-Klassen finden Sie unter Verwendung von T-Instance-Klassen für Entwicklung und Tests.

    Weitere Informationen zu Instance-Klassen finden Sie unter Amazon Aurora Aurora-DB-Instance-Klassen. Weitere Informationen zu default und dedicated VPC Tenancy finden Sie unter Dedicated Instances im Amazon Elastic Compute Cloud-Benutzerhandbuch.

  • Um die Anmeldung und die Berechtigungen für einen Amazon Aurora My SQL DB-Cluster zu authentifizieren, können Sie einen der folgenden Ansätze oder eine Kombination davon wählen:

    • Sie können den gleichen Ansatz wie bei einer eigenständigen Instance von My SQL wählen.

      Befehle wie CREATE USER, RENAME USER, GRANT, REVOKE und SET PASSWORD funktionieren genau wie auf lokalen Datenbanken, so wie auch das direkte Ändern von Datenbank-Schema-Tabellen. Weitere Informationen finden Sie in der SQL Dokumentation „Meine“ unter Zugriffskontrolle und Kontoverwaltung.

    • Sie können auch die IAM Datenbankauthentifizierung verwenden.

      Bei der IAM Datenbankauthentifizierung authentifizieren Sie sich bei Ihrem DB-Cluster, indem Sie einen IAM Benutzer oder eine IAM Rolle und ein Authentifizierungstoken verwenden. Ein Authentifizierungstoken ist ein eindeutiger Wert, der mithilfe des Signatur-Version 4-Signiervorgangs erstellt wird. Mithilfe der IAM Datenbankauthentifizierung können Sie dieselben Anmeldeinformationen verwenden, um den Zugriff auf Ihre AWS Ressourcen und Datenbanken zu kontrollieren. Weitere Informationen finden Sie unter IAM-Datenbankauthentifizierung.

Anmerkung

Weitere Informationen finden Sie unter Sicherheit bei Amazon Aurora.

In den folgenden Abschnitten finden Sie Informationen zu Benutzerberechtigungen für Aurora My SQL und TLS Verbindungen mit Aurora My SQL DB-Clustern.

Master-Benutzerrechte mit Amazon Aurora My SQL

Wenn Sie eine Amazon Aurora My SQL DB-Instance erstellen, verfügt der Master-Benutzer über die unter aufgeführten StandardberechtigungenBerechtigungen von Hauptbenutzerkonten.

Um Verwaltungsservices für jeden DB-Cluster bereitzustellen, werden die admin- und rdsadmin-Benutzer erstellt, wenn der DB-Cluster erstellt wird. Ein Versuch, das Passwort auszulassen oder umzubenennen, oder Berechtigungen für das rdsadmin Konto zu ändern, führt zu einem Fehler.

In Aurora My SQL Version 2-DB-Clustern werden die rdsadmin Benutzer admin und erstellt, wenn der DB-Cluster erstellt wird. In den DB-Clustern von Aurora My SQL Version 3 werden die rds_superuser_role Benutzer adminrdsadmin, und erstellt.

Wichtig

Wir empfehlen Ihnen, den Hauptbenutzer nicht direkt in Ihren Anwendungen zu verwenden. Bleiben Sie stattdessen bei der bewährten Methode, einen Datenbankbenutzer zu verwenden, der mit den Mindestberechtigungen erstellt wurde, die für Ihre Anwendung erforderlich sind.

Für die Verwaltung des Aurora My SQL DB-Clusters wurden der Standard kill und die kill_query Befehle eingeschränkt. Verwenden Sie stattdessen die RDS Amazon-Befehle rds_kill und rds_kill_query zum Beenden von Benutzersitzungen oder Abfragen auf Aurora My SQL DB-Instances.

Anmerkung

Die Verschlüsselung einer Datenbank-Instance und von Snapshots wird für die Region China (Ningxia) nicht unterstützt.

TLSVerbindungen zu Aurora My SQL DB-Clustern

Amazon Aurora My SQL DB-Cluster unterstützen Transport Layer Security (TLS) -Verbindungen von Anwendungen, die denselben Prozess und denselben öffentlichen Schlüssel wie RDS für My SQL DB-Instances verwenden.

Amazon RDS erstellt ein TLS Zertifikat und installiert das Zertifikat auf der DB-Instance, wenn Amazon RDS die Instance bereitstellt. Diese Zertifikate werden von einer Zertifizierungsstelle signiert. Das TLS Zertifikat enthält den DB-Instance-Endpunkt als Common Name (CN) für das TLS Zertifikat zum Schutz vor Spoofing-Angriffen. Daher können Sie den DB-Cluster-Endpunkt nur verwenden, um eine Verbindung zu einem DB-Cluster herzustellen, TLS wenn Ihr Client Subject Alternative Names () SAN unterstützt. Andernfalls müssen Sie den Instance-Endpunkt einer Writer-Instance verwenden.

Informationen zum Herunterladen von Zertifikaten finden Sie unter Verwenden vonSSL/TLSzum Verschlüsseln einer Verbindung zu einer .

Wir empfehlen den AWS JDBC Treiber als Client, der SAN mit unterstütztTLS. Weitere Informationen zum AWS JDBC Treiber und vollständige Anweisungen zu seiner Verwendung finden Sie im JDBC GitHub Treiber-Repository von Amazon Web Services (AWS).

TLSVerbindung zu einem Aurora My SQL DB-Cluster erforderlich

Mithilfe des DB-Cluster-Parameters können Sie verlangen, dass alle Benutzerverbindungen zu Ihrem Aurora My SQL require_secure_transport DB-Cluster verwendet werden. TLS Standardmäßig ist der require_secure_transport-Parameter auf OFF festgelegt. Sie können den require_secure_transport Parameter so einstellen, dass er TLS für Verbindungen ON zu Ihrem DB-Cluster erforderlich ist.

Sie können den Parameterwert require_secure_transport festlegen, indem Sie die Parametergruppe für Ihren DB-Cluster aktualisieren. Sie müssen Ihren DB-Cluster nicht neu starten, damit die Änderung wirksam wird. Weitere Informationen zu Parametergruppen finden Sie unter Parametergruppen für Amazon Aurora.

Anmerkung

Der require_secure_transport Parameter ist für Aurora My SQL Version 2 und 3 verfügbar. Sie können diesen Parameter in einer benutzerdefinierten DB-Cluster-Parametergruppe festlegen. Der Parameter ist in DB-Instance-Parametergruppen nicht verfügbar.

Wenn der Parameter require_secure_transport für einen DB-Cluster auf ON festgelegt ist, kann ein Datenbankclient eine Verbindung zu ihm herstellen, wenn er eine verschlüsselte Verbindung herstellen kann. Andernfalls wird eine Fehlermeldung ähnlich der folgenden an den Client zurückgegeben:

MySQL Error 3159 (HY000): Connections using insecure transport are prohibited while --require_secure_transport=ON.

TLSVersionen für Aurora My SQL

Aurora My SQL unterstützt die Transport Layer Security (TLS) -Versionen 1.0, 1.1, 1.2 und 1.3. Ab Aurora My SQL Version 3.04.0 und höher können Sie das TLS 1.3-Protokoll verwenden, um Ihre Verbindungen zu sichern. Die folgende Tabelle zeigt die TLS Unterstützung für Aurora SQL My-Versionen.

Aurora Meine SQL Version TLS 1.0 TLS1.1 TLS1.2 TLS1.3 Standard

Aurora Meine SQL Version 2

Unterstützt Unterstützt

Unterstützt

Nicht unterstützt Alle unterstützten TLS Versionen

Aurora Meine SQL Version 3 (unter 3.04.0)

Unterstützt Unterstützt Unterstützt Nicht unterstützt Alle unterstützten Versionen TLS

Aurora My SQL Version 3 (3.04.0 und höher)

Nicht unterstützt Nicht unterstützt Unterstützt Unterstützt Alle unterstützten Versionen TLS
Wichtig

Wenn Sie benutzerdefinierte Parametergruppen für Ihre Aurora My SQL Cluster mit Version 2 und Versionen unter 3.04.0 verwenden, empfehlen wir die Verwendung von TLS 1.2, da TLS 1.0 und 1.1 weniger sicher sind. Die Community-Edition von My SQL 8.0.26 und Aurora My SQL 3.03 sowie deren Nebenversionen haben die Unterstützung für TLS die Versionen 1.1 und 1.0 eingestellt.

Die Community-Edition von My SQL 8.0.28 und die kompatiblen Aurora SQL My-Versionen 3.04.0 und höher unterstützen TLS 1.1 und 1.0 nicht. TLS Wenn Sie Aurora My SQL Versionen 3.04.0 und höher verwenden, setzen Sie das TLS Protokoll in Ihrer benutzerdefinierten Parametergruppe nicht auf 1.0 und 1.1.

Für Aurora SQL My-Versionen 3.04.0 und höher ist die Standardeinstellung TLS 1.3 und TLS 1.2.

Sie können den DB-Cluster-Parameter tls_version zur Angabe der zulässigen Protokollversionen verwenden. Vergleichbare Clientparameter sind für die meisten Client-Tools oder Datenbanktreiber verfügbar. Einige ältere Clients unterstützen möglicherweise keine neueren TLS Versionen. Standardmäßig versucht der DB-Cluster, die höchste TLS Protokollversion zu verwenden, die sowohl in der Server- als auch in der Client-Konfiguration zulässig ist.

Legen Sie den tls_version-DB-Cluster-Parameter auf einen der folgenden Werte fest:

  • TLSv1.3

  • TLSv1.2

  • TLSv1.1

  • TLSv1

Sie können auch den Parameter tls_version auch als Zeichenfolge einer durch Kommas getrennten Liste einstellen. Wenn Sie sowohl das TLS 1.2- als auch das TLS 1.0-Protokoll verwenden möchten, muss der tls_version Parameter alle Protokolle vom niedrigsten bis zum höchsten Protokoll enthalten. In diesem Fall ist tls_version eingestellt als:

tls_version=TLSv1,TLSv1.1,TLSv1.2

Weitere Informationen zum Ändern von Parametern in einer DB-Cluster-Parametergruppe finden Sie unter Ändern von Parametern in einer DB-Cluster-Parametergruppe in Amazon Aurora. Wenn Sie AWS CLI den tls_version DB-Cluster-Parameter ändern, ApplyMethod muss der auf gesetzt seinpending-reboot. Wenn die Anwendungsmethode pending-reboot ist, werden Änderungen an Parametern angewendet, nachdem Sie die der Parametergruppe zugeordneten DB-Cluster gestoppt und neu gestartet haben.

Konfiguration von Cipher Suites für Verbindungen zu Aurora My SQL DB-Clustern

Durch die Verwendung von konfigurierbaren Chiffrier-Suiten können Sie mehr Kontrolle über die Sicherheit Ihrer Datenbankverbindungen haben. Sie können eine Liste von Cipher Suites angeben, denen Sie die Sicherung von TLS Client-Verbindungen zu Ihrer Datenbank ermöglichen möchten. Mit konfigurierbaren Chiffrier-Suiten können Sie die Verbindungsverschlüsselung steuern, die Ihr Datenbankserver akzeptiert. Dadurch wird verhindert, dass unsichere oder veraltete Chiffren verwendet werden.

Konfigurierbare Cipher Suites werden in Aurora My SQL Version 3 und Aurora My SQL Version 2 unterstützt. Um die Liste der zulässigen TLS 1.2-, TLS 1.1-, TLS 1.0-Chiffren für die Verschlüsselung von Verbindungen anzugeben, ändern Sie den Cluster-Parameter. ssl_cipher Stellen Sie den ssl_cipher Parameter in einer Cluster-Parametergruppe mit dem AWS Management Console, dem oder dem AWS CLI ein. RDS API

Setzen Sie den ssl_cipher Parameter auf eine Zeichenfolge mit kommagetrennten Chiffrierwerten für Ihre Version. TLS Für die Clientanwendung können Sie die Chiffren angeben, die für verschlüsselte Verbindungen verwendet werden sollen, indem Sie beim Herstellen der Verbindung mit einer Datenbank die Option --ssl-cipher verwenden. Weitere Information zur Herstellung einer Verbindung mit Ihrer Datenbank finden Sie unter Verbindung zu einem Amazon Aurora My SQL DB-Cluster herstellen.

Ab Aurora My SQL Version 3.04.0 und höher können Sie TLS 1.3 Cipher Suites angeben. Um die zulässigen TLS 1.3-Verschlüsselungssammlungen anzugeben, ändern Sie den tls_ciphersuites Parameter in Ihrer Parametergruppe. TLS1.3 hat die Anzahl der verfügbaren Cipher Suites aufgrund von Änderungen in der Namenskonvention reduziert, wodurch der Schlüsselaustauschmechanismus und das verwendete Zertifikat wegfallen. Stellen Sie tls_ciphersuites für 1.3 auf eine Zeichenfolge mit kommagetrennten Verschlüsselungswerten ein. TLS

Die folgende Tabelle zeigt die unterstützten Chiffren zusammen mit dem TLS Verschlüsselungsprotokoll und den gültigen Versionen der Aurora My SQL Engine für jede Verschlüsselung.

Verschlüsselungsverfahren Verschlüsselungsprotokoll Unterstützte Aurora SQL My-Versionen

DHE-RSA-AES128-SHA

TLS 1.0 Alles unter 3.04.0 für Aurora My SQL Version 3

DHE-RSA-AES128-SHA256

TLS1.2 Alles unter 3.04.0 für Aurora My SQL Version 3

DHE-RSA-AES128-GCM-SHA256

TLS1.2 Alles unter 3.04.0 für Aurora My SQL Version 3

DHE-RSA-AES256-SHA

TLS 1.0 Alles unter 3.04.0 für Aurora My SQL Version 3

DHE-RSA-AES256-SHA256

TLS1.2 Alles unter 3.04.0 für Aurora My SQL Version 3

DHE-RSA-AES256-GCM-SHA384

TLS1.2 Alles unter 3.04.0 für Aurora My SQL Version 3

ECDHE-RSA-AES128-SHA

TLS 1.0 3.01.0 und höher, 2.11.0 und höher

ECDHE-RSA-AES128-SHA256

TLS1.2 3.01.0 und höher, 2.11.0 und höher

ECDHE-RSA-AES128-GCM-SHA256

TLS1.2 3.01.0 und höher, 2.11.0 und höher

ECDHE-RSA-AES256-SHA

TLS 1.0 3.01.0 und höher, 2.11.0 und höher

ECDHE-RSA-AES256-SHA384

TLS1.2 Alles unter 3.04.0 für Aurora My SQL Version 3, 2.11.0 und höher

ECDHE-RSA-AES256-GCM-SHA384

TLS1.2 3.01.0 und höher, 2.11.0 und höher

ECDHE-ECDSA-AES128-GCM-SHA256

TLS1.2 3.01.0 und höher, 2.11.0 und höher

ECDHE-ECDSA-AES256-GCM-SHA384

TLS1.2 3.01.0 und höher, 2.11.0 und höher

ECDHE-ECDSA-CHACHA20-POLY1305

TLS1.2 3.04.0 und höher, 2.11.0 und höher

TLS_AES_128_GCM_SHA256

TLS1.3 3.04.0 und höher

TLS_AES_256_GCM_SHA384

TLS1.3 3.04.0 und höher

TLS_CHACHA20_POLY1305_SHA256

TLS1.3 3.04.0 und höher
Wichtig

DHE-RSAChiffren werden von Aurora SQL My-Versionen ab 2.11.0 in Aurora My SQL 2 und ab 3.04.0 in Aurora My 3 nicht unterstützt. SQL

Weitere Informationen zum Ändern von Parametern in einer DB-Cluster-Parametergruppe finden Sie unter Ändern von Parametern in einer DB-Cluster-Parametergruppe in Amazon Aurora. Wenn Sie den ssl_cipher DB-Cluster-Parameter ändernCLI, stellen Sie sicher, dass Sie den Wert auf setzen. ApplyMethod pending-reboot Wenn die Anwendungsmethode pending-reboot ist, werden Änderungen an Parametern angewendet, nachdem Sie die der Parametergruppe zugeordneten DB-Cluster gestoppt und neu gestartet haben.

Sie können auch den CLI Befehl describe-engine-default-cluster-parameters verwenden, um zu ermitteln, welche Cipher Suites derzeit für eine bestimmte Parametergruppenfamilie unterstützt werden. Das folgende Beispiel zeigt, wie die zulässigen Werte für den ssl_cipher Cluster-Parameter für Aurora My SQL Version 2 abgerufen werden.

aws rds describe-engine-default-cluster-parameters --db-parameter-group-family aurora-mysql5.7 ...some output truncated... { "ParameterName": "ssl_cipher", "ParameterValue": "DHE-RSA-AES128-SHA,DHE-RSA-AES128-SHA256,DHE-RSA-AES128-GCM-SHA256,DHE-RSA-AES256-SHA,DHE-RSA-AES256-SHA256,DHE-RSA-AES256-GCM-SHA384,ECDHE-RSA-AES128-SHA,ECDHE-RSA-AES128-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-RSA-AES256-SHA,ECDHE-RSA-AES256-SHA384,ECDHE-RSA-AES256-GCM-SHA384", "Description": "The list of permissible ciphers for connection encryption.", "Source": "system", "ApplyType": "static", "DataType": "list", "AllowedValues": "DHE-RSA-AES128-SHA,DHE-RSA-AES128-SHA256,DHE-RSA-AES128-GCM-SHA256,DHE-RSA-AES256-SHA,DHE-RSA-AES256-SHA256,DHE-RSA-AES256-GCM-SHA384,ECDHE-RSA-AES128-SHA,ECDHE-RSA-AES128-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-RSA-AES256-SHA,ECDHE-RSA-AES256-SHA384,ECDHE-RSA-AES256-GCM-SHA384", "IsModifiable": true, "SupportedEngineModes": [ "provisioned" ] }, ...some output truncated...

Weitere Informationen zu Chiffren finden Sie in der Dokumentation zu My unter der Variablen ssl_cipher. SQL Weitere Informationen zu den Formaten der Cipher Suite finden Sie in den Dokumentationen openssl-ciphers list format und openssl-ciphers string format auf der Open-Website. SSL

Verbindungen zu einem Aurora My SQL DB-Cluster verschlüsseln

Um die vom Standard-mysql-Client verwendeten Verbindungen zu verschlüsseln, starten Sie den mysql-Client mithilfe des Parameters --ssl-ca, um auf den öffentlichen Schlüssel zu verweisen, beispielsweise:

Für My SQL 5.7 und 8.0:

mysql -h myinstance.123456789012.rds-us-east-1.amazonaws.com --ssl-ca=full_path_to_CA_certificate --ssl-mode=VERIFY_IDENTITY

Für My SQL 5.6:

mysql -h myinstance.123456789012.rds-us-east-1.amazonaws.com --ssl-ca=full_path_to_CA_certificate --ssl-verify-server-cert

Ersetzen full_path_to_CA_certificate mit dem vollständigen Pfad zu Ihrem Zertifikat der Zertifizierungsstelle (CA). Informationen zum Herunterladen von Zertifikaten finden Sie unter Verwenden vonSSL/TLSzum Verschlüsseln einer Verbindung zu einer .

Sie können TLS Verbindungen für bestimmte Benutzerkonten verlangen. Sie können beispielsweise, je nach Ihrer Version von Meine SQL Version, eine der folgenden Anweisungen verwenden, um TLS Verbindungen für das Benutzerkonto erforderlich zu machenencrypted_user.

Für My SQL 5.7 und 8.0:

ALTER USER 'encrypted_user'@'%' REQUIRE SSL;

Für My SQL 5.6:

GRANT USAGE ON *.* TO 'encrypted_user'@'%' REQUIRE SSL;

Wenn Sie einen RDS Proxy verwenden, stellen Sie eine Verbindung zum Proxy-Endpunkt statt zum üblichen Cluster-Endpunkt her. Sie könnenSSL/für Verbindungen zum Proxy auf die gleiche Weise wie für direkte Verbindungen zum Aurora-DB-Cluster als TLS erforderlich oder optional festlegen. Hinweise zur Verwendung von RDS Proxy finden Sie unterAmazon RDS Proxy für Aurora verwenden.

Anmerkung

Weitere Informationen zu TLS Verbindungen mit My SQL finden Sie in der SQLDokumentation zu My.