Secure Socket Layer in Oracle Cloud Infrastructure Database mit PostgreSQL konfigurieren
Einführung
Oracle Cloud Infrastructure Database mit PostgreSQL (OCI Database with PostgreSQL) unterstützt nur SSL-Verschlüsselung (Secure Socket Layer) für Datenbankinstanzen. Mit SSL können Sie die Verbindung zwischen Ihren Anwendungen und PostgreSQL-Datenbankinstanzen verschlüsseln.
Die SSL-Verschlüsselung ist für die Sicherung von Clientverbindungen zu OCI Database with PostgreSQL-Instanzen unerlässlich, um den Datenschutz während der Übertragung sicherzustellen. Wenn Sie den Verbindungstyp hostssl
konfigurieren und den Parameter sslmode
verwenden, können Sie die Ebene der SSL-Verifizierung für zusätzliche Sicherheit steuern. Standardmäßig ist TLSv1.2
sowohl für Client- als auch für Serververbindungen aktiviert und entspricht den branchenüblichen Praktiken. Für eine vollständig sichere und konforme PostgreSQL-Umgebung ist die Nutzung dieser SSL-Einstellungen von entscheidender Bedeutung.
Bei sicheren Clientverbindungen lässt OCI Database with PostgreSQL nur den Verbindungstyp hostssl
in der Datei pg_hba.conf
zu. Der Eintrag hostssl
stellt sicher, dass TCP/IP-Verbindungen mit SSL verschlüsselt werden, sodass Clients SSL zur Authentifizierung verwenden müssen. Sie können auch die Ebene der SSL-Verifizierung über den Parameter sslmode
angeben, der Optionen wie require
, verify-ca
und verify-full
enthält.
Derzeit werden sowohl die Parameter ssl_max_protocol_version
als auch ssl_min_protocol_version
in OCI Database with PostgreSQL so konfiguriert, dass TLSv1.2
sowohl für Client- als auch für Serververbindungen verwendet wird. Es ist jedoch wichtig zu beachten, dass OCI Database with PostgreSQL keine spezifischen TLS-Versionen durchsetzen kann, da diese Parameter schreibgeschützte Systemvariablen sind.
Weitere Informationen zur SSL-Unterstützung in PostgreSQL-Datenbanken finden Sie unter Sichere TCP/IP-Verbindungen mit SSL.
Hinweis: SSL-Unterstützung ist in allen OCI-Regionen für PostgreSQL verfügbar.
Ziele
- Verbinden Sie OCI Database with PostgreSQL mit SSL-Verschlüsselung, um Datenbankinstanzen zu sichern. Es wird betont, wie wichtig es ist, den Verbindungstyp
hostssl
in der Dateipg_hba.conf
zu konfigurieren, um verschlüsselte TCP/IP-Verbindungen sicherzustellen, und es wird gezeigt, wie der Parametersslmode
die SSL-Verifizierungsebenen steuert. Darüber hinaus wird in diesem Tutorial die TLS-Versionskonfiguration für Client- und Serververbindungen erläutert.
SSL-Modi
Die folgende Tabelle zeigt die Risiken, die durch verschiedene sslmode
-Werte adressiert werden, sowie die Auswirkungen auf die Sicherheit und den zugehörigen Overhead für jeden einzelnen.
sslmode | Abhörschutz | MITM-Schutz | Anweisung |
---|---|---|---|
disable | Nr. | Nr. | Ich kümmere mich nicht um die Sicherheit, und ich möchte nicht den Overhead der Verschlüsselung bezahlen. |
Zulassen | Vielleicht | Nr. | Ich kümmere mich nicht um die Sicherheit, aber ich werde den Overhead der Verschlüsselung bezahlen, wenn der Server darauf besteht. |
Bevorzugt | Vielleicht | Nr. | Ich kümmere mich nicht um Verschlüsselung, aber ich möchte den Overhead der Verschlüsselung bezahlen, wenn der Server sie unterstützt. |
erforderlich | Ja | Nr. | Ich möchte, dass meine Daten verschlüsselt werden, und akzeptiere den Overhead. Ich vertraue darauf, dass das Netzwerk sicherstellen wird, dass ich immer eine Verbindung zu dem Server herstelle, den ich möchte. |
verifizieren-ca | Ja | Abhängig von CA-Policy | Ich möchte, dass meine Daten verschlüsselt werden, und ich akzeptiere den Overhead. Ich möchte sicher sein, dass ich eine Verbindung zu einem Server herstelle, dem ich vertraue. |
verifizieren-vollständig | Ja | Ja | Ich möchte, dass meine Daten verschlüsselt werden, und ich akzeptiere den Overhead. Ich möchte sicher sein, dass ich eine Verbindung zu einem Server herstelle, dem ich vertraue, und dass es der Server ist, den ich spezifiziere. |
Weitere Informationen zu den verschiedenen sslmodes
finden Sie in Tabelle 31-1 SSL MODE DESCRIPTIONS.
In OCI Database with PostgreSQL muss die sslmode
auf require
oder höher (verify-ca
oder verify-full
) gesetzt werden, da Nicht-SSL-Verbindungen aufgrund von gesetzlichen und Complianceanforderungen nicht unterstützt werden. SSL-Konnektivität ist obligatorisch, um sicherzustellen, dass alle Verbindungen während der Übertragung in Übereinstimmung mit den Compliancestandards von OCI verschlüsselt werden.
Die Zertifikate, die in OCI Database with PostgreSQL-Datenbankknoten verwendet werden, werden von einer privaten Certificate Authority (CA) ausgestellt, die über den OCI Certificates-Service verwaltet wird, der standardisierten von OCI genehmigten Konfigurationen entspricht. Dieser Ansatz unterscheidet sich von herkömmlichen selbstsignierten Zertifikaten, die häufig Nicht-Standardeinstellungen verwenden, die mit Tools wie OpenSSL generiert werden.
Verbindung zu OCI Database with PostgreSQL mit verschiedenen SSL-Modi herstellen
Verbindungsversuche zu OCI Database with PostgreSQL ohne SSL werden mit der folgenden Meldung abgelehnt.
no pg_hba.conf entry for host "yy.yy.yy.yy", user "xxxxx", database "zzzzzz", no encryption
Wenn die obige Fehlermeldung angezeigt wird, wird empfohlen, den SSL-Moduswert zu prüfen und den Parameter sslmode
auf require
oder höher zu setzen, um das Problem zu beheben.
-
Legen Sie den SSL-Modus
require
fest.Dieser Modus zwingt die Verbindung zur Verwendung von SSL, aber das Zertifikat des Servers wird nicht verifiziert.
psql "sslmode=require host=<endpoint_fqdn> dbname=<database_name> user=<user_name>"
-
Certificate Authority mit dem SSL-Modus
verify-ca
prüfen.Dieser Modus erzwingt SSL, und das Serverzertifikat wird mit einer vertrauenswürdigen CA geprüft. Es wird nicht geprüft, ob das Serverzertifikat mit dem Hostnamen übereinstimmt.
psql "sslmode=verify-ca sslrootcert=<parent_directory>/<dbsystem.pub> host=<endpoint_fqdn> dbname=<database_name> user=<user_name>"
sslrootcert
: Laden Sie das CA-Zertifikat aus dem Abschnitt mit den Verbindungsdetails Ihres Datenbanksystems herunter, und speichern Sie es im folgenden Verzeichnis:<parent_directory>/<dbsystem.pub>
. Diese Datei enthält die vertrauenswürdigen CA-Zertifikate. Dadurch wird sichergestellt, dass das Serverzertifikat von einer gültigen CA signiert wird.
-
Mit dem SSL-Modus
verify-full
prüfen.Dieser Modus erzwingt SSL, prüft das Serverzertifikat anhand einer vertrauenswürdigen CA und prüft außerdem, ob das Serverzertifikat mit dem Host übereinstimmt, mit dem Sie eine Verbindung herstellen (der Hostname in Ihrer Verbindungszeichenfolge).
psql "sslmode=verify-full sslrootcert=<parent_directory>/<dbsystem.pub> host=<endpoint_fqdn> dbname=<database_name> user=<user_name>"
sslrootcert
: Laden Sie das CA-Zertifikat aus dem Abschnitt mit den Verbindungsdetails Ihres Datenbanksystems herunter, und speichern Sie es im folgenden Verzeichnis:<parent_directory>/<dbsystem.pub>
. Diese Datei enthält die vertrauenswürdigen CA-Zertifikate.
Hostnamenabgleich: Dies ist die sicherste Option, da dadurch sichergestellt wird, dass sowohl das Serverzertifikat von einer privaten CA signiert wird, die über den OCI Certificates-Service verwaltet wird, als auch dass das Zertifikat mit dem erwarteten Hostnamen übereinstimmt.
TLS-Versionen in OCI Database with PostgreSQL bestimmen
In der folgenden Abbildung wird der Verschlüsselungsstatus Ihrer Verbindung angezeigt, wenn Sie eine Verbindung zur OCI Database with PostgreSQL-Instanz herstellen.
Sie können die folgende Abfrage ausführen, um Informationen aus pg_settings
abzurufen.
Mit der folgenden Abfrage können Sie detaillierte Informationen zur SSL-Nutzung Ihrer OCI Database with PostgreSQL-Instanz nach Prozess, Client und Anwendung erfassen.
Mit der Systemansicht pg_stat_ssl
können Sie den SSL-Status aller Verbindungen anzeigen. Weitere Informationen finden Sie in Tabelle 27.8. pg_stat_ssl
-Ansicht.
SSL-Modus in verschiedenen GUI-Tools konfigurieren
Im Folgenden finden Sie einige Open-Source-GUI-Tools, mit denen Sie eine Verbindung zu OCI PostgreSQL-Datenbanken herstellen können. In dieser Aufgabe wird gezeigt, wie Sie sslmode
in diesen Tools auf require
oder höher konfigurieren, um Konnektivitätsprobleme bei der Verbindung zu OCI PostgreSQL-Datenbanken zu vermeiden.
-
pgAdmin
-
Navigieren Sie unter pgAdmin zu Server, Registrieren und Server, und geben Sie die erforderlichen Details zur Datenbankverbindung ein.
-
Klicken Sie auf Parameter, und gehen Sie zum Abschnitt SSL, in dem Sie die Einstellung des SSL-Modus konfigurieren können.
-
Stellen Sie sicher, dass
sslmode
im verfügbaren Dropdown-Menü aufrequire
oder eine höhere Ebene (wieverify-ca
oderverify-full
) gesetzt ist, um die Anforderungen an sichere Verbindungen zu erfüllen.
-
-
DBeaver
-
Navigieren Sie unter DBeaver zu Erstellen, und klicken Sie auf Verbindungen.
-
Wählen Sie in der Liste der Datenbanktypen die Option PostgreSQL aus, und klicken Sie auf Weiter, um fortzufahren.
-
Wählen Sie unter Verbindungseinstellungen in den Verbindungseinstellungen den Abschnitt SSL aus, um SSL-Parameter zu konfigurieren.
-
Setzen Sie den SSL-Modus auf
require
.
-
Bestätigungen
- Autor - Kaviya Selvaraj (Senior Member Technical Staff)
Weitere Lernressourcen
Sehen Sie sich weitere Übungen zu docs.oracle.com/learn an, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube-Kanal zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um ein Oracle Learning Explorer zu werden.
Die Produktdokumentation finden Sie im Oracle Help Center.
Configure Secure Socket Layer in OCI Database with PostgreSQL
G39560-01
Copyright ©2025, Oracle and/or its affiliates.