Sicherheit

Status
Nicht offen für weitere Antworten.
C

Christian21

Gast
Hallo liebe Java-Gemeinde

Ich habe eine Frage bezüglich Sicherheit bei Programmen die auf einen Server zugreifen.

Angenommen es handelt sich um ein Programm welches Daten an einen Server senden sollen (einfacher zugang über FTP), der Passwortgeschützt ist, und dieses Programm Öffentlich ist (für jedermann zugägnlich). Wie sicher ist es, das man das PW des Servers nicht rausfindet ?

Es gibt doch Programme mit denen kann man eine *.class Datei in eine *.java umwandeln, also kann eigentlich "jeder" den Source sehen.

Ich habe in der JAVA-API die Klasse "MessageDigest" gefunden, ist diese Klasse für solche Zwecke zu gebrauchen??

Java ist zwar kein Neuland für micht, aber dieses Thema schon. Hatte vorher noch nie so ein Problem.

Ich würde mich schon sehr freuen wenn ihr mir sagen könntet wie man das PW im Programm am besten verschlüsselt, so dass es nahezu unmöglich ist es rauszubekommen.

lg Christian
 

madboy

Top Contributor
Sicherheit ist immer relativ. Wie viel Aufwand bist du bereit zu treiben bzw. wie dringend wollen "böse" Leute an irgendwas rankommen?

FTP ist hier gänzlich ungeeignet (zumindest ohne zusätzliche Sicherungsmaßnahmen).
Um an das Passwort zu kommen muss ein potentieller Angreifer nicht mal in deine Klassen schauen, er startet einfach dein Programm und lässt nebenher einen Netzwerksniffer laufen und er hat das Passwort im Klartext.

MessageDigest wird für Verschlüsselungen verwendet, ist aber nicht zu gebrauchen für deine Zwecke (also Quellcode zu verschlüsseln).

Folglich läuft alles darauf raus: mit was für Angriffen rechnest du und wie wichtig sind die zu schützenden Daten.

Edit: vielleicht hilft dir das hier weiter: http://www.java-forum.org/de/viewtopic.php?t=19245
 
G

Gast

Gast
Also eigentlich sind die Daten nicht wichtig.
Ich will nur endlich auch mal lernen wie man Server anspricht mit Java, deswegen mach ich das nur zu Übungszwecken.
Es soll hier nur ein einfaches Programm sein das keine wichtige Daten auf einen Server sendet.

Leider hab ich selbst keinen Server, ich habe bloß von meinem Internet Anbieter 20mb Webspace auf einem stink normalen Server (es läuft kein PHP oder sonstige Programme drauf).

Normalerweise würde man soetwas mit einer Datenbank lösen oder ??

Also konkret würd mich interessieren, wie man soetwas realisiert, wenn ein Programm auf einen Passwort-geschützten Server zugreifen soll/muss, bzw. ob man soetwas erst gar nicht macht und auf einen anderen Weg löst.
 

Hello_Java

Mitglied
Danke für den Link !!
Aber was beudete "hart" coden :)

Hab mich jetzt angemeldet :) super Forum :toll:


*Edit*

Falls jemand ein gutes Tutorial für Server/Client Anwendungen in Java hat bzw. über Socket und RMI, könntet ihr den bitte Posten :) bin zwar scon am googlen, aber da stößt man auf mehr Foren mit Fragen, als auf Tuts.
 

Hello_Java

Mitglied
Eine Frage hätte ich nocht, will aber nicht extra einen Thread dafür eröffnen.

Hab jetzt ein kleiens Client/Server Programm erstellt, der Server stellt eine Methode zur verfügung. Funktioniert auch alles wunderbar, aber ich find in der API einfach keine Methode wie ich den Server schließe. Ich kann zwar die Verbindung zwischen Client und Server beenden, aber gibts für den Server eine Methode wie man ihn beendet ? Oder muss man das manuell per System.exit(0); machen ??
 

Prusik

Aktives Mitglied
versteh ich das richtig, dass du vom client aus einen Server beenden willst? nun, wenn das standartmässig so gänge, wäre das wohl eher etwas mühsam... vielleicht ist ja noch ein anderer client auf dem Server... Von der Applikationslogik her ist eigentlich ein Server etwas das einen Dienst zur Verfügung stellt, und das soll nicht vom client beendet werden kann.

Evtl. kannst du auf dem Server eine Methode machen shutmedown() oder so, das geht evtl. weiss ich aber nicht, hab ich noch nie gemacht...
 

L-ectron-X

Gesperrter Benutzer
Prusik hat gesagt.:
ist eigentlich ein Server etwas das einen Dienst zur Verfügung stellt, und das soll nicht vom client beendet werden
Wie du sachon sagst, der Server ist ein Dienstleister. Bspw. zu Fernwartungszwecken könnte ein Client (mit entsprechenden Rechten) auch den Server herunterfahren.
 

Hello_Java

Mitglied
Hallo !

Sry ich glaub ich hab mich falsch ausgedrückt.

Ich meinte damit die Serveranwendung des Client/Server Programms das ich geschrieben habe zu beenden.

Ich finde nicht heraus wie ich den Server beenden kann (muss nicht über den Client gehen), außer mit Strg + Alt + entf und dann den Java.exe Prozess zu beenden.

Ich hab es jetzt mit einer Methode gelöst, die einfach nur System.exit(0); auf der Serveranwendung ausführt, dann beendet das Porgramm mit code 0 :)
 

Wildcard

Top Contributor
Server : Software die einen Dienst zur Verfügung stellt
Host : Hardware auf der ein oder mehrere Server laufen
 

Hello_Java

Mitglied
^^ Genau, und ich wollte wissen wie man den die Server.class beendet :) bzw ob es einen anderen Weg als System.exit(0) gibt.
 

Hello_Java

Mitglied
Danke für den Tipp!

Hab heute verschiedene kleine Tutorials zur Netzwerkrpogrammierung gelesen, aber hab ncoh einige Fragen.

Also das Programm was ich geschrieben habe, benutzt die RMI Klassen, für den Anfang sollte man aber doch besser mit Sockets beginnen bevor man sich mit RMI beschäftigt oder ?
Was ich bis jetzt mitbekommen habe, ist das man mit RMI direkt Methoden auf dem Server ausführen kann, mit Sockets kann man nur Streams versenden, in Packetform, oder gibt es da auch die Möglichkeit direkt Methoden auszuführen die der Server zur Verfügung stellt ??

lg
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben