Oracle NNE (Native Network Encryption) - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Oracle NNE (Native Network Encryption)

Amazon RDS prend en charge le chiffrement Oracle NNE. Le chiffrement de réseau natif (Native Network Encryption, NNE) vous permet de chiffrer les données lors de leur déplacement vers ou depuis une instance de base de données. Amazon RDS prend en charge NNE pour toutes les éditions de base de données Oracle.

Une présentation détaillée d'Oracle NNE dépasse le propos de ce guide, mais vous devez bien comprendre les points forts et les points faibles de chaque algorithme et de chaque clé avant de choisir une solution pour votre déploiement. Pour plus d'informations sur les algorithmes et les clés qui sont disponibles via Oracle NNE, consultez Configuration du chiffrement des données réseau dans la documentation Oracle. Pour plus d'informations sur la sécurité d'AWS, consultez le Centre de sécurité AWS.

Note

Vous pouvez utiliser le chiffrement réseau natif ou le protocole SSL (Secure Sockets Layer), mais pas les deux. Pour plus d'informations, consultez Oracle Secure Sockets Layer (SSL).

Paramètres d'option NNE

Vous pouvez spécifier les exigences de chiffrement à la fois sur le serveur et le client. L'instance de base de données peut agir en tant que client lorsque, par exemple, elle utilise un lien de base de données pour se connecter à une autre base de données. Vous pouvez éviter de forcer le chiffrement côté serveur. Par exemple, vous pouvez ne pas forcer toutes les communications client à utiliser le chiffrement car le serveur en a besoin. Dans ce cas, vous pouvez forcer le chiffrement côté client à l'aide des options SQLNET.*CLIENT.

Amazon RDS prend en charge les paramètres suivants pour l'option NNE.

Note

Lorsque vous utilisez des virgules pour séparer les valeurs d'un paramètre d'option, ne placez pas d'espace après la virgule.

Paramètre d'option Valeurs valides Valeurs par défaut Description

SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS

TRUE, FALSE

TRUE

Comportement du serveur lorsqu'un client utilisant un chiffrement non sécurisé tente de se connecter à la base de données. Si TRUE, les clients peuvent se connecter même s'ils ne sont pas corrigés avec la PSU de juillet 2021.

Si le paramètre est FALSE, les clients peuvent se connecter à la base de données uniquement lorsqu'ils sont corrigés avec la PSU de juillet 2021. Avant de paramétrer SQLNET.ALLOW_WEAK_CRYPTO_CLIENTS à FALSE, assurez-vous que les conditions suivantes sont remplies :

  • SQLNET.ENCRYPTION_TYPES_SERVER et SQLNET.ENCRYPTION_TYPES_CLIENT possèdent une méthode de chiffrement correspondante qui n'est pas DES ,3DES ou RC4 (toutes les longueurs de clés).

  • SQLNET.CHECKSUM_TYPES_SERVER et SQLNET.CHECKSUM_TYPES_CLIENT disposent d'une méthode de total de contrôle sécurisée correspondante autre que MD5.

  • Le client est corrigé avec la PSU de juillet 2021. Si le client n'est pas corrigé, il perd la connexion et reçoit l'erreur ORA-12269.

SQLNET.ALLOW_WEAK_CRYPTO

TRUE, FALSE

TRUE

Comportement du serveur lorsqu'un client utilisant un chiffrement non sécurisé tente de se connecter à la base de données. Les chiffrements suivants sont considérés comme non sécurisés :

  • Méthode de chiffrement DES (toutes les longueurs de clés)

  • Méthode de chiffrement 3DES (toutes les longueurs de clés)

  • Méthode de chiffrement RC4 (toutes les longueurs de clés)

  • Méthode de total de contrôle MD5

Si le paramètre est TRUE, les clients peuvent se connecter lorsqu'ils utilisent les chiffrements non sécurisés précédents.

Si le paramètre est FALSE, la base de données empêche les clients de se connecter lorsqu'ils utilisent les chiffrements non sécurisés précédents. Avant de paramétrer SQLNET.ALLOW_WEAK_CRYPTO à FALSE, assurez-vous que les conditions suivantes sont remplies :

  • SQLNET.ENCRYPTION_TYPES_SERVER et SQLNET.ENCRYPTION_TYPES_CLIENT possèdent une méthode de chiffrement correspondante qui n'est pas DES ,3DES ou RC4 (toutes les longueurs de clés).

  • SQLNET.CHECKSUM_TYPES_SERVER et SQLNET.CHECKSUM_TYPES_CLIENT disposent d'une méthode de total de contrôle sécurisée correspondante autre que MD5.

  • Le client est corrigé avec la PSU de juillet 2021. Si le client n'est pas corrigé, il perd la connexion et reçoit l'erreur ORA-12269.

SQLNET.CRYPTO_CHECKSUM_CLIENT

Accepted, Rejected, Requested, Required

Requested

Comportement d'intégrité des données quand une instance de base de données se connecte au client, ou à un serveur agissant en tant que client. Lorsqu'une instance DB utilise un lien de base de données, elle agit en tant que client.

Requested indique que le client ne nécessite pas que l'instance de base de données effectue un total de contrôle.

SQLNET.CRYPTO_CHECKSUM_SERVER

Accepted, Rejected, Requested, Required

Requested

Comportement d'intégrité des données quand un client, ou un serveur agissant en tant que client, se connecte à l'instance de base de données. Lorsqu'une instance DB utilise un lien de base de données, elle agit en tant que client.

Requested indique que l'instance de base de données ne nécessite pas que le client effectue un total de contrôle.

SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT

SHA256, SHA384, SHA512, SHA1, MD5

SHA256, SHA384, SHA512

Une liste d'algorithmes de somme de contrôle.

Vous pouvez spécifier une valeur ou une liste de valeurs séparées par des virgules. Si vous spécifiez une virgule, n'insérez pas d'espace après celle-ci ; sinon, vous recevez une erreur InvalidParameterValue.

Ce paramètre et SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER doivent avoir un chiffrement commun.

SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER

SHA256, SHA384, SHA512, SHA1, MD5

SHA256, SHA384, SHA512, SHA1, MD5

Une liste d'algorithmes de somme de contrôle.

Vous pouvez spécifier une valeur ou une liste de valeurs séparées par des virgules. Si vous spécifiez une virgule, n'insérez pas d'espace après celle-ci ; sinon, vous recevez une erreur InvalidParameterValue.

Ce paramètre et SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT doivent avoir un chiffrement commun.

SQLNET.ENCRYPTION_CLIENT

Accepted, Rejected, Requested, Required

Requested

Comportement de chiffrement du client quand un client, ou un serveur agissant en tant que client, se connecte à l'instance de base de données. Lorsqu'une instance DB utilise un lien de base de données, elle agit en tant que client.

Requested indique que le client ne requiert pas que le trafic depuis l'instance de base de données soit chiffré.

SQLNET.ENCRYPTION_SERVER

Accepted, Rejected, Requested, Required

Requested

Comportement de chiffrement du serveur quand un client, ou un serveur agissant en tant que client, se connecte à l'instance de base de données. Lorsqu'une instance DB utilise un lien de base de données, elle agit en tant que client.

Requested indique que l'instance de base de données ne requiert pas que le trafic depuis le client soit chiffré.

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

Liste d'algorithmes de chiffrement utilisés par le client. Le client tente de déchiffrer l'entrée du serveur en essayant chaque algorithme, dans l'ordre, jusqu'à ce qu'un algorithme réussisse ou que la fin de la liste soit atteinte.

Amazon RDS utilise la liste par défaut suivante d'Oracle. RDS commence par RC4_256 et parcourt la liste dans l'ordre. Vous pouvez modifier l'ordre ou limiter les algorithmes que l'instance de base de données accepte.

  1. RC4_256 : RSA RC4 (taille de clé 256 bits)

  2. AES256 : AES (taille de clé 256 bits)

  3. AES192 : AES (taille de clé 192 bits)

  4. 3DES168: 3-key Triple-DES (taille de clé effective 112 bits)

  5. RC4_128 : RSA RC4 (taille de clé 128 bits)

  6. AES128 : AES (taille de clé 128 bits)

  7. 3DES112 : 2-key Triple-DES (taille de clé effective 80 bits)

  8. RC4_56 : RSA RC4 (taille de clé 56 bits)

  9. DES : Standard DES (taille de clé 56 bits)

  10. RC4_40 : RSA RC4 (taille de clé 40 bits)

  11. DES40 : DES40 (taille de clé 40 bits)

Vous pouvez spécifier une valeur ou une liste de valeurs séparées par des virgules. Si vous spécifiez une virgule, n'insérez pas d'espace après celle-ci ; sinon, vous recevez une erreur InvalidParameterValue.

Ce paramètre et SQLNET.SQLNET.ENCRYPTION_TYPES_SERVER doivent avoir un chiffrement commun.

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

Liste d'algorithmes de chiffrement utilisés par l'instance de base de données. L'instance de base de données utilise chaque algorithme, dans l'ordre, pour tenter de déchiffrer l'entrée du client jusqu'à ce qu'un algorithme réussisse ou que la fin de la liste soit atteinte.

Amazon RDS utilise la liste par défaut suivante d'Oracle. Vous pouvez modifier l'ordre ou limiter les algorithmes que le client accepte.

  1. RC4_256 : RSA RC4 (taille de clé 256 bits)

  2. AES256 : AES (taille de clé 256 bits)

  3. AES192 : AES (taille de clé 192 bits)

  4. 3DES168: 3-key Triple-DES (taille de clé effective 112 bits)

  5. RC4_128 : RSA RC4 (taille de clé 128 bits)

  6. AES128 : AES (taille de clé 128 bits)

  7. 3DES112 : 2-key Triple-DES (taille de clé effective 80 bits)

  8. RC4_56 : RSA RC4 (taille de clé 56 bits)

  9. DES : Standard DES (taille de clé 56 bits)

  10. RC4_40 : RSA RC4 (taille de clé 40 bits)

  11. DES40 : DES40 (taille de clé 40 bits)

Vous pouvez spécifier une valeur ou une liste de valeurs séparées par des virgules. Si vous spécifiez une virgule, n'insérez pas d'espace après celle-ci ; sinon, vous recevez une erreur InvalidParameterValue.

Ce paramètre et SQLNET.SQLNET.ENCRYPTION_TYPES_SERVER doivent avoir un chiffrement commun.

Ajout de l'option NNE

La procédure générale pour ajouter de l'option NNE à une instance de base de données est la suivante :

  1. Créer un groupe d'options ou copier ou modifier un groupe existant.

  2. Ajoutez l'option au groupe d'options.

  3. Associez le groupe d'options à l'instance de base de données.

Quand le groupe d'options est actif, NNE est actif.

Pour ajouter l'option NNE à une instance de base de données à l'aide de l'AWS Management Console
  1. Pour Moteur, sélectionnez l'édition d'Oracle que vous voulez utiliser. NNE est pris en charge par toutes les éditions.

  2. Pour Version majeure du moteur, choisissez la version de votre instance de base de données.

    Pour plus d'informations, consultez Création d'un groupe d'options.

  3. Ajouter l'option NNE au groupe d'options. Pour plus d'informations sur l'ajout d'options, consultez Ajout d'une option à un groupe d'options.

    Note

    Une fois que vous ajoutez l'option NNE, vous n'avez pas besoin de redémarrer vos instances de base de données. Dès que le groupe d'options est actif, NNE est actif.

  4. Appliquez le groupe d'options à une instance de base de données nouvelle ou existante:

    • Pour une nouvelle instance de base de données, vous appliquez le groupe d'options lorsque vous lancez l'instance. Pour plus d'informations, consultez Création d'une instance de base de données Amazon RDS.

    • Pour une instance de base de données existante, vous appliquez le groupe d'options en modifiant l'instance et en attachant le nouveau groupe d'options. Une fois que vous ajoutez l'option NNE, vous n'avez pas besoin de redémarrer votre instance de base de données. Dès que le groupe d'options est actif, NNE est actif. Pour de plus amples informations, veuillez consulter Modification d'une instance de base de données Amazon RDS.

Définition des valeurs NNE dans sqlnet.ora

Avec le chiffrement réseau natif Oracle, vous pouvez spécifier le chiffrement réseau côté serveur et côté client. Le client est l'ordinateur utilisé pour se connecter à l'instance de base de données. Vous pouvez spécifier les paramètres client suivants dans le fichier slqnet.ora :

  • 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

Pour plus d'informations, consultez Configuration du chiffrement des données réseau et intégrité des clients et serveurs Oracle dans la documentation Oracle.

Parfois, l'instance de base de données rejette une demande de connexion provenant d'une application. Par exemple, un rejet peut se produire lorsque les algorithmes de chiffrement sur le client et sur le serveur ne correspondent pas. Pour tester le chiffrement réseau natif Oracle, ajoutez les lignes suivantes dans le fichier sqlnet.ora sur le client :

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

Lors d'une tentative de connexion, ces lignes génèrent un fichier de trace sur le client appelé /tmp/nettrace*. Le fichier de trace contient des informations concernant la connexion. Pour plus d'informations sur les problèmes liés à la connexion lorsque vous utilisez le chiffrement de réseau natif Oracle, veuillez consulter À propos de la négociation du chiffrement et de l'intégrité dans la documentation base de données Oracle.

Modification des paramètres d'option de NNE

Après avoir activé NNE, vous pouvez modifier ses paramètres. Actuellement, vous pouvez modifier les paramètres de l'option NNE uniquement à l'aide de l'AWS CLI ou de l'API RDS. Vous ne pouvez pas utiliser la console. Pour découvrir comment modifier des paramètres d'option avec l'interface de ligne de commande, consultez AWS CLI. Pour plus d'informations sur chaque paramètre, consultez Paramètres d'option NNE.

Modification des valeurs CRYPTO_CHECKSUM_*

Si vous modifiez les paramètres des options NNE, assurez-vous que les paramètres des options suivantes ont au moins un chiffrement commun :

  • SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER

  • SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT

L'exemple suivant montre un scénario dans lequel vous modifiez SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER. La configuration est valide car CRYPTO_CHECKSUM_TYPES_CLIENT et CRYPTO_CHECKSUM_TYPES_SERVER utilisent tous les deux SHA256.

Paramètre d'option Valeurs avant modification Valeurs après modification

SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT

SHA256, SHA384, SHA512

Pas de modification

SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER

SHA256, SHA384, SHA512, SHA1, MD5

SHA1,MD5,SHA256

Pour un autre exemple, supposons que vous souhaitez modifier SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER à partir de son paramètre par défaut vers SHA1,MD5. Dans ce cas, veillez à définir SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT sur SHA1 ou MD5. Ces algorithmes ne sont pas inclus dans les valeurs par défaut pour SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT.

Modification des paramètres ALLOW_WEAK_CRYPTO*

Pour définir le paramètre SQLNET.ALLOW_WEAK_CRYPTO* de la valeur par défaut à FALSE, vérifiez que les conditions suivantes sont réunies :

  • SQLNET.ENCRYPTION_TYPES_SERVER et SQLNET.ENCRYPTION_TYPES_CLIENT possèdent une méthode de chiffrement sécurisée correspondante. Une méthode est considérée comme sécurisée si elle n'est pas DES ,3DES ou RC4 (toutes les longueurs de clés).

  • SQLNET.CHECKSUM_TYPES_SERVER et SQLNET.CHECKSUM_TYPES_CLIENT disposent d'une méthode de total de contrôle sécurisée correspondante. Une méthode est considérée comme sécurisée si elle n'est pas MD5.

  • Le client est corrigé avec la PSU de juillet 2021. Si le client n'est pas corrigé, il perd la connexion et reçoit l'erreur ORA-12269.

L'exemple suivant montre des exemples de paramètres NNE. Supposons que vous souhaitez définir SQLNET.ENCRYPTION_TYPES_SERVER et SQLNET.ENCRYPTION_TYPES_CLIENT à FALSE, bloquant ainsi les connexions non sécurisées. Les paramètres de l'option de total de contrôle répondent aux conditions préalables car ils ont tous les deux SHA256. Cependant, SQLNET.ENCRYPTION_TYPES_CLIENT et SQLNET.ENCRYPTION_TYPES_SERVER utilisent les méthodes de chiffrement DES, 3DES et RC4, qui ne sont pas sécurisées. Par conséquent, pour définir les options SQLNET.ALLOW_WEAK_CRYPTO* à FALSE, définissez d'abord SQLNET.ENCRYPTION_TYPES_SERVER et SQLNET.ENCRYPTION_TYPES_CLIENT pour utiliser une méthode de chiffrement sécurisée telle que AES256.

Paramètre d'option Valeurs

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

Suppression de l'option NNE

Vous pouvez supprimer NNE d'une instance de base de données.

Pour supprimer NNE d'une instance de base de données, exécutez l'une des actions suivantes :

  • Pour supprimer NNE de plusieurs instances de base de données, supprimez l'option NNE du groupe d'options auquel elles appartiennent. Ce changement affecte toutes les instances de bases de données qui utilisent le groupe d'options. Une fois l'option NNE supprimée, vous n'avez pas besoin de redémarrer vos instances de base de données. Pour plus d'informations, consultez Suppression d'une option d'un groupe d'options.

  • Pour supprimer l'option NNE d'une seule instance de base de données, modifiez l'instance de base de données et spécifiez un autre groupe d'options qui n'inclut pas l'option NNE. Vous pouvez spécifier le groupe d'options (vide) par défaut, ou un groupe d'options personnalisées différent. Une fois que vous supprimez l'option NNE, vous n'avez pas besoin de redémarrer votre instance de base de données. Pour de plus amples informations, veuillez consulter Modification d'une instance de base de données Amazon RDS.