Datenbanksicherheit

Iam_Fiction

Mitglied
Hallo ich suche Hilfe zu folgendem Problem.

Ich habe eine Datenbank mit verschiedenen TabellenColumns auf die diverse Benutzer keinen Zugriff haben sollen. Nun möchte ich verschiedene Benutzer in meinem Programm mit verschiedenen Rechten haben.
Meine Frage zielt nun auf die bestmögliche Umsetzung dieser Vorgaben an.

- Soll ich die Benutzer direkt als Datenbanknutzer anlegen mit GRANT/REVOKE statments etc. (Problem das der User mit seinen aten auch so in die Datenbank eingreifen kann)

- Oder soll das Programm einen Vollzugriff auf die DB haben und die Userberechtigungen kontrollieren. (Problem das der Vollzugriff irg im Programm hartcodiert ist - Sicherheitsrisiko?!)

- Oder eine ganz andere Lösung?

Wie geht man meist generellbei einem solchen Szenario vor? Sollte ja eigentlich ein häufig anzutreffendes Problem sein habe nur leider keine Literatur hierzu gefunden :(

Vielen Dank für eure Antworten!
 
Naja, die vollen Zugangsdaten müssen ja nicht zwangsläufig in der DB stehen. Du kannst die ja auch in ner XML-File auslagern und dann parsen, verschlüsseln, wie auch immer. Dasselbe gilt für die SQLs.
Andere Sache ist die: wie wichtig ist das Programm? Ist sowas denn denkbar, dass sich jemand die Mühe machen würde, zu versuchen auf die gesamte DB zuzugreifen? Oder arbeiten damit nur "normale" Leute? Wie würdest du das Programm einschätzen?
 
Die Sache ist die, dass in der DB sensitive Daten wie Kontonummern/BLZ liegen für die ich zusätzlich noch eine sicher Methode (Verschlüsselung) suche. Wenn ich den Zugriff auf die DB im Programm oder sei es eine Xml File hardcodiere, auch wenn sie verschlüsselt ist, liegt halt doch irg der Schlüssel offen herum?! Falls ich die Benutzer direkt in der DB anlege und Rechtevergabe mache haben die Benutzer aber auch ohne Programm potentiellen Zugriff auf die Daten.

edit: Zudem wird das Programm in Java geschrieben, was mir auf den ersten Blick (sry falls ich falsch liege) nicht besonders sicheren Code erzeugt.
 
Zuletzt bearbeitet:
Zurück