Comment puis-je utiliser une connexion SSL pour me connecter à mon instance de base de données Amazon RDS for Oracle ?
Je souhaite utiliser une connexion SSL (Secure Socket Layer) pour me connecter à mon instance de base de données Amazon Relational Database Service (Amazon RDS) for Oracle.
Brève description
Lorsque vous provisionnez une instance de base de données, Amazon RDS crée un certificat SSL, puis installe le certificat sur l'instance. Ces certificats sont signés par une autorité de certification. Le certificat SSL inclut le point de terminaison de l'instance de base de données comme nom commun du certificat SSL. Cela protège l'instance contre les attaques d'usurpation d'identité. Le certificat SSL créé par Amazon RDS est l'entité racine approuvée et fonctionne pour les cas d'utilisation les plus courants.
Amazon RDS for Oracle prend en charge les versions 1.0 et 1.2 de Transport Layer Security (TLS). Pour utiliser l'option Oracle SSL, utilisez le paramètre d'option SQLNET.SSL_VERSION de votre groupe d'options. Les valeurs suivantes sont autorisées pour ce paramètre d'option :
- 1.0 - Les clients peuvent utiliser TLS 1.0 uniquement pour se connecter à l'instance de base de données.
- 1.2 - Les clients peuvent utiliser TLS 1.2 uniquement pour se connecter à l'instance de base de données.
- 1.2 ou 1.0 - Les clients peuvent utiliser TLS 1.0 ou 1.2 pour se connecter à l'instance de base de données.
Pour les options SSL Oracle existantes, SQLNET.SSL_VERSION est défini sur 1.0" par défaut. Vous pouvez modifier ce paramètre si nécessaire.
Résolution
Limites
Vous pouvez utiliser le protocole SSL ou Native Network Encryption (NNE) sur la même instance de base de données RDS for Oracle, mais pas les deux. Si vous utilisez le chiffrement SSL, assurez-vous de désactiver tout autre chiffrement de connexion. Pour plus d'informations, consultez la section Chiffrement réseau natif Oracle.
Ajouter l'option SSL à un groupe d'options
Ajoutez l'option SSL dans votre groupe d'options client pour activer le mode SSL pour vos instances de base de données RDS for Oracle. Pour activer le mode SSL, procédez comme suit :
- Créez un nouveau groupe d'options ou choisissez un groupe d'options existant auquel ajouter l'option SSL.
- Ajoutez l'option SSL au groupe d'options. Si vous souhaitez utiliser des suites de chiffrement vérifiées FIPS pour les connexions SSL uniquement, définissez l'option FIPS.SSLFIPS_140 sur TRUE.
- Créez une nouvelle instance de base de données RDS for Oracle et associez-y le groupe d'options. Vous pouvez également modifier une instance de base de données RDS for Oracle pour y associer le groupe d'options.
Utilisez orapki pour configurer un portefeuille chez votre client
Sur votre client, définissez la variable d'environnement ORACLE_HOME sur l'emplacement de votre répertoire personnel Oracle.
-
Accédez au répertoire du client :
$ cd app/client/product/19.0.0/client_1
-
Confirmez le chemin :
[client_1]$ pwd /home/ec2-user/app/client/product/19.0.0/client_1
-
Définissez le chemin pour Oracle :
[client_1]$ export ORACLE_HOME=/home/ec2-user/app/client/product/19.0.0/client_1
-
Ajoutez la variable d’environnement &ORACLE_HOME/lib to the LD_LIBRARY_PATH :
[client_1]$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
-
Créez le répertoire du portefeuille :
[client_1]$ mkdir $ORACLE_HOME/ssl_wallet
-
Accédez au répertoire nouvellement créé :
[client_1]$ cd ssl_wallet
-
Téléchargez le bundle de certificats :
[ssl_wallet]$ wget https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem --2023-08-15 15:20:05-- https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem Resolving http://truststore.pki.rds.amazonaws.com (http://truststore.pki.rds.amazonaws.com)... 18.165.98.84, 18.165.98.93, 18.165.98.125, ... Connecting to http://truststore.pki.rds.amazonaws.com (http://truststore.pki.rds.amazonaws.com)|18.165.98.84|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 178780 (175K) [application/octet-stream] Saving to: 'global-bundle.pem' 100%[==============================================================================>] 178,780 --.-K/s in 0.002s 2023-08-15 15:20:05 (80.1 MB/s) - 'global-bundle.pem' saved [178780/178780]
-
Créez le portefeuille :
[ssl_wallet]$ orapki wallet create -wallet . -auto_login_only Oracle PKI Tool Release 19.0.0.0.0 - Production Version 19.3.0.0.0 Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved. Operation is successfully completed.
-
Ajoutez les certificats que vous avez téléchargés vers le fichier du portefeuille.
Télécharger un fichier PEM de bundle de certificats global ou spécifique à une région
Vous devez ensuite télécharger un bundle de certificats à utiliser lorsque vous vous connectez à la base de données RDS for Oracle. Pour plus d'informations, consultez la section Bundles de certificats pour des régions AWS spécifiques.
La fonction orapki du portefeuille d'Oracle ne peut importer les certificats initiaux qu'à partir d'un fichier de bundle PEM. Vous ne pouvez donc pas importer un bundle contenant plusieurs fichiers PEM dans le portefeuille. Pour activer les connexions SSL pour l'un des certificats (rds-ca-rsa2048-g1, rds-ca-rsa4096-g1), vous devez séparer les racines individuelles des fichiers PEM spécifiques à la région AWS.
Pour fractionner le fichier PEM, utilisez la méthode suivante :
cat us-east-1-bundle.pem |awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cert" n ".pem"}' [oracle@ip-***-**-**-*** wallet]$ ls -lrt total 28 -rw-r--r--. 1 oracle oinstall 7488 May 25 2021 us-east-1-bundle.pem -rw-r--r--. 1 oracle oinstall 1456 Sep 16 05:41 cert.pem -rw-r--r--. 1 oracle oinstall 989 Sep 16 05:41 cert4.pem -rw-r--r--. 1 oracle oinstall 2139 Sep 16 05:41 cert3.pem -rw-r--r--. 1 oracle oinstall 1448 Sep 16 05:41 cert2.pem -rw-r--r--. 1 oracle oinstall 1456 Sep 16 05:41 cert1.pem
Ajoutez ensuite tous les fichiers PEM au portefeuille. Vous ignorez quel fichier PEM appartient à chaque certificat. Aussi, ajoutez tous les fichiers PEM au portefeuille.
orapki wallet add -wallet /data/wallet -trusted_cert -cert cert.pem -auto_login_only orapki wallet add -wallet /data/wallet -trusted_cert -cert cert1.pem -auto_login_only orapki wallet add -wallet /data/wallet -trusted_cert -cert cert2.pem -auto_login_only orapki wallet add -wallet /data/wallet -trusted_cert -cert cert3.pem -auto_login_only orapki wallet add -wallet /data/wallet -trusted_cert -cert cert4.pem -auto_login_only
Utiliser openssl pour télécharger uniquement le fichier de certificat racine
Vous pouvez également utiliser openssl pour télécharger uniquement le fichier de certificat racine. Exécutez la commande suivante dans le serveur Red Hat Linux :
openssl s_client -connect user.ckyx0wdxr13x.us-east-1.rds.amazonaws.com:2484 -showcerts </dev/null 2>/dev/null | sed -n '/s:C = US.*Root/,$p' | sed -n '/BEGIN CERT/,/END CERT/p'> root.pem
Après avoir exécuté cette commande, vous pouvez ajouter le fichier créé (root.pem) à votre portefeuille Oracle. Reportez-vous à l’exemple suivant :
-----BEGIN CERTIFICATE----- MIID/zCCAuegAwIBAgIRAPVSMfFitmM5PhmbaOFoGfUwDQYJKoZIhvcNAQELBQAw gZcxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ bmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEwMC4GA1UEAwwn QW1hem9uIFJEUyB1cy1lYXN0LTEgUm9vdCBDQSBSU0EyMDQ4IEcxMRAwDgYDVQQH DAdTZWF0dGxlMCAXDTIxMDUyNTIyMzQ1N1oYDzIwNjEwNTI1MjMzNDU3WjCBlzEL MAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x EzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdBbWF6 b24gUkRTIHVzLWVhc3QtMSBSb290IENBIFJTQTIwNDggRzExEDAOBgNVBAcMB1Nl YXR0bGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDu9H7TBeGoDzMr dxN6H8COntJX4IR6dbyhnj5qMD4xl/IWvp50lt0VpmMd+z2PNZzx8RazeGC5IniV 5nrLg0AKWRQ2A/lGGXbUrGXCSe09brMQCxWBSIYe1WZZ1iU1IJ/6Bp4D2YEHpXrW bPkOq5x3YPcsoitgm1Xh8ygz6vb7PsvJvPbvRMnkDg5IqEThapPjmKb8ZJWyEFEE QRrkCIRueB1EqQtJw0fvP4PKDlCJAKBEs/y049FoOqYpT3pRy0WKqPhWve+hScMd 6obq8kxTFy1IHACjHc51nrGII5Bt76/MpTWhnJIJrCnq1/Uc3Qs8IVeb+sLaFC8K DI69Sw6bAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE7PCopt lyOgtXX0Y1lObBUxuKaCMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOC AQEAFj+bX8gLmMNefr5jRJfHjrL3iuZCjf7YEZgn89pS4z8408mjj9z6Q5D1H7yS jNETVV8QaJip1qyhh5gRzRaArgGAYvi2/r0zPsy+Tgf7v1KGL5Lh8NT8iCEGGXwF g3Ir+Nl3e+9XUp0eyyzBIjHtjLBm6yy8rGk9p6OtFDQnKF5OxwbAgip42CD75r/q p421maEDDvvRFR4D+99JZxgAYDBGqRRceUoe16qDzbMvlz0A9paCZFclxeftAxv6 QlR5rItMz/XdzpBJUpYhdzM0gCzAzdQuVO5tjJxmXhkSMcDP+8Q+Uv6FA9k2VpUV E/O5jgpqUJJ2Hc/5rs9VkAPXeA== -----END CERTIFICATE-----
orapki wallet add -wallet /data/wallet -trusted_cert -cert test.pem -auto_login_only Oracle PKI Tool Release 19.0.0.0.0 - Production Version 19.3.0.0.0 Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved. Operation is successfully completed. [oracle@ip-***-**-**-*** pem]$ orapki wallet display -wallet /data/wallet Oracle PKI Tool Release 19.0.0.0.0 - Production Version 19.3.0.0.0 Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved. Requested Certificates: User Certificates: Trusted Certificates: Subject: L=Seattle,CN=Amazon RDS us-east-1 Root CA RSA2048 G1,ST=WA,OU=Amazon RDS,O=Amazon Web Services\, Inc.,C=US [oracle@ip-172-31-19-245 pem]$ orapki cert display -cert test.pem Oracle PKI Tool Release 19.0.0.0.0 - Production Version 19.3.0.0.0 Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved. Subject: L=Seattle,CN=Amazon RDS us-east-1 Root CA RSA2048 G1,ST=WA,OU=Amazon RDS,O=Amazon Web Services\, Inc.,C=US Issuer: L=Seattle,CN=Amazon RDS us-east-1 Root CA RSA2048 G1,ST=WA,OU=Amazon RDS,O=Amazon Web Services\, Inc.,C=US Valid Until: Wed May 25 23:34:57 UTC 2061 [oracle@ip-***-**-**-*** admin]$ sqlplus admin/*******@'(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=user.ckyx0wdxr13x.us-east-1.rds.amazonaws.com)(PORT=2484))(CONNECT_DATA=(SID=USER)))' SQL*Plus: Release 19.0.0.0.0 - Production on Sun Sep 17 07:12:34 2023 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Last Successful login time: Sun Sep 17 2023 06:07:26 +00:00 Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.20.0.0.0 SQL> SELECT SYS_CONTEXT('USERENV', 'network_protocol') FROM DUAL; SYS_CONTEXT('USERENV','NETWORK_PROTOCOL') -------------------------------------------------------------------------------- tcps
Mettre à jour les fichiers sqlnet.ora et tnsnames.ora
Puis, accédez au répertoire réseau ou administrateur. Localisez les fichiers sqlnet.ora et tnsnames.ora et mettez-les à jour en conséquence. Si le fichier tnsnames.ora n'est pas présent, utilisez la méthode suivante pour le créer :
[~]$ cd app/client/product/19.0.0/client_1/network/admin [admin]$ cat > tnsnames.ora net_service_name = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCPS) (HOST = user.ckyx0wdxr13x.us-east-1.rds.amazonaws.com) (PORT = 2484) ) ) (CONNECT_DATA = (SID = ORCL) ) (SECURITY = (SSL_SERVER_CERT_DN = "C=US,ST=Washington,L=Seattle,O=Amazon.com,OU=RDS,CN=endpoint") ) ) :wq!
Mettez à jour le fichier sqlnet.ora pour inclure des informations actualisées pour vos connexions SLL :
[admin]$ vi sqlnet.ora WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /data/wallet))) SSL_CLIENT_AUTHENTICATION = TRUE SSL_VERSION = 1.0 SSL_CIPHER_SUITES = (SSL_RSA_WITH_AES_256_CBC_SHA) SSL_SERVER_DN_MATCH = ON :wq!
Connectez-vous à votre instance de base de données RDS for Oracle à l'aide de l'option SSL
Après avoir configuré SQL*Plus pour utiliser le protocole SSL, vous pouvez vous connecter à votre instance de base de données RDS for Oracle à l'aide de l'option SSL. Avant de vous connecter, vous pouvez éventuellement exporter la valeur TNS_ADMIN qui pointe vers le répertoire contenant les fichiers tnsnames.ora et sqlnet.ora. Cela signifie que SQL*Plus peut rechercher les fichiers de manière cohérente. Consultez l'exemple de commande suivant qui exporte la valeur TNS_ADMIN :
[client_1]$export TNS_ADMIN = ${ORACLE_HOME}/network/admin
Remarque : Avant de vous connecter à votre instance de base de données via SSL, vérifiez les points suivants :
- Le certificat racine RDS est téléchargé et ajouté à un fichier de portefeuille.
- Votre entrée TNS contient le numéro de port SSL approprié.
- Votre groupe de sécurité Amazon RDS est configuré pour autoriser les connexions entrantes depuis vos machines via le port SSL.
- Le pare-feu ou les politiques de sécurité sont configurés de manière appropriée pour autoriser le trafic sur le port SSL depuis Amazon RDS.
Informations connexes
Contenus pertinents
- demandé il y a un anlg...
- demandé il y a un moislg...
- demandé il y a un anlg...
- demandé il y a un anlg...
- AWS OFFICIELA mis à jour il y a un an
- AWS OFFICIELA mis à jour il y a 2 ans
- AWS OFFICIELA mis à jour il y a 4 ans