Ich möchte eine Secure Socket Layer (SSL) -Verbindung verwenden, um eine Verbindung zu meinem Amazon Aurora PostgreSQL-kompatiblen Edition-DB-Cluster herzustellen.
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 dem Cluster übertragen werden. Weitere Informationen finden Sie unter Verwenden von SSL/TLS zum Verschlüsseln einer Verbindung zu einem DB-Cluster.
Aus Sicherheitsgründen 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 unter SSL-Unterstützung auf der PostgreSQL-Website.
Die SSL-Modi für PostgreSQL sind:
- vollständig verifizieren
- verifizieren-ca
- benötigen
- bevorzugen
- zulassen
- deaktivieren
Weitere Informationen zur Auswahl des richtigen SSL-Modus für Ihren Anwendungsfall finden Sie unter Schutz in verschiedenen Modi auf der PostgreSQL-Website.
Behebung
Amazon Relational Database Service (Amazon RDS) erstellt die SSL- oder TLS-Zertifizierung für Ihren Cluster. Dies tritt auf, wenn Sie Ihren Cluster erstellen. Weitere Informationen finden Sie unter Sicherheit mit Aurora PostgreSQL.
Stellen Sie über SSL/TLS eine Verbindung zu Ihrem DB-Cluster her
- Laden Sie das SSL/TSL-Zertifikat herunter.
- Importieren Sie das Zertifikat in Ihr Betriebssystem.
- Stellen Sie über SSL/TLS eine Verbindung zu Ihrem Aurora PostgreSQL-kompatiblen DB-Cluster her.
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 (on) setzen, wird die Datei pg_hba.conf Ihrer DB-Instance so geändert, dass sie die neue SSL-Konfiguration unterstützt. Verwenden Sie die Ansicht pg_hba_file_rules, um die Zusammenfassung des Inhalts der Datei pg_hba.conf zu sehen. Der Typwert in der Ansicht pg_hba_file_rules wird auf hostssl aktualisiert, nachdem rds.force_ssl auf 1 (on) gesetzt wurde.
Sie können verlangen, dass Verbindungen zu Ihrem DB-Cluster SSL/TLS verwendet werden. Verwenden Sie dazu den rds.force_ssl-Parameter. Der rds.force_ssl-Parameter ist standardmäßig auf 0 gesetzt. Der Wert 0 gibt an, dass es ausgeschaltet 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 Sichern von Aurora PostgreSQL-Daten mit SSL/TLS.
Überprüfen Sie die SSL-Verbindung
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)
Hinweis: Amazon RDS-Instance-SSL ist Einweg-SSL. Dies bedeutet, dass der Client die Identität des Servers überprüfen kann.