Frage zur Sicherheit von Konfigurationsdatei

Status
Nicht offen für weitere Antworten.

NeoAnderson1982

Neues Mitglied
Hi!

Ich möchte gerade mit einem neuen Projekt starten und da ich Programme gerne Plattform-übergreifend schreibe, möchte ich Java verwenden.
Jetzt habe ich allerdings eine kleine Frage, bevor es losgeht.
Das Projekt wird auf eine Datenbank eines Webservers zugreifen (MySQL). Wie ich dazu eine Verbindung herstelle, weiß ich und ist ja auch überall gut dokumentiert. Meine Frage dreht sich da eher um die Sicherheit, vor allem für die Datenbank.
Das Programm kann von jedem Menschen im Netz heruntergeladen werden.
Meine Frage ist nun, wie kann ich die Konfigurationsdaten, also Datenbankname, Benutzername und -passwort so sichern, dass die Nutzer die Daten nicht auslesen können?
Denn wenn ich das bisher richtig gesehen habe, gibt es ja eigentlich keine Möglichkeit, den Programmcode vor einer Analyse durch Dritte zu schützen, oder?

Mit bestem Dank
Aljoscha Peters
 

sparrow

Top Contributor
Eine hundertprozentige Sicherheit gibt es nicht, egal in welcher Programmiersprache.
Wenn du die Zugangsdaten heraus gibst musst du damit rechnen, dass sie jemand findet. Das würde auch für C-Programme gelten, denn wenn dir eine ELF oder EXE-Datei anschaust wirst du sehen, dass auch darin die Zeichenketten aus dem Programm durchaus noch lesbar sind.

Eine Möglichkeit wäre es die Daten nachträglich nachzuladen, also z.B. bei dem Server anzufragen der auch die Datenbank beherbergt und entsprechend die Daten so zu übertragen. Aber auch das kann man heraus bekommen und entsprechend selbst nachfragen.

Eine weitere Möglichkeit: Java kommuniziert mit PHP auf dem Webspace und ausschließlich PHP greift auf die Datenbank zu.
 
T

tuxedo

Gast
Hi!
Meine Frage ist nun, wie kann ich die Konfigurationsdaten, also Datenbankname, Benutzername und -passwort so sichern, dass die Nutzer die Daten nicht auslesen können?

Wie sparrow schrieb: Gar nicht.

Wer auf etwas zugreifen will muss zwangsweise wissen WIE er das macht. Und es ist in Java, sowie in anderen Sprachen auch kein Hexenwerk vordefinierte Zugangsdaten auszulesen.

Ergo: Zugangsdaten nicht mitliefern, sondern vom Anwender eingeben lassen. Klar, nicht immer macht das in Anwendungsfall Sinn. Aber entweder der Server vertraut allem was ankommt, oder der Server vertraut nur bekannten Usern. Für eins von beidem musst du dich entscheiden.

- Alex
 

gizmo

Bekanntes Mitglied
Eine andere Möglichkeit wäre es, den Client nicht direkt mit der DB kommunizieren zu lassen, sondern über Webservices o.ä., welche die Funktion bereitstellen und auf der DB arbeiten.

Damit ist es dem Client nicht mehr möglich beliebige Kommandos auf der DB auszuführen.

Andernfalls kannst du wie schon erwähnt verschiedene Nutzer in der DB anlegen.

Meiner Erfahrung nach wird normalerweise die Variante mit Services genutzt. Security ist dann z.B. auch über die Konzepte von EJB möglich.
 
T

tuxedo

Gast
Wobei da auch wieder das "dem Client vertrauen" greift. Aber klar, das ist dann weniger kritisch.

DIREKT würde ich einen Client nie mit der DB sprechen lassen. Außer jeder Client bringt seine eigene Embedded DB mit :)

- Alex
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
8 MySQL Kurze Frage zur Sicherheit Datenbankprogrammierung 9
M Frage zu Bundesliga-DB Datenbankprogrammierung 1
pkm Frage zu Encodingproblem bei einer Datenbankanbindung Datenbankprogrammierung 1
B Frage bei einer SQL Query Datenbankprogrammierung 3
B Frage zu Datenbank Design bei Events (ZenDesk) Datenbankprogrammierung 1
B SQLite Frage zu SQLite Datenbankverbindung Datenbankprogrammierung 7
M Frage zu JSON Datenbankprogrammierung 16
Psypsy Hibernate / JPA OneToOne MappedBy Frage Datenbankprogrammierung 2
P Frage zu Connection.close() Datenbankprogrammierung 4
R MySQL Frage zum Anlegen von Artikeln inkl. Verbindungen Datenbankprogrammierung 0
M Grundlegende Klassen-Design Frage Datenbankprogrammierung 0
P MySQL Frage zur Einbindung in ein Java Projekt Datenbankprogrammierung 2
I Frage zu Datenmodellierung Datenbankprogrammierung 3
J Normalisierung - Allgemeine Frage zur 3. Normalform (Eventuelle Abhängigkeit) Datenbankprogrammierung 4
F Normalisierung Datenbank Frage Datenbankprogrammierung 5
J Frage zu ResultSet Datenbankprogrammierung 3
W Frage zur Datenbankwahl bei Umstieg auf Java Datenbankprogrammierung 7
D Frage zu DISTINCT in SQL Datenbankprogrammierung 5
K Frage zur Datenprotokollierung bei DML Anweisungen Datenbankprogrammierung 3
K Frage zu SQL Datenbankprogrammierung 2
L PostgreSQL Hibernate-Frage Datenbankprogrammierung 2
K Frage zu Datenbankmodellierung Datenbankprogrammierung 15
D Generelle Frage zum Umgang mit Datensätzen Datenbankprogrammierung 5
L Frage zu UpdateQuery Datenbankprogrammierung 12
D Frage zu INSERTS über mehrere Datenbanktabellen Datenbankprogrammierung 3
D Frage zu Ausführungsmöglichkeiten von SQL Befehlen Datenbankprogrammierung 13
D Frage zu SQL Syntax Datenbankprogrammierung 17
D Frage zu potenziellen Leerzeichen in einer Datenbank Datenbankprogrammierung 5
X Connection schließen oder speichern? Performance Frage Datenbankprogrammierung 7
J mal wieder eine Frage zu parallelen Transaktionen.. Datenbankprogrammierung 2
V Frage zu Hibernate-Mapping Datenbankprogrammierung 11
N Allg. Frage zur Datenbankverbindung Datenbankprogrammierung 2
E einfache Frage bei DB-Zugriff Datenbankprogrammierung 11
S MySQL Frage zu LeftJoin Abfrage Datenbankprogrammierung 2
O eigentlich simple SQL Frage Datenbankprogrammierung 2
M Frage zu folgender Query in EJB-QL Datenbankprogrammierung 4
H JBoss: Frage zur Datasource in der ...-ds.xml Datenbankprogrammierung 4
F Frage zu Prepared Statement Datenbankprogrammierung 2
R hibernate Frage zu configFile-Pfad und Groß/Kleinschreibung von Postgres-Tabellen Datenbankprogrammierung 8
U Frage zum Erfassen von hinzufügten und entfernten Objekten Datenbankprogrammierung 9
M prinzipielle Frage zu Datenbanken und jars ... Datenbankprogrammierung 2
S Hibernate - spezielle Frage, n zu n Beziehung Datenbankprogrammierung 11
R Frage zu PreparedStatement/ResultSet Datenbankprogrammierung 16
J Frage zu Synchronisation bei parallelem Zugriff, speziell mit JPA Datenbankprogrammierung 2
F EclipseLink persistence.xml Frage Datenbankprogrammierung 11
H performance frage Datenbankprogrammierung 9
G Frage zum Insert-Statement Datenbankprogrammierung 2
Antoras Design-Frage: Datenzuordnung zu verschiedenen Accounts Datenbankprogrammierung 2
T HSQL: verständnis Frage Datenbankprogrammierung 2
T Java JPA Frage bzgl. DISTINCT Datenbankprogrammierung 2
G Frage zu connection? Datenbankprogrammierung 9
A Frage zu SQL-Abfrage Datenbankprogrammierung 2
G Frage zu SQL "WHERE IN (1, 2, 3. , N)" Datenbankprogrammierung 8
G Allgemeine Frage zu Datenbanklimits Datenbankprogrammierung 27
G allgemeine JDBC-Connection Frage Datenbankprogrammierung 2
G Frage zu Hibernate und M:N Beziehung Datenbankprogrammierung 9
K HQL Frage Datenbankprogrammierung 10
D kurze Frage zu einem Query Datenbankprogrammierung 6
B Hibernate mit MySql - Verständniss Frage Datenbankprogrammierung 8
N Kleine Frage zu Connection Pooling mit DataSource Datenbankprogrammierung 2
T Update-Frage Datenbankprogrammierung 11
E SQL-Frage (Löschen aller Datensätze) Datenbankprogrammierung 9
P Frage zu Performancetest einer Datenbank Datenbankprogrammierung 3
W Frage zum Umgang mit DB-Daten Datenbankprogrammierung 2
E Nochmal eine Datenbankabfrage Frage :-o (JOIN oder so) Datenbankprogrammierung 4
P frage zu "" bei INSERT STATEMENTS Datenbankprogrammierung 2
K frage zum ausführen eines INSERT statements Datenbankprogrammierung 16
L frage zu mySQL Datenbankprogrammierung 4
C Mal ne Frage an die Experten Datenbankprogrammierung 4
G Frage zum Datenbankdesign Datenbankprogrammierung 5
J DB Verbindung Design Frage Datenbankprogrammierung 5
M Datenbankanbindung in Java : Newbie-Frage Datenbankprogrammierung 2
U Grundsätzliche Frage Datenbankprogrammierung 4
S Frage zu INSERT Datenbankprogrammierung 2
X Wieder mal ne Frage ... Datenbankprogrammierung 15
Z Sicherheit Datenbankprogrammierung 0
Neumi5694 MS Access Sicherheit entfernen Datenbankprogrammierung 0
D MySQL Applet MYSQL Abfragen Sicherheit Datenbankprogrammierung 2
D Sicherheit für Datenbankverbindung Datenbankprogrammierung 19
S Sicherheit bei JPMDBC Datenbankprogrammierung 5
M Sicherheit bei Applet auf MySQL Datenbank Datenbankprogrammierung 4
G DB Sicherheit in JAVA Datenbankprogrammierung 14
sparrow Datenbank und Sicherheit Datenbankprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben