Sicherheit Datenbankverbindung

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,


ich spiele mit dem gedanken ein clientprogramm zu entwickeln, welches sich über einen mysql server authentisiert.
Meine Frage ist, ob man aus einer JAR Datei die dort enthaltenen Passwörter und Datenbankverbindungen wieder rückwärts auslesen kann.
Wie kann ich eine Anwendung dahingehend sicher machen?
 

Joker

Bekanntes Mitglied
ja, natürlich kann man das.
Am besten ist es, wenn man die Verbindungsdaten beim Installationsvorgang vom Benutzer eingeben lässt.
 

AlArenal

Top Contributor
Maximale Sicherheit erreicht man, wenn man alle angeschlossenen Stecker aus ihren Buchsen entfernt. Selbst dann gilt weiterhin, dass Sicherheit relativ ist.

Sicherheitstechnisch ist es schonmal ürre externen Zugriff auf eine DB zu erlauben. Normal gehört sowas via Konfiguration des Service und Firewall unterbunden. Wenn einem nichts besseres einfällt, gilt es natürlich die Passwörter nicht im Klartext abzulegen und den Zugriff auf die entsprechenden Tabellen DB-seitig auf Lesen zu beschränken.

Clientseitig kannst du wenig tun, denn die Zugangsdaten musst du irgendwo haben und du musst sie auch lesen können. Selbst wenn du sie verschlüsselst, lieferst du mit der Anwendung selbst auch den Code sie zu entschlüsseln.

Mit zusätzlichem Installationsaufwand kann man über SSH tunneln, so laufen Zugans- und Nutzdatzen wenigstens nicht im Klartext durchs Netz. Am saubersten wäre es vermutlich das Ganze verschlüsselt über einen Webservice zu lösen. Durch die zusätzliche Logik auf dem Server hat man auch mehr Möglichkeiten zum Logging und ggf. zur automatischen Sperrung, etc. (wobei man das auch serverseitig mittels fail2ban u.ä. machen kann)

Grundsätzlich stellt sich am Anfang aber zunächst die Frage, "Wie schützenswert sind die Daten?". Kein Skriptkiddie der Welt interessiert sich für den Zugriff auf dein gemeinschaftlich gepflegtes Familienkochbuch.
 
G

Guest

Gast
wie ist das denn bei einem messenger?

z.b. icq (auch wenn es nicht unbedingt? mit java geschrieben ist)

ich habe da das progrmam naürlich ohne passwörter, aber ich muss mich ja mit dem server verbinden.
d.h. dieser erlaubt nur einen lesezugriff (warhscheinlich :D ).
Ist sowas denn ok? kann man die serverip die irgendwo im quellcode steht doch sichtlich machen?
 

AlArenal

Top Contributor
Ein Messenger schlörrt nicht einen Satz Zugangsdaten für die DB mit sich herum, um damit einen zweiten Satz Zugangsdaten zu verifizieren. Die haben ihre eigenen Protokolle, verifizieren anhand deiner Zugangsdaten und vermitteln dann eben die Kommunikation zwischen den Clients.

Es legt ja auch keiner den Generalschlüssel fürs Haus in den Tresor und pappt die Zahlenkombination auf einem Post-It! an die Tresortür...
 

Joker

Bekanntes Mitglied
z.b. icq (auch wenn es nicht unbedingt? mit java geschrieben ist)

Das Problem gibt es nicht nur mit Java sondern im Prinzip mit allen Programmiersprachen. Auch ein ICQ Server wird dich nur reinlassen, wenn du deine ICQ-Nummer (dein Loginname) und dein ICQ-Passwort eingegeben hast und die beiden von Server für gültig befunden worden sind (siehe ICQ Protokoll für Details wie das funktioniert. http://de.wikipedia.org/wiki/OSCAR_(Protokoll) und genauer http://dev.aol.com/aim/oscar/ ). Die Server-IP kannst du im Programm lassen (zumindest wenn du weißt, dass sie sich nie ändern wird, ansonsten ist auch hier was dynamisches besser), Loginname und Passwort sollte der Nutzer beim erstem Programmstart oder bei der Installation eingeben, so macht es doch auch ICQ und wohl auch 99% aller anderen Programme die das Problem betrifft.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Sicherheit von Dateiverschlüsselung mit Java und Truecrypt Java Basics - Anfänger-Themen 7
H Passwortmanager, Sicherheit der Daten Java Basics - Anfänger-Themen 12
M Erste Schritte Verschlüsselung / Login-Sicherheit Java Basics - Anfänger-Themen 8
D Sicherheit Java Basics - Anfänger-Themen 2
W Sicherheit des Datenbankpasswortes Java Basics - Anfänger-Themen 9
C Sicherheit in Javaprogrammen Java Basics - Anfänger-Themen 9
7 Java Programme - Sicherheit Java Basics - Anfänger-Themen 26
Z Serialisierung vs. Sicherheit Java Basics - Anfänger-Themen 2
B [suche erklärung] - sicherheit beim login Java Basics - Anfänger-Themen 3
W Datenbankverbindung mit Maven konfigurieren Java Basics - Anfänger-Themen 11
E Datenbankverbindung/Preparedstatements Java Basics - Anfänger-Themen 1
I NullPointerException bei Datenbankverbindung Java Basics - Anfänger-Themen 5
K Erste Schritte Datenbankverbindung: Der Treiber lädt nicht Java Basics - Anfänger-Themen 10
T Datenbankverbindung Java Basics - Anfänger-Themen 16
K Datenbankverbindung prüfen Java Basics - Anfänger-Themen 4
Hatebreed Keine Datenbankverbindung, wieso? (ClassNotFoundEscpetion) Java Basics - Anfänger-Themen 18
J Datenbankverbindung klappt doch nicht? IBM DB2 Java Basics - Anfänger-Themen 2
A Probleme bei Datenbankverbindung Java Basics - Anfänger-Themen 3
K Datenbankverbindung mit OCI Java Basics - Anfänger-Themen 4
M Datenbankverbindung mit einem JTable Java Basics - Anfänger-Themen 4
N Datenbankverbindung Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben