Comment authentifier Oracle de connexion à l'aide du mot de passe crypté
Nous sommes de la connexion à Oracle à l'aide de KornShell (ksh) les scripts qui utilisent SQL*Plus pour vous connecter à Oracle. La base de données Oracle est sur le même Solaris boîte. Actuellement, nous sommes le stockage Oracle id d'utilisateur et le mot de passe (en clair) dans un fichier dans le .ssh dossier de l'utilisateur qui se connecte avec 400 permission bits.
Les Administrateurs de base de données s'opposent à cette façon de travailler, citant le fait que nous utilisons la plaine de texte mot de passe pour l'authentification. Lorsque nous avons proposé que nous allions encoder le mot de passe à l'aide de base64, ils n'aiment pas l'idée, en disant que nous serions encore déchiffrer le mot de passe dans le script shell et de transmettre le mot de passe sur le réseau.
Maintenant, je veux comprendre ce-
-
J'ai lu que l'Oracle crypte/hachages de la chaîne de mot de passe, avant de les transmettre. Je ne peux pas trouver la référence de l'instant, cependant, je veux confirmer ma compréhension. Est-ce vraiment comme cela? Nous sommes sur 11g r2, que cela ferait une différence?
-
Serais-je capable de se connecter à SQL*Plus sans déchiffrer le hachage de mot de passe? par exemple, Administrateurs de base de données définir un mot de passe, passer sur la table de hachage pour moi. Je l'ai mis dans un fichier, et de l'approvisionnement de SQL*Plus en tant que paramètre. Est-il un moyen par lequel ce type d'authentification de travail? Je sais que certains outils ne permettent que, si l'encodage à l'aide de leur outil, ils sont en mesure de décrypter la valeur et l'utiliser pour l'authentification. N'Oracle?
M'aider les gars.
Vous devez vous connecter pour publier un commentaire.
Son été un moment depuis que ce faire (et je n'ai pas de machine sous linux, distributeur automatique de billets), mais vous pouvez essayer ce pour masquer les détails de ps:
Noter que -s est en mode silencieux pour sqlplus. Je crois que vous pouvez aussi mettre le mot de passe dans un fichier "protégé" (j'utilise ce terme vaguement, mais de définir les bits de 400) et le chat du fichier, de la tuyauterie de sqlplus comme ci-dessus.
Modifier:
Si les Administrateurs de bases de données sont réellement concernés par mot de passe, alors que diriez-vous à l'aide de PAS de mots de passe. Vous pouvez essayer d'authentification du système d'exploitation, mais vous avez besoin d'une installation de premier. Par exemple:
--Oracle, créer un nouvel utilisateur
-- dans Unix (login comme batch_user, ou utiliser la commande su)
Noter qu'aucun des mots de passe sont utilisés, puisque l'utilisateur est authentifié par le système d'exploitation. C'est moins compliqué que d'Oracle porte-monnaie de l'omi, mais pas parfait non plus.
Vous pouvez utiliser Oracle Portefeuilles pour l'authentification DB.
Exemple de réglage peut être trouvé ici.
Comment êtes-vous exactement de la connexion à la db? Si vous utilisez
sqlplus user/password@database
à partir de votre ligne de commande/script puis vous indeeed ont un problème. La raison en est, que vous pouvez facilement voir le mot de passe avec leps
commande.Abrutissant avec
Base64
n'est pas vraiment un cryptage de, carBase64
est un algorithme connu pour le transfert de données binaires sur le fil. Cela pourrait déflecteur de certains, mais certainement pas un moyen sûr de l'envoi d'un mot de passe.Ce que je fais dans ce cas, pour éviter le mot de passe indiqué, il int liste des processus, c'est que j'écris le mot de passe à un fichier de texte en lecture seule autorisation de l'utilisateur local. Puis-je exécuter sqlplus avec nohup ou dans l'arrière-plan
sqlplus user@db < pwdfile
et de supprimer immédiatement le fichier à nouveau.