Konfigurieren von Sicherheitsoptionen für Verbindungen - Amazon Redshift

Konfigurieren von Sicherheitsoptionen für Verbindungen

Amazon Redshift unterstützt Secure Sockets Layer (SSL)-Verbindungen, um Daten und Serverzertifikate zu verschlüsseln, um das Zertifikat des Servers zu validieren, mit dem der Client die Verbindung herstellt.

Verbindung über SSL

Um SSL-Verbindungen zu unterstützen, erstellt und installiert Amazon Redshift auf jedem Cluster ein von AWS Certificate Manager (ACM) ausgegebenes SSL-Zertifikat. ACM-Zertifikaten wird von den meisten Betriebssystemen, Webbrowsern und Clients öffentlich vertraut. Sie müssen unter Umständen ein Zertifikatspaket herunterladen, wenn Ihre SQL-Clients oder -Anwendungen eine SSL-Verbindung zu Amazon Redshift herstellen und die Verbindungsoption sslmode auf require, verify-ca oder verify-full festgelegt ist. Wenn Ihr Kunde ein Zertifikat benötigt, stellt Amazon Redshift wie folgt ein Zertifikatspaket zur Verfügung:

  • Laden Sie das Paket herunter von https://s3.amazonaws.com/redshift-downloads/amazon-trust-ca-bundle.crt.

    • Die erwartete MD5-Prüfsummennummer ist 418dea9b6d5d5de7a8f1ac42e164cdcf.

    • Die sha256-Prüfsummennummer ist 36dba8e4b8041cd14b9d60158893963301bcbb92e1c456847784de2acb5bd550.

    Verwenden Sie nicht das vorherige Zertifikatpaket, das auf https://s3.amazonaws.com/redshift-downloads/redshift-ca-bundle.crt zu finden ist.

  • Laden Sie in der AWS-Region-Region China das Paket herunter von https://s3.cn-north-1.amazonaws.com.cn/redshift-downloads-cn/amazon-trust-ca-bundle.crt.

    • Die erwartete MD5-Prüfsummennummer ist 418dea9b6d5d5de7a8f1ac42e164cdcf.

    • Die sha256-Prüfsummennummer ist 36dba8e4b8041cd14b9d60158893963301bcbb92e1c456847784de2acb5bd550.

    Verwenden Sie nicht vorherige Zertifikatpakete, die auf https://s3.cn-north-1.amazonaws.com.cn/redshift-downloads-cn/redshift-ca-bundle.crt und https://s3.cn-north-1.amazonaws.com.cn/redshift-downloads-cn/redshift-ssl-ca-cert.pem zu finden sind.

Wichtig

Amazon Redshift hat die Verwaltung von SSL-Zertifikaten verändert. Sie müssen möglicherweise Ihre aktuellen vertrauenswürdigen CA-Stammzertifikate aktualisieren, um weiterhin mit SSL Verbindungen zu Ihren Clustern herstellen zu können. Weitere Informationen finden Sie unter Umstellung auf ACM-Zertifikate für SSL-Verbindungen.

Standardmäßig akzeptieren Cluster-Datenbanken eine Verbindung unabhängig davon, ob es sich um eine SSL-Verbindung handelt oder nicht. Um Ihren Cluster so zu konfigurieren, dass er eine SSL-Verbindung erfordert, legen Sie den Parameter require_SSL in der Parametergruppe, die mit dem Cluster verknüpft ist, auf true fest.

Amazon Redshift unterstützt ein mit Federal Information Processing Standard (FIPS) 140-2 kompatibles SSL-Modus. Der FIPS-kompatible SSL-Modus ist standardmäßig deaktiviert.

Wichtig

Aktivieren Sie den FIPS-konformen SSL-Modus nur, wenn Ihr System FIPS-konform sein muss.

Wenn Sie den FIPS-kompatiblen SSL-Modus aktivieren möchten, legen Sie in der dem Cluster zugeordneten Parametergruppe für die Parameter use_fips_ssl und require_SSL den Wert true fest. Weitere Informationen zum Ändern von Parametergruppen finden Sie unter Amazon-Redshift-Parametergruppen.

Amazon Redshift unterstützt das Elliptic Curve Diffie–Hellman Ephemeral (ECDHE) Key Agreement-Protokoll. Mit ECDHE besitzen sowohl der Client als auch der Server ein öffentlich-privates Elliptic Curve-Schlüsselpaar, das verwendet wird, um ein gemeinsames Geheimnis über einen nicht sicheren Kanal einzurichten. Sie müssen nichts in Amazon Redshift konfigurieren, um ECDHE zu aktivieren. Wenn Sie sich von einem SQL-Client-Tool aus verbinden, das ECDHE verwendet, um die Kommunikation zwischen dem Client und dem Server zu verschlüsseln, verwendet Amazon Redshift die angegebene Verschlüsselungsliste, um die entsprechende Verbindung herzustellen. Weitere Informationen finden Sie unter Diffie-Hellman-Schlüsselaustausch auf Wikipedia und Ciphers (Verschlüsselungsverfahren) auf der OpenSSL-Website.

Verwenden von SSL- und Trust CA-Zertifikaten in ODBC

Wenn Sie Verbindungen mithilfe der aktuellen Amazon Redshift-ODBC-Treiber (Version 1.3.7.1000 oder neuer) herstellen, können Sie diesen Abschnitt überspringen. Die neuesten Treiber finden Sie unter Konfigurierung einer ODBC-Verbindung.

Sie müssen möglicherweise Ihre aktuellen vertrauenswürdigen CA-Stammzertifikate aktualisieren, um weiterhin mit SSL Verbindungen zu Ihren Clustern herstellen zu können. Weitere Informationen finden Sie unter Verbindung über SSL.

Sie können überprüfen, ob das heruntergeladene Zertifikat mit der erwarteten MD5-Prüfsummenzahl übereinstimmt. Um dies zu tun, können Sie das MD5sum-Programm unter Linux oder ein anderes Tool unter Windows- und macOS X-Betriebssystemen verwenden.

ODBC DSNs enthalten eine sslmode-Einstellung, die festlegt, wie die Verschlüsselung für die Verifizierung von Clientverbindungen und Serverzertifikaten verarbeitet wird. Amazon Redshift unterstützt die folgenden sslmode-Werte aus der Clientverbindung:

  • disable

    SSL ist deaktiviert und die Verbindung ist nicht verschlüsselt.

  • allow

    SSL wird verwendet, wenn der Server es fordert.

  • prefer

    SSL wird verwendet, wenn der Server es unterstützt. Amazon Redshift unterstützt SSL. Daher wird SSL verwendet, wenn Siesslmode auf prefer festlegen.

  • require

    SSL ist erforderlich.

  • verify-ca

    SSL muss verwendet werden und das Serverzertifikat muss bestätigt werden.

  • verify-full

    SSL muss verwendet werden. Das Serverzertifikat muss bestätigt werden und der Server-Hostname muss mit dem Hostnamen-Attribut auf dem Zertifikat übereinstimmen.

Sie können festlegen, ob SSL verwendet wird und Serverzertifikate in einer Verbindung zwischen Client und Server verifiziert werden. Dazu müssen Sie die sslmode-Einstellung für Ihren ODBC-DSN auf dem Client und die require_SSL-Einstellung für den Amazon-Redshift-Cluster auf dem Server überprüfen. In der folgenden Tabelle wird das Verschlüsselungsergebnis für die verschiedenen Kombinationen von Client- und Servereinstellungen beschrieben:

sslmode (Client) require_SSL (Server) Ergebnis
disable false Die Verbindung ist nicht verschlüsselt.
disable true Die Verbindung kann nicht hergestellt werden, da der Server SSL erfordert und auf dem Client SSL für die Verbindung deaktiviert ist.
allow true Die Verbindung ist verschlüsselt.
allow false Die Verbindung ist nicht verschlüsselt.
prefer oder require true Die Verbindung ist verschlüsselt.
prefer oder require false Die Verbindung ist verschlüsselt.
verify-ca true Die Verbindung ist verschlüsselt und das Serverzertifikat ist bestätigt.
verify-ca false Die Verbindung ist verschlüsselt und das Serverzertifikat ist bestätigt.
verify-full true Die Verbindung ist verschlüsselt und das Serverzertifikat und der Host-Name sind bestätigt.
verify-full false Die Verbindung ist verschlüsselt und das Serverzertifikat und der Host-Name sind bestätigt.

Verbindung unter Verwendung des Serverzertifikats mit ODBC in Microsoft Windows

Wenn Sie mithilfe von SSL und dem Serverzertifikat eine Verbindung mit dem Cluster herstellen möchten, laden Sie das Zertifikat zuerst auf den Clientcomputer oder die Amazon-EC2-Instance herunter. Konfigurieren Sie dann den ODBC-DSN.

  1. Laden Sie das Amazon-Redshift-Zertifizierungsstellen-Bundle auf Ihren Client-Computer in den Ordner lib in Ihrem Verzeichnis für die Treiberinstallation herunter und speichern Sie die Datei als root.crt. Informationen zum Download finden Sie unter Verbindung über SSL.

  2. Öffnen Sie ODBC Data Source Administrator (OBDC-Datenquellenadministrator) und fügen Sie den DSN-Eintrag des Systems für Ihre ODBC-Verbindung hinzu oder bearbeiten Sie diesen. Wählen Sie für SSL Mode (SSL-Modus) die Option verify-full aus, wenn Sie kein DNS-Alias verwenden. Wählen Sie aus, wenn Sie ein DNS-Alias verwenden verify-ca. Wählen Sie dann Speichern.

    Weitere Informationen zum Konfigurieren des ODBC-DSN finden Sie unter Konfigurierung einer ODBC-Verbindung.

Verwenden von SSL- und Serverzertifikaten in Java

SSL stellt eine einzelne Sicherheitsschicht bereit, indem Daten verschlüsselt werden, die zwischen Ihrem Client und Ihrem Cluster verschoben werden. Die Verwendung eines Serverzertifikats bietet eine zusätzliche Sicherheitsschicht, da auf diese Weise überprüft wird, ob es sich beim Cluster um einen Amazon-Redshift-Cluster handelt. Dies erfolgt durch Prüfung des Serverzertifikats, das automatisch auf allen von Ihnen bereitgestellten Clustern installiert wird. Weitere Informationen zur Verwendung von Serverzertifikaten mit JDBC finden Sie unter Configuring the client in der PostgreSQL-Dokumentation.

Verbindungsherstellung unter Verwendung von Trust CA-Zertifikaten in Java

Wichtig

Amazon Redshift hat die Verwaltung von SSL-Zertifikaten verändert. Sie müssen möglicherweise Ihre aktuellen vertrauenswürdigen CA-Stammzertifikate aktualisieren, um weiterhin mit SSL Verbindungen zu Ihren Clustern herstellen zu können. Weitere Informationen finden Sie unter Verbindung über SSL.

Mithilfe von Trust CA-Zertifikaten stellen Sie eine Verbindung wie folgt her

Sie können mithilfe der redshift-keytool.jar-Datei CA-Zertifikate aus dem Amazon-Redshift-Zertifizierungsstellen-Bundle in einen Java-TrustStore oder Ihren privaten TrustStore importieren.

  1. Wenn Sie die Option -Djavax.net.ssl.trustStore für die Java-Befehlszeile verwenden, entfernen Sie es falls möglich aus der Befehlszeile.

  2. Laden Sie redshift-keytool.jar herunter.

  3. Führen Sie eine der folgenden Aufgaben aus:

    • Führen Sie den folgenden Befehl aus, um das Amazon-Redshift-Zertifizierungsstellen-Bundle in einen Java-TrustStore zu importieren:

      java -jar redshift-keytool.jar -s
    • Führen Sie den folgenden Befehl aus, um das Amazon-Redshift-Zertifizierungsstellen-Bundle in Ihren privaten TrustStore zu importieren:

      java -jar redshift-keytool.jar -k <your_private_trust_store> -p <keystore_password>