Wie zu authentifizieren Oracle login mit verschlüsseltem Passwort
Sind wir die Verbindung zu Oracle mit KornShell (ksh) - Skripts, die die Verwendung von SQL*Plus eine Verbindung zu Oracle. Die Oracle-Datenbank auf demselben Solaris-box. Derzeit sind wir die Speicherung von Oracle-Benutzer-id und Passwort (plain text) in eine Datei im .ssh-Ordner des verbindenden Benutzers, mit 400-permission-bits.
Den DBAs wehren sich auf diese Weise zu arbeiten, unter Berufung auf die Tatsache, dass wir mit nur-text-Kennwort für die Authentifizierung. Wenn wir angeboten, dass wir Kodieren das Passwort mit base64 Sie noch nicht, wie die Idee, unter Berufung auf, dass wir noch entschlüsseln das Passwort in dem shell-script und übertragen Sie das Passwort über das Netzwerk.
Nun, ich möchte, um dies zu verstehen-
- Habe ich gelesen, dass Oracle verschlüsselt/hasht das Passwort vor der übertragung. Ich kann nicht finden die Referenz jetzt aber, jedoch, möchte ich noch bestätigen mein Verständnis. Ist es wirklich so? Wir sind auf 11g r2, würde das einen Unterschied machen?
- Würde ich wieder einloggen, um SQL*Plus ohne Entschlüsselung der Passwort-hash? z.B., Datenbankadministratoren setzen Sie ein Passwort, pass auf den hash zu mir. Ich legte es in eine Datei, und liefern SQL*Plus als parameter. Gibt es eine Möglichkeit, die durch diese Art der Authentifizierung funktioniert? Ich weiß, manche tools erlauben es, dass, wenn Sie Kodieren mit Ihrem Werkzeug sind Sie in der Lage zu entschlüsseln, die den Wert und verwenden Sie für die Authentifizierung. Macht Oracle?
Helfen mir Kerle.
InformationsquelleAutor Gyan | 2013-07-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Seine schon eine Weile da, dies zu tun (und ich habe nicht eine linux-box handliche atm), aber man kann versuchen diese, um die details auszublenden aus ps:
Beachten Sie, dass -s silent mode-für sqlplus. Ich glaube, Sie können auch das Passwort in einem "geschützten" - Datei (ich verwende den Begriff Locker, aber bits, die um 400) und cat die Datei, Rohrleitungen, sqlplus wie oben.
Bearbeiten:
Wenn die Datenbankadministratoren (DBAs) sind wirklich um Passwörter, dann wie über die Verwendung KEINE Passwörter. Sie können versuchen, die OS-Authentifizierung, aber müssen Sie einige setup-ersten. Zum Beispiel:
--in Oracle erstellen Sie neue Benutzer
-- in Unix (login, wie batch_user, oder benutzen Sie su-Befehl)
Beachten Sie, dass keine Passwörter verwendet werden, da der Benutzer authentifiziert ist, erfolgt durch das Betriebssystem. Dies ist weniger kompliziert, als Sie Oracle wallet imo, aber auch nicht perfekt.
InformationsquelleAutor tbone
Können Sie Oracle Wallets für DB Authentifizierung.
Beispiel von tuning kann gefunden werden hier.
InformationsquelleAutor ThinkJet
Wie genau sind Sie Anschluss an die db? Wenn Sie
sqlplus user/password@database
von Ihrer Kommandozeile/Skript dann indeeed ein problem haben. Der Grund dafür ist, dass Sie leicht sehen können das Passwort mit derps
Befehl.Verschleierung es mit
Base64
ist nicht wirklich eine Verschlüsselung, weilBase64
ist ein bekannter Algorithmus für die übertragung von binären Daten über den Draht. Dies könnte die Schallwand auch einige, aber sicherlich nicht einer sicheren Weise zu senden ein Passwort.Was ich in diesem Fall tun, um zu vermeiden, das Passwort wird angezeigt int er Prozess-Liste, ist, dass ich schreiben Sie das Kennwort, um eine Textdatei mit nur-lese-Berechtigung für den lokalen Benutzer. Dann Lauf ich sqlplus mit nohup oder im hintergrund
sqlplus user@db < pwdfile
und sofort löschen Sie die Datei erneut.InformationsquelleAutor Devolus