Wie kann ich SSL auf meiner Aurora-PostgreSQL-kompatiblen DB-Instance aktivieren und wie kann ich mithilfe von SSL-Zertifikaten eine Verbindung zu meiner Instance herstellen?

Lesedauer: 3 Minute
0

Ich möchte über eine SSL-Verbindung (Secure Socket Layer) eine Verbindung zu meinem Amazon-Aurora-PostgreSQL-kompatiblen Edition-DB-Cluster herstellen.

Kurzbeschreibung

Sie können eine Verbindung zu Ihrem Aurora-PostgreSQL-kompatiblen DB-Cluster von Ihrer Anwendung aus entweder mit SSL oder Transport Layer Security (TLS) verschlüsseln. SSL- und TLS-Verbindungen bieten eine einzige Sicherheitsebene für Ihren Cluster und verschlüsseln die Daten, die zwischen Ihrem Client und Cluster übertragen werden. Weitere Informationen finden Sie unter Verschlüsseln einer Verbindung zu einem DB-Cluster mit SSL/TLS.

Um sicher zu sein, müssen SSL-Verbindungen sowohl auf dem Client als auch auf dem Server konfiguriert werden, bevor Sie die Verbindung herstellen. Wenn SSL auf dem Server nicht konfiguriert ist, sendet der Client möglicherweise vertrauliche Informationen wie Passwörter. Weitere Informationen zum Erstellen einer SSL-gesicherten Verbindung finden Sie in der PostgreSQL-Dokumentation zur SSL-Unterstützung.

Die SSL-Modi für PostgreSQL sind:

  • verify-full
  • verify-ca
  • benötigen
  • bevorzugen
  • erlauben
  • deaktivieren

Weitere Informationen zur Auswahl des richtigen SSL-Modus für Ihren Anwendungsfall finden Sie in der PostgreSQL-Dokumentation Schutz, der in verschiedenen Modi bereitgestellt wird.

Lösung

Amazon Relational Database Service (Amazon RDS) erstellt die SSL- oder TLS-Zertifizierung für Ihren Cluster, wenn Sie ihn erstellen. Weitere Informationen finden Sie unter Sicherheit mit Amazon Aurora PostgreSQL.

Stellen Sie über SSL/TLS eine Verbindung zu Ihrem DB-Cluster her

1.    Laden Sie das SSL-/TSL-Zertifikat herunter.

2.    Importieren Sie das Zertifikat in Ihr Betriebssystem.

3.    Stellen Sie über SSL/TLS eine Verbindung zu Ihrem Aurora-PostgreSQL-kompatiblen DB-Cluster her.

Werfen Sie einen Blick auf folgendes Beispiel:

psql -h DBInstance.cluster-Account-Number.eu-west-1.rds.amazonaws.com  -p 5432 "dbname=postgres user=postgres sslrootcert=global-bundle.pem sslmode=verify-full"

Wenn Sie rds.force_ssl auf 1 (ein) setzen, wird die Datei pg_hba.conf Ihrer DB-Instance geändert, um die neue SSL-Konfiguration zu unterstützen. Sie können die Ansicht pg_hba_file_rules verwenden, um die Inhaltsübersicht der Datei pg_hba.conf anzuzeigen. Der Typwert in der Ansicht pg_hba_file_rules wird auf hostssl aktualisiert, nachdem rds.force_ssl auf 1 (ein) gesetzt wurde.

Sie können festlegen, dass Verbindungen zu Ihrem DB-Cluster SSL/TLS verwenden. Verwenden Sie dazu den Parameter rds.force_ssl. Der Parameter rds.force_ssl ist standardmäßig auf 0 gesetzt, was bedeutet, dass er deaktiviert ist. Um diesen Parameter zu aktivieren, setzen Sie rds.force_ssl auf 1. Dies macht SSL/TLS zu einer Voraussetzung für Verbindungen zu Ihrem DB-Cluster.

Weitere Informationen finden Sie unter Sicherung von Aurora-PostgreSQL-Daten mit SSL/TLS.

SSL-Verbindung überprüfen

Führen Sie diesen Befehl aus, um die SSL-Verbindung zu überprüfen:

postgres=> select ssl_is_used();
 ssl_is_used
-------------
 t
(1 row)

postgres=> select ssl_cipher();
         ssl_cipher
-----------------------------
 ECDHE-RSA-AES128-GCM-SHA256
(1 row)

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 5 Monaten