Oracle Native Network Encryption - Amazon Relational Database Service

Oracle Native Network Encryption

Amazon RDS unterstützt Oracle Native Network Encryption (NNE). Mit Native Network Encryption können Sie Daten für die Übertragung von und auf die DB-Instance verschlüsseln. Amazon RDS unterstützt NNE für alle Editionen von Oracle Database.

Eine detaillierte Beschreibung von Oracle Native Network Encryption geht über den Rahmen dieses Handbuchs hinaus, jedoch sollten Sie die Stärken und Schwächen jedes Algorithmus und Schlüssels kennen, bevor Sie sich für eine Bereitstellungslösung entscheiden. Weitere Informationen zu den Algorithmen und Schlüsseln, die über Oracle Native Network Encryption verfügbar sind, finden Sie unter Configuring Network Data Encryption in der Oracle-Dokumentation. Weitere Informationen zurAWS-Sicherheit finden Sie imAWS-Sicherheitszentrum.

Anmerkung

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

NNE-Optionseinstellungen

Sie können Verschlüsselungsanforderungen sowohl auf dem Server als auch auf dem Client angeben. Die DB-Instanz kann als Client fungieren, wenn sie beispielsweise einen Datenbanklink verwendet, um eine Verbindung mit einer anderen Datenbank herzustellen. Möglicherweise möchten Sie vermeiden, dass die Verschlüsselung auf der Serverseite erzwungen wird. Beispielsweise möchten Sie möglicherweise nicht alle Clientkommunikationen dazu zwingen, die Verschlüsselung zu verwenden, da der Server dies erfordert. In diesem Fall können Sie die Verschlüsselung auf der Clientseite mit demSQLNET.*CLIENT-Optionen.

Amazon RDS unterstützt die folgenden Einstellungen für die NNE-Option.

Anmerkung

Wenn Sie Werte für eine Optionseinstellung durch Kommas trennen, setzen Sie kein Leerzeichen nach dem Komma.

Optionseinstellung Zulässige Werte Standardwerte Beschreibung

SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS

TRUE, FALSE

TRUE

Das Verhalten des Servers, wenn ein Client, der eine nicht sichere Chiffre verwendet, versucht, sich mit der Datenbank zu verbinden. Wenn TRUE, können Clients eine Verbindung herstellen, auch wenn sie nicht mit dem Gerät vom Juli 2021 gepatcht sind.

Wenn die Einstellung FALSE lautet, können sich Clients nur dann mit der Datenbank verbinden, wenn sie mit dem Netzteil vom Juli 2021 gepatcht werden. Bevor Sie SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS auf FALSE festlegen, stellen Sie sicher, dass die folgenden Bedingungen erfüllt sind:

  • SQLNET.ENCRYPTION_TYPES_SERVER und SQLNET.ENCRYPTION_TYPES_CLIENT haben eine übereinstimmende Verschlüsselungsmethode, die nicht DES, 3DES, oder RC4 (alle Schlüssellängen) ist.

  • SQLNET.CHECKSUM_TYPES_SERVER und SQLNET.CHECKSUM_TYPES_CLIENT haben eine passende sichere Prüfsummierungs-Methode, die nicht MD5 ist.

  • Der Kunde wird mit dem Netzteil vom Juli 2021 gepatcht. Wenn der Client nicht gepatcht ist, verliert der Client die Verbindung und erhält den ORA-12269-Fehler.

SQLNET.ALLOW_WEAK_CRYPTO

TRUE, FALSE

TRUE

Das Verhalten des Servers, wenn ein Client, der eine nicht sichere Chiffre verwendet, versucht, sich mit der Datenbank zu verbinden. Die folgenden Chiffren gelten als nicht sicher:

  • DES-Verschlüsselungsmethode (alle Schlüssellängen)

  • 3DES-Verschlüsselungsmethode (alle Schlüssellängen)

  • RC4-Verschlüsselungsmethode (alle Schlüssellängen)

  • MD5-Prüfsummierungs-Methode

Wenn die Einstellung TRUE lautet, können Clients eine Verbindung herstellen, wenn sie die vorhergehenden nicht sicheren Chiffren verwenden.

Wenn die Einstellung FALSE lautet, verhindert die Datenbank, dass Clients eine Verbindung herstellen, wenn sie die vorhergehenden nicht sicheren Chiffren verwenden. Bevor Sie SQLNET.ALLOW_WEAK_CRYPTO auf FALSE festlegen, stellen Sie sicher, dass die folgenden Bedingungen erfüllt sind:

  • SQLNET.ENCRYPTION_TYPES_SERVER und SQLNET.ENCRYPTION_TYPES_CLIENT haben eine übereinstimmende Verschlüsselungsmethode, die nicht DES, 3DES, oder RC4 (alle Schlüssellängen) ist.

  • SQLNET.CHECKSUM_TYPES_SERVER und SQLNET.CHECKSUM_TYPES_CLIENT haben eine passende sichere Prüfsummierungs-Methode, die nicht MD5 ist.

  • Der Kunde wird mit dem Netzteil vom Juli 2021 gepatcht. Wenn der Client nicht gepatcht ist, verliert der Client die Verbindung und erhält den ORA-12269-Fehler.

SQLNET.CRYPTO_CHECKSUM_CLIENT

Accepted, Rejected, Requested, Required

Requested

Das Datenintegritätsverhalten, wenn eine DB-Instance eine Verbindung zum Client oder zu einem als Client fungierenden Server herstellt. Wenn eine DB-Instance einen Datenbanklink verwendet, fungiert sie als Client.

Requested bedeutet, dass der Client von der DB-Instanz keine Prüfsumme verlangt.

SQLNET.CRYPTO_CHECKSUM_SERVER

Accepted, Rejected, Requested, Required

Requested

Das Datenintegritätsverhalten, wenn ein Client oder ein Server, der als Client agiert, sich mit der DB-Instance verbindet. Wenn eine DB-Instance einen Datenbanklink verwendet, fungiert sie als Client.

Requested bedeutet, dass die DB-Instanz vom Client keine Prüfsumme verlangt.

SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT

SHA256, SHA384, SHA512, SHA1, MD5

SHA256, SHA384, SHA512

Eine Liste von Prüfsummenalgorithmen.

Sie können entweder einen Wert oder eine durch Kommas getrennte Werteliste angeben. Wenn Sie ein Komma verwenden, fügen Sie kein Leerzeichen nach dem Komma ein, andernfalls wird ein InvalidParameterValue-Fehler angezeigt.

Dieser Parameter undSQLNET.CRYPTO_CHECKSUM_TYPES_SERVER muss eine gemeinsame Chiffre haben.

SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER

SHA256, SHA384, SHA512, SHA1, MD5

SHA256, SHA384, SHA512, SHA1, MD5

Eine Liste von Prüfsummenalgorithmen.

Sie können entweder einen Wert oder eine durch Kommas getrennte Werteliste angeben. Wenn Sie ein Komma verwenden, fügen Sie kein Leerzeichen nach dem Komma ein, andernfalls wird ein InvalidParameterValue-Fehler angezeigt.

Dieser Parameter und SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT müssen eine gemeinsame Chiffre haben.

SQLNET.ENCRYPTION_CLIENT

Accepted, Rejected, Requested, Required

Requested

Das Verschlüsselungsverhalten des Clients, wenn ein Client oder ein Server, der als Client fungiert, eine Verbindung zur DB-Instanz herstellt. Wenn eine DB-Instance einen Datenbanklink verwendet, fungiert sie als Client.

Requested bedeutet, dass der Client keine Verschlüsselung des Datenverkehrs mit dem Server benötigt.

SQLNET.ENCRYPTION_SERVER

Accepted, Rejected, Requested, Required

Requested

Das Verschlüsselungsverhalten des Servers, wenn ein Client oder ein Server, der als Client fungiert, eine Verbindung zur DB-Instanz herstellt. Wenn eine DB-Instance einen Datenbanklink verwendet, fungiert sie als Client.

Requested gibt an, dass für die DB-Instance der Datenverkehr vom Client nicht verschlüsselt sein muss.

SQLNET.ENCRYPTION_TYPES_CLIENT

RC4_256, AES256, AES192, 3DES168, RC4_128, AES128, 3DES112, RC4_56, DES, RC4_40, DES40

RC4_256, AES256, AES192, 3DES168, RC4_128, AES128, 3DES112, RC4_56, DES, RC4_40, DES40

Eine Liste der vom Client verwendeten Verschlüsselungsalgorithmen. Der Client verwendet jeden Algorithmus der Reihe nach, um zu versuchen, die Servereingabe zu entschlüsseln, bis ein Algorithmus erfolgreich ist oder das Ende der Liste erreicht ist.

Amazon RDS verwendet die folgende Standardliste von Oracle. Sie können die Reihenfolge ändern oder die Anzahl der Algorithmen verringern, die von DB-Instance verwendet werden sollen.

  1. RC4_256: RSA RC4 (256-bit Schlüsselgröße)

  2. AES256: AES (256-bit Schlüsselgröße)

  3. AES192: AES (192-bit Schlüsselgröße)

  4. 3DES168: 3-key Triple-DES (112-bit effektive Schlüsselgröße)

  5. RC4_128: RSA RC4 (128-bit Schlüsselgröße)

  6. AES128: AES (128-bit Schlüsselgröße)

  7. 3DES112: 2-key Triple-DES (80-bit effektive Schlüsselgröße)

  8. RC4_56: RSA RC4 (56-bit Schlüsselgröße)

  9. DES: Standard DES (56-bit Schlüsselgröße)

  10. RC4_40: RSA RC4 (40-bit Schlüsselgröße)

  11. DES40: DES40 (40-bit Schlüsselgröße)

Sie können entweder einen Wert oder eine durch Kommas getrennte Werteliste angeben. Wenn Sie ein Komma verwenden, fügen Sie kein Leerzeichen nach dem Komma ein, andernfalls wird ein InvalidParameterValue-Fehler angezeigt.

Dieser Parameter undSQLNET.SQLNET.ENCRYPTION_TYPES_SERVERmuss eine gemeinsame Chiffre haben.

SQLNET.ENCRYPTION_TYPES_SERVER

RC4_256, AES256, AES192, 3DES168, RC4_128, AES128, 3DES112, RC4_56, DES, RC4_40, DES40

RC4_256, AES256, AES192, 3DES168, RC4_128, AES128, 3DES112, RC4_56, DES, RC4_40, DES40

Eine Liste der von der DB-Instance verwendeten Verschlüsselungsalgorithmen. Die DB-Instance nutzt die einzelnen Algorithmen (der Reihe nach), um die vom Client stammenden Daten zu entschlüsseln, bis ein Algorithmus zum Erfolg führt oder das Ende der Liste erreicht ist.

Amazon RDS verwendet die folgende Standardliste von Oracle. Sie können die Reihenfolge ändern oder die Algorithmen einschränken, die der Kunde akzeptieren wird.

  1. RC4_256: RSA RC4 (256-bit Schlüsselgröße)

  2. AES256: AES (256-bit Schlüsselgröße)

  3. AES192: AES (192-bit Schlüsselgröße)

  4. 3DES168: 3-key Triple-DES (112-bit effektive Schlüsselgröße)

  5. RC4_128: RSA RC4 (128-bit Schlüsselgröße)

  6. AES128: AES (128-bit Schlüsselgröße)

  7. 3DES112: 2-key Triple-DES (80-bit effektive Schlüsselgröße)

  8. RC4_56: RSA RC4 (56-bit Schlüsselgröße)

  9. DES: Standard DES (56-bit Schlüsselgröße)

  10. RC4_40: RSA RC4 (40-bit Schlüsselgröße)

  11. DES40: DES40 (40-bit Schlüsselgröße)

Sie können entweder einen Wert oder eine durch Kommas getrennte Werteliste angeben. Wenn Sie ein Komma verwenden, fügen Sie kein Leerzeichen nach dem Komma ein, andernfalls wird ein InvalidParameterValue-Fehler angezeigt.

Dieser Parameter undSQLNET.SQLNET.ENCRYPTION_TYPES_SERVERmuss eine gemeinsame Chiffre haben.

Hinzufügen der NNE-Option

Im Allgemeinen wird die NNE-Option wie folgt zu einer DB-Instance hinzugefügt:

  1. Erstellen Sie eine neue Optionsgruppe oder kopieren oder ändern Sie eine bestehende Optionsgruppe.

  2. Hinzufügen der Option zur Optionsgruppe.

  3. Ordnen Sie die Optionsgruppe der DB-Instance zu.

Wenn die Optionsgruppe aktiv ist, ist NNE aktiv.

Fügen Sie die NNE-Option zu einer DB-Instance mithilfe der AWS Management Console wie folgt hinzu:

  1. Wählen Sie im Feld Engine die Oracle-Edition aus, die Sie verwenden möchten. NNE wird in allen Editionen unterstützt.

  2. Wählen Sie für Major Engine Version (Engine-Hauptversion) die Version Ihrer DB-Instance aus.

    Weitere Informationen finden Sie unter Erstellen einer Optionsgruppe.

  3. Fügen Sie der Optionsgruppe die Option NNE hinzu. Weitere Informationen über das Hinzufügen von Optionen finden Sie unter Hinzufügen einer Option zu einer Optionsgruppe.

    Anmerkung

    Nachdem Sie die NNE-Option hinzugefügt haben, müssen Sie Ihre DB-Instances neustarten. Sobald die Optionsgruppe aktiv ist, ist auch NNE aktiv.

  4. Ordnen Sie die Optionsgruppe einer neuen oder bestehenden DB-Instance zu:

    • Einer neuen DB-Instance wird die Optionsgruppe beim Starten der Instance zugewiesen. Weitere Informationen finden Sie unter Erstellen einer Amazon RDS-DB-Instance.

    • Bei einer bestehenden DB-Instance weisen Sie die Optionsgruppe zu, indem Sie die Instance ändern und die neue Optionsgruppe anhängen. Wenn Sie die NNE-Funktion hinzugefügt haben, ist kein Neustart der DB-Instance erforderlich. Sobald die Optionsgruppe aktiv ist, ist auch NNE aktiv. Weitere Informationen finden Sie unter Ändern einer Amazon RDS-DB-Instance.

Einstellen von NNE-Werten in der sqlnet.ora

Mit der nativen Netzwerkverschlüsselung von Oracle können Sie die Netzwerkverschlüsselung sowohl auf der Server- als auch auf der Client-Seite einstellen. Der Client ist der Computer, mit dem eine Verbindung zur DB-Instance hergestellt wird. Sie können die folgenden Client-Einstellungen in slqnet.ora festlegen:

  • SQLNET.ALLOW_WEAK_CRYPTO

  • SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS

  • SQLNET.CRYPTO_CHECKSUM_CLIENT

  • SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT

  • SQLNET.ENCRYPTION_CLIENT

  • SQLNET.ENCRYPTION_TYPES_CLIENT

Weitere Informationen finden Sie unter Configuring Network Data Encryption and Integrity for Oracle Servers and Clients in der Oracle-Dokumentation.

Manchmal lehnt die DB-Instance eine Verbindungsanfrage von einer Anwendung ab. Beispielsweise kann eine Ablehnung auftreten, wenn die Verschlüsselungsalgorithmen auf dem Client und auf dem Server nicht übereinstimmen. Um die Oracle-eigene Netzwerkverschlüsselung zu testen, fügen Sie die folgenden Zeilen in die Datei sqlnet.ora auf dem Client ein:

DIAG_ADR_ENABLED=off TRACE_DIRECTORY_CLIENT=/tmp TRACE_FILE_CLIENT=nettrace TRACE_LEVEL_CLIENT=16

Wenn eine Verbindung versucht wird, erzeugen die vorangehenden Zeilen eine Trace-Datei auf dem Client mit der Bezeichnung /tmp/nettrace*. Die Trace-Datei enthält Informationen zur Verbindung. Weitere Informationen zu verbindungsbezogenen Problemen bei der Verwendung von Oracle Native Network Encryption finden Sie unter About Negotiating Encryption and Integrity in der Oracle-Database-Dokumentation.

Ändern der Einstellungen der Option NNE

Nachdem Sie NNE aktiviert haben, können Sie die Einstellungen für die Option ändern. Weitere Informationen über das Ändern von Optionseinstellungen finden Sie unter Ändern einer Optionseinstellung. Weitere Informationen zu den einzelnen Einstellungen finden Sie unter NNE-Optionseinstellungen.

Ändern von CRYPTO_CHECKSUM_*-Werten

Wenn Sie die NNE-Optionseinstellungen ändern, stellen Sie sicher, dass die folgenden Optionseinstellungen mindestens eine gemeinsame Verschlüsselung aufweisen:

  • SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER

  • SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT

Das folgende Beispiel zeigt ein Szenario, in dem Sie SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER ändern. Die Konfiguration ist gültig, da CRYPTO_CHECKSUM_TYPES_CLIENT und CRYPTO_CHECKSUM_TYPES_SERVER beide SHA256 verwenden.

Optionseinstellung Werte vor Änderung Werte nach Änderung

SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT

SHA256, SHA384, SHA512

Keine Änderung

SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER

SHA256, SHA384, SHA512, SHA1, MD5

SHA1,MD5,SHA256

Nehmen Sie für ein anderes Beispiel an, dass SieSQLNET.CRYPTO_CHECKSUM_TYPES_SERVERvon der Standardeinstellung aufSHA1,MD5aus. Stellen Sie in diesem Fall sicher, dass SieSQLNET.CRYPTO_CHECKSUM_TYPES_CLIENTaufSHA1oderMD5aus. Diese Algorithmen sind nicht in den Standardwerten füraus SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT.

Ändern der Einstellungen von ALLOW_WEAK_CRYPTO*

Um die SQLNET.ALLOW_WEAK_CRYPTO*-Optionen vom Standardwert auf FALSE festzulegen, stellen Sie sicher, dass die folgenden Bedingungen erfüllt sind:

  • SQLNET.ENCRYPTION_TYPES_SERVER und SQLNET.ENCRYPTION_TYPES_CLIENT haben eine passende sichere Verschlüsselungsmethode. Eine Methode gilt als sicher, wenn sie nicht DES, 3DES, oder RC4 (alle Schlüssellängen) ist.

  • SQLNET.CHECKSUM_TYPES_SERVER und SQLNET.CHECKSUM_TYPES_CLIENT haben eine passende sichere Prüfsummierungs-Methode. Eine Methode gilt als sicher, wenn sie nicht MD5 ist.

  • Der Kunde wird mit dem Netzteil vom Juli 2021 gepatcht. Wenn der Client nicht gepatcht ist, verliert der Client die Verbindung und erhält den ORA-12269-Fehler.

Das folgende Beispiel zeigt Beispiel-NNE-Einstellungen. Angenommen, Sie möchten SQLNET.ENCRYPTION_TYPES_SERVER und SQLNET.ENCRYPTION_TYPES_CLIENT auf FALSE festlegen und dadurch unsichere Verbindungen blockieren. Die Einstellungen der Prüfsummenoption erfüllen die Voraussetzungen, da beide SHA256 haben. Allerdings. benutzen SQLNET.ENCRYPTION_TYPES_CLIENT und SQLNET.ENCRYPTION_TYPES_SERVER die DES-, 3DES-, und RC4-Verschlüsselungsmethoden, die nicht sicher sind. Um die SQLNET.ALLOW_WEAK_CRYPTO*-Optionen auf FALSE festzulegen, setzen Sie daher zuerst SQLNET.ENCRYPTION_TYPES_SERVER und SQLNET.ENCRYPTION_TYPES_CLIENT auf eine sichere Verschlüsselungsmethode wie AES256.

Optionseinstellung Werte

SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT

SHA256, SHA384, SHA512

SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER

SHA1,MD5,SHA256

SQLNET.ENCRYPTION_TYPES_CLIENT

RC4_256, 3DES168, DES40

SQLNET.ENCRYPTION_TYPES_SERVER

RC4_256, 3DES168, DES40

Entfernen der NNE-Option

Sie können NNE aus einer DB-Instance entfernen.

Führen Sie die folgenden Schritte aus, um NNE aus einer DB-Instance zu entfernen:

  • Um NNE aus mehreren DB-Instances zu entfernen, entfernen Sie die NNE-Option aus der Optionsgruppe, zu der sie gehören. Diese Änderung wirkt sich auf alle DB-Instances aus, die die betreffende Optionsgruppe verwenden. Nachdem Sie die NNE-Option entfernt haben, müssen Sie Ihre DB-Instances neu starten. Weitere Informationen finden Sie unter Entfernen einer Option aus einer Optionsgruppe.

  • Um NNE von einer einzelnen DB-Instance zu entfernen, modifizieren Sie die DB-Instance und geben Sie eine andere Optionsgruppe an, die die NNE-Option nicht enthält. Sie können die (leere) Standardoptionsgruppe oder eine andere benutzerdefinierte Optionsgruppe angeben. Nachdem Sie die NNE-Funktion entfernt haben, ist kein Neustart der DB-Instance erforderlich. Weitere Informationen finden Sie unter Ändern einer Amazon RDS-DB-Instance.