FTP Apache Commons: FTPClient und Sicherheit

Nuiton

Bekanntes Mitglied
Guten Abend!

Ich habe vor einen Client zu schreiben, der sich zu einem Webserver verbindet. Mein Problem ist, dass ich diesen Client eventuell als .jar oder .exe releasen moechte, und mir bis jetzt eigentlich auch niemals Gedanken ueber die Sicherheit einzelner Passwoerter und Logindaten (fuer die FTP-Verbindung) gemacht habe.

Wie wuerdet ihr das Problem von Klartextpasswoertern (falls das in diesem Fall so ist) fuer eine FTP-Verbindung rangehen? Tauchen die Verbindungsdaten eigentlich beim obfuscaten auf? (Ich habe es nie getestet, da ich auch noch garnicht angefangen habe etwas zu schreiben.)

Beispiel:
Java:
   FTPClient f = new FTPClient();
   f.connect(server);
   f.login(username, password);
   FTPFile[] files = f.listFiles(directory);
 
Ich würde nie niemals eine Software schreiben die sich via FTP mit einem Server verbindet. Es sei denn der Server gehört dem User und er gibt die Zugangsdaten selber ein.

Es gibt keine Grund sich per FTP auf einem Server zu verbinden. Man kann alles auch mit einem Webservice lösen und das auch noch viel eleganter....

Gruß

Claus
 
Ich würde Credentials eh nicht im Quellcode fest schreiben sondern der Anwender gibt die Daten ein und man speichert diese ggf. verschlüsselt im Profil.
 
Ich habe mich bis jetzt nur mit Webservices wie Konvertierungen, bzw. Temperatur Konvertierungen etc. befasst. Die meisten Tutorials sind z.B. auch nur mit einer Web-Applikation verbunden, und nicht unbedingt mit einem GUI Client.

Kennt ihr irgendwelche Resourcen bezueglich solche spezifischen Webservices? Also bspw. Login Authorisierungen, Dateiuploads, etc.

Mein Ziel ist ja, eine Art Dateiupload Client zu erstellen, der sich zu einem dedicated Server (also mein eigener) verbindet, und somit jegliche Dateien (wie auch beim FTPClient von Apache) hochladet, ohne damit ich irgendwelche Logindaten dem Client selber uebergeben muss.

Im schlimmsten Fall waere es natuerlich auch moeglich die Logindaten, bzw. FTP-Daten per Web-Applikation (z.B. nach einer Registrierung auf einer Webseite) dem Client zu uebergeben, und der GUI Client sie dann abfragt. Somit waeren auch keine Klartext FTP-Daten gespeichert.
 
Zuletzt bearbeitet:
Na und ? dann spiel ich ein wenig Man in the Middle und hol mir die Daten raus. Damit hast du gar nichts gewonnen.

Und ein Websewrvice ist nicht speziell für irgendeinen Client oder eine Applikation oder Sprache. Deswegen ist ein Webservice ja ein Webservice und deshalb ist er so genial. Er stellt halt einfach HTTP Request zur Verfügung und wer oder was da anfragt ist ihm total egal. Du bräuchtest dann also einen Request zum Anmelden, welcher eine Session startet und zurück liefert. Dann brauchst einen für das Uploaden einer Datei und eventuell halt auch einen Request für das Listen des Inhalts des Server Directories und einen zum Download. Das ist überschaubar.

Allerdings wirst Du Dich trotzdem erstmal da einlesen müssen und kannst nicht direkt loslegen. Sonst wird das wieder komplett unsicher. Um einen wirklich guten, sicheren Webservice zu schreiben, den man auch auf andere Loslassen kann, wenn man bei 0 anfängt braucht es bestimmt ein halbes Jahr.

Nirgendwo anders ist es so wichtig, dass man genau weiß was man tut. Die Hackerangriffe im Netz durch Bots sind dermassen vielfältig und intelligent mitlerweile, dass es dann nur eine Frage der Zeit ist bis jemand deinen Server hackt und dann hast du ein echtes Problem. Vor allem wenn da tatsächlich Leute ihre Daten drauf legen. Vor allem Login und persönliche Daten. Da bist du dann nämlich dran und das kann richtig böse enden.

Ich kann nur immer wieder warnen mit irgendwelchem Halbwissen so etwas zu erstellen und an fremde Persinen zu geben.

Gruß

Claus
 
Und ein Websewrvice ist nicht speziell für irgendeinen Client oder eine Applikation oder Sprache. Deswegen ist ein Webservice ja ein Webservice und deshalb ist er so genial. Er stellt halt einfach HTTP Request zur Verfügung und wer oder was da anfragt ist ihm total egal. Du bräuchtest dann also einen Request zum Anmelden, welcher eine Session startet und zurück liefert. Dann brauchst einen für das Uploaden einer Datei und eventuell halt auch einen Request für das Listen des Inhalts des Server Directories und einen zum Download. Das ist überschaubar.
Dann spiel ich einmal Man in the middle und habe die Daten ;P

Was für Daten sollen denn im FTP-Server landen?
 

Zurück
Oben