Wir möchten den DB-Zugriff (Oracle) für unsere Benutzer nur über unsere eigene Anwendung zulassen - nennen wir sie "ourTool.exe", die lokal auf den Computern der Benutzer installiert ist. Derzeit müssen die Benutzer bei jedem Start von "ourTool" Benutzernamen/Passwort angeben. Das bereitgestellte Passwort wird entschlüsselt und wir verwenden username/decrypted-password, um sich endgültig bei der Oracle DB anzumelden. Dieser Ansatz verhindert, dass Benutzer direkt auf unsere Datenbank zugreifen können, indem sie Tools von Drittanbietern (SQLplus, Excel, Access, ...) verwenden und dass alles in der DB garantiert mit "ourTool" eingegeben/bearbeitet wurde.Orakel-DB-Login nur für bestimmte Anwendungen zulassen?
Nun möchte einer unserer Kunden seinen Benutzern "Single Sign-On" (mit SmartCards/Oracle PKI) erlauben. Dadurch kann der Benutzer bei jedem Start von "ourTool" eine Verbindung zu unserer Datenbank herstellen, ohne ein Passwort anzugeben. Aber das gleiche gilt für die potenziell gefährlichen Tools wie SQLplus, Excel, Access usw.
Gibt es eine Möglichkeit, dies zu verhindern? Wie können wir sicherstellen, dass jeder Datensatz in unserem DB nur mit "ourTool" in diesem Szenario erstellt/bearbeitet/gelöscht wird?
Seien Sie vorsichtig beim Einbetten des PW in die Quelle - es gibt viele Tools, mit denen Sie die eingebetteten ASCII-Strings in einer ausführbaren Datei sehen können. – DCookie
guter Punkt - ja, Sie müssen sich mit einer Art und Weise der Verschleierung der Zeichenfolge in der .exe – dpbradley
kommen Wenn Sie nicht den Netzwerkverkehr sichern, konnten sie immer noch den Text vom PC an die Datenbank übergeben. Ich denke, die SQL * -Netzverschlüsselung ist Teil einer der zusätzlichen Kostenoptionen für die Enterprise Edition. –