Désactiver l'option Advanced Security

Lors d’une expérience récente, j’ai eu l’occasion de me pencher sur les licences Oracle et ainsi d’avoir la joie de chercher pourquoi une option Advanced Security (ASO) était détectée sur beaucoup de bases de données.
Ma première réaction a été de pester sur le dos des utilisateurs qui avaient dû cocher une case de chiffrement des flux entre leur client et la base de données.
Après plusieurs heures de recherche, j’ai pu retirer cette possibilité… Le cas de test a été simple, créer une base de données vierge, déployer mes scripts et méthodologies habituelles de monitoring puis de regarder dans les vues du dictionnaire de données ce qui se passait.
A mon grand déplaisir, certaines connexions affichaient fièrement leur plaisir d’utilisation d’algorithme d’intégrité et de chiffrement…
Pour de plus amples informations sur ces mots barbares que sont « algorithme d’intégrité et de chiffrement », je vous invite à lire ces 2 articles : http://fr.wikipedia.org/wiki/SHA-1 et http://fr.wikipedia.org/wiki/Advanced_Encryption_Standard
Maintenant mon problème identifié avec l’utilisation de SHA-1 et AES256, il ne me restait plus qu’à trouver d’où venaient ces connexions. Le jeu a été très simple, il me suffisait de joindre les vues v$session et v$session_connect_info.
Et là… j’ai eu mon coupable !!
Oracle Enterprise Manager 12c.
Ce dernier crée des connexions à la base de données lorsque vous vous connectez à votre cible. Cette connexion se fait directement entre l’OMS et la base de données cible.
Comme on peut le voir dans OEM 12c, après s’être rendu dans la partie performance d’une base par exemple, la connexion à la base utilise du SHA-1 et de l’AES256.
Image Hosted by ImageShack.us
En effectuant des recherches sur la toile ainsi que sur Metalink (oups, My Oracle Support pardon), je suis tombé sur la note 76629.1 (Overview and Configuration of ASO Encryption) qui présente les cas d’utilisation d’ASO entre clients et serveurs.
J’ai donc décidé de suivre la documentation d’implémentation pour le supprimer.
Ainsi, il suffit d’effectuer une modification dans le fichier SQLNET.ORA.
Cette modification consiste en l’ajout des deux lignes suivantes :

SQLNET.CRYPTO_CHECKSUM_SERVER = rejected
 SQLNET.ENCRYPTION_SERVER = rejected

Ce simple ajout nous permet de rejeter les connexions utilisant des méthodes d’authentification activant l’ASO.
Bien sûr, si le fichier SQLNET.ORA n’existe pas, il vous suffit de le créer dans $ORACLE_HOME/network/admin.
Attention toutefois, si vous avez installé plusieurs $ORACLE_HOME sur un seul hôte, il vous faudra effectuer la modification dans TOUS les $ORACLE_HOME.
Une fois la modification effectuée, je me suis désauthentifié de la console OEM12c et ai redémarré l’agent OEM.
Suite à ma reconnexion, j’ai eu le plaisir que le chiffrement et l’intégrité étaient supprimés !
Image Hosted by ImageShack.us
Bien entendu, j’ai procédé de la sorte dans un environnement sécurisé où les connexions globales au réseau sont déjà authentifiées et donc sûres.
Bonne continuation

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *