Oracle Secure Sockets Layer - Amazon Relational Database Service

Oracle Secure Sockets Layer

Aktivieren Sie die Secure Sockets Layer (SSL)-Verschlüsselung für eine Oracle-DB-Instance, indem Sie die Option "Oracle SSL" zu der Optionsgruppe hinzufügen, die der Oracle-DB-Instance zugeordnet ist. Geben Sie den Port für die SSL-Kommunikation an. Konfigurieren Sie SQL*Plus, wie im folgenden Abschnitt beschrieben.

Aktivieren Sie die SSL-Verschlüsselung für eine Oracle-DB-Instance, indem Sie die Option "Oracle SSL" der Optionsgruppe hinzufügen, die der DB-Instance zugeordnet ist. Amazon RDS verwendet – wie von Oracle vorausgesetzt – für SSL-Verbindungen einen zweiten Port. Dank dieser Herangehensweise ist gleichzeitig sowohl Klartext- als auch SSL-verschlüsselte Kommunikation zwischen einer DB-Instance und SQL*Plus möglich. Sie können z. B. den Port mit Klartext-Kommunikation verwenden, um mit anderen Ressourcen innerhalb einer VPC zu kommunizieren, und den Port mit SSL-verschlüsselter Kommunikation, um mit Ressourcen außerhalb der VPC zu kommunizieren.

Anmerkung

Sie können Secure Sockets Layer oder Native Network Encryption verwenden, jedoch nicht beide zusammen. Weitere Informationen finden Sie unter Oracle Native Network Encryption.

Sie können die SSL-Verschlüsselung mit den folgenden Oracle-Datenbankversionen und -editionen verwenden:

  • 19.0.0.0: alle Versionen, alle Editionen einschließlich Standard Edition Two

  • 18.0.0.0: Alle Versionen, alle Editionen einschließlich Standard Edition Two

  • 12.2.0.1: alle Versionen, alle Editionen einschließlich Standard Edition Two

  • 12.1.0.2: alle Versionen, alle Editionen einschließlich Standard Edition Two

  • 11.2.0.4: alle Versionen, Enterprise Edition

  • 11.2.0.4: Version 6 und neuer, Standard Edition, Standard Edition One, Enterprise Edition

Anmerkung

Sie können nicht sowohl SSL als auch Oracle Native Network Encryption (NNE) auf derselben Instance verwenden. Bei Nutzung der SSL-Verschlüsselung müssen alle anderen Optionen für die Verbindungsverschlüsselung deaktiviert werden.

TLS-Versionen für die Oracle SSL-Option

Amazon RDS for Oracle unterstützt jetzt Transport Layer Security (TLS) in den Versionen 1.0 und 1.2. Damit die Option Oracle SSL verwendet werden kann, ist die Optionseinstellung SQLNET.SSL_VERSION erforderlich. Die folgenden Werte sind für diese Optionseinstellung zulässig:

  • "1.0": Clients können die Verbindung zur DB-Instance nur mit TLS 1.0 herstellen.

  • "1.2": Clients können die Verbindung zur DB-Instance nur mit TLS 1.2 herstellen.

  • "1.2 or 1.0": Clients können die Verbindung zur DB-Instance mit TLS 1.2 oder 1.0 herstellen.

Damit die Option Oracle SSL verwendet werden kann, ist auch die Optionseinstellung SQLNET.SSL_VERSION erforderlich:

  • Für vorhandene Oracle SSL-Optionen wird SQLNET.SSL_VERSION automatisch auf "1.0" eingestellt. Sie können die Einstellung bei Bedarf ändern.

  • Wenn Sie eine neue Oracle SSL-Option hinzufügen, müssen Sie SQLNET.SSL_VERSION ausdrücklich einen gültigen Wert zuweisen.

Die folgende Tabelle zeigt die TLS-Optionseinstellungen, die für die verschiedenen Versionen und Editionen der Oracle-Engine unterstützt werden.

Oracle-Engine-Version SQLNET.SSL_VERSION = "1.0" SQLNET.SSL_VERSION = "1.2" SQLNET.SSL_VERSION = "1.2 oder 1.0"

19.0.0.0, alle Editionen

Unterstützt

Unterstützt

Unterstützt

18.0.0.0 (Alle Editionen)

Unterstützt

Unterstützt

Unterstützt

12.2.0.1 (alle Editionen)

Unterstützt

Unterstützt

Unterstützt

12.1.0.2 (alle Editionen)

Unterstützt

Unterstützt

Unterstützt

11.2.0.4 (Oracle EE)

Unterstützt

Unterstützt ab 11.2.0.4.v8 und neuer

Unterstützt ab 11.2.0.4.v8 und neuer

11.2.0.4 (Oracle SE1)

Unterstützt

Nicht unterstützt

Nicht unterstützt

11.2.0.4 (Oracle SE)

Unterstützt

Nicht unterstützt

Nicht unterstützt

Cipher Suites für die Oracle SSL-Option

Amazon RDS for Oracle unterstützt mehrere SSL Cipher Suites. Standardmäßig ist die Oracle SSL-Option für die Verwendung der SSL_RSA_WITH_AES_256_CBC_SHA Cipher Suite konfiguriert. Verwenden Sie zum Angeben einer andere Cipher Suite für SSL-Verbindungen die Optionseinstellung SQLNET.CIPHER_SUITE. Die folgenden Werte sind für diese Optionseinstellung zulässig:

  • "SSL_RSA_WITH_AES_256_CBC_SHA" – Die Standardeinstellung, kompatibel mit TLS 1.0 und TLS 1.2

  • "SSL_RSA_WITH_AES_256_CBC_SHA256" – Nur kompatibel mit TLS 1.2

  • "SSL_RSA_WITH_AES_256_GCM_SHA384" – Nur kompatibel mit TLS 1.2

Für vorhandene Oracle SSL-Optionen wird SQLNET.CIPHER_SUITE automatisch auf "SSL_RSA_WITH_AES_256_CBC_SHA" eingestellt. Sie können die Einstellung bei Bedarf ändern.

Die folgende Tabelle zeigt die Cipher Suite-Einstellungen, die für die verschiedenen Versionen und Editionen der Oracle-Engine unterstützt werden.

Oracle-Engine-Version SQLNET.CIPHER_SUITE = "SSL_RSA_WITH_AES_256_CBC_SHA" SQLNET.CIPHER_SUITE = "SSL_RSA_WITH_AES_256_CBC_SHA256" SQLNET.CIPHER_SUITE = "SSL_RSA_WITH_AES_256_GCM_SHA384"

19.0.0.0, alle Editionen

Unterstützt

Unterstützt

Unterstützt

18.0.0.0 (Alle Editionen)

Unterstützt

Unterstützt

Unterstützt

12.2.0.1 (alle Editionen)

Unterstützt

Unterstützt

Unterstützt

12.1.0.2 (alle Editionen)

Unterstützt

Unterstützt

Unterstützt

11.2.0.4 (Oracle EE)

Unterstützt

Nicht unterstützt

Nicht unterstützt

11.2.0.4 (Oracle SE1)

Unterstützt

Nicht unterstützt

Nicht unterstützt

11.2.0.4 (Oracle SE)

Unterstützt

Nicht unterstützt

Nicht unterstützt

FIPS-Unterstützung

Amazon RDS for Oracle ermöglicht es Ihnen, den FIPS-Standard (Federal Information Processing Standard) für 140-2 zu verwenden. Bei FIPS 140-2 handelt es sich um einen Standard der Regierung der Vereinigten Staaten, der die Sicherheitsanforderungen für kryptografische Module definiert. Sie aktivieren den FIPS-Standard, indem Sie die Einstellung FIPS.SSLFIPS_140 für die Oracle-SSL-Option auf TRUE festlegen. Wenn FIPS 140-2 für SSL konfiguriert ist, sind die kryptografischen Bibliotheken so konzipiert, dass Daten zwischen dem Client und der Oracle-DB-Instance verschlüsselt werden.

Sie können die FIPS-Einstellung mit den folgenden Oracle-Datenbankversionen und -Editionen aktivieren:

  • 19.0.0.0: alle Versionen, alle Editionen einschließlich Standard Edition Two

  • 18.0.0.0: Alle Versionen, alle Editionen einschließlich Standard Edition Two

  • 12.2.0.1: alle Versionen, alle Editionen einschließlich Standard Edition Two

  • 12.1.0.2: Version 2 und höher, alle Editionen einschließlich Standard Edition Two

Clients müssen die Verschlüsselungssammlung verwenden, die FIPS-konform ist. Beim Herstellen einer Verbindung verhandeln der Client und die Oracle-DB-Instance, welche Verschlüsselungssammlung verwendet werden soll, wenn Nachrichten hin und her übertragen werden. Die folgende Tabelle zeigt die FIPS-konformen SSL-Verschlüsselungssammlungen für jede TLS-Version.

SQLNET.SSL_VERSION Unterstützte Verschlüsselungs-Suiten

1,0

SSL_RSA_WITH_AES_256_CBC_SHA

1.2

SSL_RSA_WITH_AES_256_CBC_SHA

SSL_RSA_WITH_AES_256_GCM_SHA384

Weitere Informationen finden Sie unter Oracle Database FIPS 140-2-Einstellungen in der Oracle-Dokumentation.

Hinzufügen der SSL-Option

Um SSL verwenden zu können, muss Ihre Amazon RDS Oracle DB-Instance einer Optionsgruppe zugeordnet sein, die die Option SSL enthält.

So fügen Sie die SSL-Option zu einer Optionsgruppe hinzu:

  1. Erstellen Sie eine neue Optionsgruppe oder identifizieren Sie eine vorhandene Optionsgruppe, der Sie die Option SSL hinzufügen können.

    Weitere Informationen zum Erstellen einer Optionsgruppe finden Sie unter Erstellen einer Optionsgruppe.

  2. Fügen Sie die Option SSL zur Optionsgruppe hinzu.

    Wenn Sie nur FIPS-verifizierte Verschlüsselungssammlungen für SSL-Verbindungen verwenden möchten, setzen Sie die Option FIPS.SSLFIPS_140 auf TRUE. Hinweise zum FIPS-Standard finden Sie unter FIPS-Unterstützung.

    Weitere Informationen zum Hinzufügen einer Option zu einer Optionsgruppe finden Sie unter Hinzufügen einer Option zu einer Optionsgruppe.

  3. Erstellen Sie eine neue Oracle-DB-Instance und ordnen Sie ihr die Optionsgruppe zu, oder ändern Sie eine Oracle-DB-Instance, sodass ihr die Optionsgruppe zugeordnet wird.

    Weitere Informationen zum Erstellen einer DB-Instance finden Sie unter Erstellen einer Amazon RDS-DB-Instance.

    Informationen zum Ändern einer DB-Instance finden Sie unter Ändern einer Amazon RDS-DB-Instance.

So fügen Sie die SSL-Option zu einer Optionsgruppe hinzu:

  1. Erstellen Sie eine neue Optionsgruppe oder identifizieren Sie eine vorhandene Optionsgruppe, der Sie die Option SSL hinzufügen können.

    Weitere Informationen zum Erstellen einer Optionsgruppe finden Sie unter Erstellen einer Optionsgruppe.

  2. Fügen Sie die Option SSL zur Optionsgruppe hinzu.

    Geben Sie die folgenden Einstellungen für die Option an:

    • Port – Die Nummer des SSL-Ports.

    • VpcSecurityGroupMemberships – Die VPC-Sicherheitsgruppe, für die die Option aktiviert ist.

    • SQLNET.SSL_VERSION – Die TLS-Version, mit der der Client eine Verbindung zur DB-Instance herstellen kann.

    Der folgende AWS CLI-Befehl fügt beispielsweise die Option SSL zur Optionsgruppe ora-option-group hinzu.

    Beispiel

    Für Linux, macOS oder Unix:

    aws rds add-option-to-option-group --option-group-name ora-option-group \ --options 'OptionName=SSL,Port=2484,VpcSecurityGroupMemberships="sg-68184619",OptionSettings=[{Name=SQLNET.SSL_VERSION,Value=1.0}]'

    Für Windows:

    aws rds add-option-to-option-group --option-group-name ora-option-group ^ --options 'OptionName=SSL,Port=2484,VpcSecurityGroupMemberships="sg-68184619",OptionSettings=[{Name=SQLNET.SSL_VERSION,Value=1.0}]'
  3. Erstellen Sie eine neue Oracle-DB-Instance und ordnen Sie ihr die Optionsgruppe zu, oder ändern Sie eine Oracle-DB-Instance, sodass ihr die Optionsgruppe zugeordnet wird.

    Weitere Informationen zum Erstellen einer DB-Instance finden Sie unter Erstellen einer Amazon RDS-DB-Instance.

    Informationen zum Ändern einer DB-Instance finden Sie unter Ändern einer Amazon RDS-DB-Instance.

Konfigurieren von SQL*Plus für die Verwendung von SSL mit einer Oracle-DB-Instance

Sie müssen SQL*Plus konfigurieren, bevor Sie eine Verbindung zu einer Oracle-DB-Instance herstellen, die die Option Oracle SSL verwendet.

Anmerkung

Stellen Sie sicher, dass die Sicherheitsgruppen korrekt konfiguriert sind, um Zugriff auf die DB-Instance durch entsprechende Clients zu erlauben. Weitere Informationen finden Sie unter Zugriffskontrolle mit Sicherheitsgruppen. Diese Anweisungen gelten auch für SQL*Plus und andere Clients, die direkt ein Oracle-Stammverzeichnis verwenden. Weitere Informationen zu JDBC-Verbindungen finden Sie unter Einrichten einer SSL-Verbindung über JDBC.

So konfigurieren Sie SQL*Plus für die Verwendung einer SSL-Verbindung zu einer Oracle-DB-Instance

  1. Legen Sie in der Umgebungsvariablen ORACLE_HOME den Speicherort des Oracle-Stammverzeichnisses fest.

    Der Pfad zu Ihrem Oracle-Stammverzeichnis hängt von Ihrer Installation ab. Im folgenden Beispiel wird die Umgebungsvariable ORACLE_HOME festgelegt.

    prompt>export ORACLE_HOME=/home/user/app/user/product/12.1.0/dbhome_1

    Weitere Informationen zum Einrichten der Oracle-Umgebungsvariablen finden Sie unter SQL*Plus Environment Variables in der Oracle-Dokumentation und auch im Oracle-Installationshandbuch für das jeweilige Betriebssystem.

  2. Fügen Sie $ORACLE_HOME/lib an die Umgebungsvariable LD_LIBRARY_PATH an.

    Im folgenden Beispiel wird die Umgebungsvariable LD_LIBRARY_PATH festgelegt.

    prompt>export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
  3. Erstellen Sie ein Oracle Wallet unter $ORACLE_HOME/ssl_wallet.

    Im folgenden Beispiel wird das Oracle Wallet-Verzeichnis erstellt.

    prompt>mkdir $ORACLE_HOME/ssl_wallet
  4. Laden Sie das Stammzertifikat herunter, das für alle AWS-Regionen unterstützt wird, und legen Sie die Datei im Verzeichnis "ssl_wallet" ab.

    Informationen zum Herunterladen des Stammverzeichnisses finden Sie unter Verwenden von SSL/TLS für die Verschlüsselung einer Verbindung zu einer DB-Instance.

  5. Ändern oder erstellen Sie im Verzeichnis $ORACLE_HOME/network/admin die Datei tnsnames.ora, die folgenden Eintrag enthalten muss.

    <net_service_name>= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCPS) (HOST = <endpoint>) (PORT = <ssl port number>)))(CONNECT_DATA = (SID = <database name>)) (SECURITY = (SSL_SERVER_CERT_DN = "C=US,ST=Washington,L=Seattle,O=Amazon.com,OU=RDS,CN=<endpoint>")))
  6. Ändern oder erstellen Sie im selben Verzeichnis die Datei sqlnet.ora und binden Sie folgende Parameter ein.

    Anmerkung

    Zur Kommunikation mit Entitäten über eine sichere TLS-Verbindung benötigt Oracle ein Wallet mit den erforderlichen Zertifikaten für die Authentifizierung. Sie können das ORAPKI-Dienstprogramm von Oracle zum Erstellen und Verwalten von Oracle-Wallets verwenden, wie in Schritt 7 beschrieben. Weitere Informationen finden Sie unter Setting Up Oracle Wallet Using ORAPKI in der Oracle-Dokumentation.

    WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = $ORACLE_HOME/ssl_wallet))) SSL_CLIENT_AUTHENTICATION = FALSE SSL_VERSION = 1.0 SSL_CIPHER_SUITES = (SSL_RSA_WITH_AES_256_CBC_SHA) SSL_SERVER_DN_MATCH = ON
    Anmerkung

    Sie können für SSL_VERSION einen höheren Wert einstellen, sofern er von Ihrer DB-Instance unterstützt wird.

  7. Führen Sie die folgenden Befehle zur Oracle Wallet-Erstellung aus.

    prompt>orapki wallet create -wallet $ORACLE_HOME/ssl_wallet -auto_login_only   prompt>orapki wallet add -wallet $ORACLE_HOME/ssl_wallet -trusted_cert -cert $ORACLE_HOME/ssl_wallet/rds-ca-2019-root.pem -auto_login_only

    Ersetzen Sie den Dateinamen durch den heruntergeladenen.

Herstellen der Verbindung zu einer Oracle-DB-Instance mit SSL

Nachdem Sie SQL*Plus wie zuvor beschrieben für die Verwendung von SSL konfiguriert haben, können Sie die Verbindung zur Oracle-DB-Instance mit der SSL-Option herstellen. Optional können Sie zuerst den TNS_ADMIN-Wert importieren, der auf das Verzeichnis mit den tnsnames.ora- und sqlnet.ora-Dateien verweist. Dadurch wird sichergestellt, dass SQL*Plus diese Dateien konsistent finden kann. Das folgende Beispiel exportiert den TNS_ADMIN-Wert.

export TNS_ADMIN = ${ORACLE_HOME}/network/admin

Stellen Sie eine Verbindung mit der DB-Instance her. Beispielsweise können Sie eine Verbindung mit SQL*Plus und einem <net_service_name> in einer tnsnames.ora-Datei einrichten.

sqlplus <mydbuser>@<net_service_name>

Sie können die Verbindung mit einer DB-Instance auch unter Verwendung von SQL*Plus ohne eine tnsnames.ora-Datei einrichten, indem Sie den folgenden Befehl ausführen.

sqlplus '<mydbuser>@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCPS)(HOST = <endpoint>) (PORT = <ssl port number>))(CONNECT_DATA = (SID = <database name>)))'

Sie können auch ohne SSL eine Verbindung zur Oracle-DB-Instance aufbauen. Mit diesem Befehl kann beispielsweise eine Verbindung zur DB-Instance über den Clear-Text-Port ohne SSL-Verschlüsselung hergestellt werden.

sqlplus '<mydbuser>@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = <endpoint>) (PORT = <port number>))(CONNECT_DATA = (SID = <database name>)))'

Wenn der TCP (Transmission Control Protocol)-Portzugriff beendet werden soll, erstellen Sie eine Sicherheitsgruppe ohne IP-Adresszugänge und fügen sie zur Instance hinzu. Dadurch werden Verbindungen über den TCP-Port geschlossen, wohingegen Verbindungen über den SSL-Port von IP-Adressen, die aus dem von der SSL-Option der Sicherheitsgruppe definierten Adressbereich stammen, weiterhin möglich sind.

Einrichten einer SSL-Verbindung über JDBC

Sie müssen einen Schlüsselspeicher erstellen, dem Amazon RDS-Stammzertifizierungsstellenzertifikat vertrauen und das folgende Code-Snippet verwenden, um eine SSL-Verbindung über JDBC herzustellen.

Führen Sie folgenden Befehl aus, um einen Schlüsselspeicher im JKS-Format zu erstellen. Weitere Informationen über das Erstellen des Schlüsselspeichers finden Sie in der Oracle-Dokumentation.

keytool -keystore clientkeystore -genkey -alias client

Führen Sie nun die folgenden Schritte aus, um dem Amazon RDS-Stammzertifizierungsstellenzertifikat zu vertrauen:

So vertrauen Sie dem Amazon RDS-Stammzertifizierungsstellenzertifikat

  1. Laden Sie das Stammzertifikat herunter, das für alle AWS-Regionen unterstützt wird, und legen Sie die Datei im Verzeichnis "ssl_wallet" ab.

    Informationen zum Herunterladen des Stammverzeichnisses finden Sie unter Verwenden von SSL/TLS für die Verschlüsselung einer Verbindung zu einer DB-Instance.

  2. Führen Sie folgenden Befehl aus, um das Zertifikat in das DER-Format zu konvertieren.

    openssl x509 -outform der -in rds-ca-2019-root.pem -out rds-ca-2019-root.der

    Ersetzen Sie den Dateinamen durch den heruntergeladenen.

  3. Importieren Sie das Zertifikat mit folgendem Befehl in den Schlüsselspeicher.

    keytool -import -alias rds-root -keystore clientkeystore -file rds-ca-2019-root.der
  4. Bestätigen Sie, das der Schlüsselspeicher erfolgreich erstellt wurde.

    keytool -list -v -keystore clientkeystore.jks

    Geben Sie das Passwort des Schlüsselspeichers an, wenn Sie dazu aufgefordert werden.

Das folgende Code-Beispiel zeigt, wie die SSL-Verbindung mit JDBC eingerichtet wird.

import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties; public class OracleSslConnectionTest { private static final String DB_SERVER_NAME = "<dns-name-provided-by-amazon-rds>"; private static final Integer SSL_PORT = "<ssl-option-port-configured-in-option-group>"; private static final String DB_SID = "<oracle-sid>"; private static final String DB_USER = "<user name>"; private static final String DB_PASSWORD = "<password>"; // This key store has only the prod root ca. private static final String KEY_STORE_FILE_PATH = "<file-path-to-keystore>"; private static final String KEY_STORE_PASS = "<keystore-password>"; public static void main(String[] args) throws SQLException { final Properties properties = new Properties(); final String connectionString = String.format( "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=%s)(PORT=%d))(CONNECT_DATA=(SID=%s)))", DB_SERVER_NAME, SSL_PORT, DB_SID); properties.put("user", DB_USER); properties.put("password", DB_PASSWORD); properties.put("oracle.jdbc.J2EE13Compliant", "true"); properties.put("javax.net.ssl.trustStore", KEY_STORE_FILE_PATH); properties.put("javax.net.ssl.trustStoreType", "JKS"); properties.put("javax.net.ssl.trustStorePassword", KEY_STORE_PASS); final Connection connection = DriverManager.getConnection(connectionString, properties); // If no exception, that means handshake has passed, and an SSL connection can be opened } }

Erzwingen einer DN-Übereinstimmung mit einer SSL-Verbindung

Sie können den Oracle-Parameter SSL_SERVER_DN_MATCH verwenden, um eine Übereinstimmung des eindeutigen Namens (DN) für den Datenbank-Server mit dem Service-Namen zu erzwingen. Sofern Sie die Verifizierung erzwingen, stellt SSL sicher, dass das Zertifikat vom Server kommt. Wenn Sie die Verifizierung nicht erzwingen, führt SSL die Überprüfung zwar durch, lässt aber die Verbindung unabhängig von einer Übereinstimmung zu. Falls Sie die Übereinstimmung nicht erzwingen, lassen Sie eine potenzielle Identitätsfälschung des Servers zu.

Fügen Sie die Eigenschaft für die DN-Übereinstimmung hinzu und verwenden Sie unten angegebene Verbindungszeichenfolge, um eine DN-Übereinstimmung zu erzwingen.

Fügen Sie der Clientverbindung die Eigenschaft zum Erzwingen der DN-Übereinstimmung hinzu.

properties.put("oracle.net.ssl_server_dn_match", "TRUE");

Verwenden Sie die folgende Verbindungszeichenfolge, um bei Verwendung von SSL eine DN-Übereinstimmung zu erzwingen.

final String connectionString = String.format( "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=%s)(PORT=%d))" + "(CONNECT_DATA=(SID=%s))" + "(SECURITY = (SSL_SERVER_CERT_DN = \"C=US,ST=Washington,L=Seattle,O=Amazon.com,OU=RDS,CN=%s\")))", DB_SERVER_NAME, SSL_PORT, DB_SID, DB_SERVER_NAME);