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);
 

Thallius

Top Contributor
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
 

Dukel

Top Contributor
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.
 

Nuiton

Bekanntes Mitglied
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:

Thallius

Top Contributor
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
 

mrBrown

Super-Moderator
Mitarbeiter
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?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N FTP FTP Client invalid IPv6 address (Apache Commons Net API) Netzwerkprogrammierung 6
0 Apache Commons File Object bekommen Netzwerkprogrammierung 4
F Apache commons net SFTPClient Netzwerkprogrammierung 5
M need org.apache.commons.httpclient.* Netzwerkprogrammierung 8
C apache commons net ftp bei upload unvollständig Netzwerkprogrammierung 3
T HTTP Apache Commons HttpClient Bibliothek Netzwerkprogrammierung 2
A org.apache.commons http client in Netbeans einbinden Netzwerkprogrammierung 3
1 Upload problem! org.apache.commons.net.ftp Netzwerkprogrammierung 3
M org.apache.commons.httpclient.HttpClient Netzwerkprogrammierung 3
D HTTP Apache-HttpClient/UNAVAILABLE (java 1.4) Netzwerkprogrammierung 18
G apache httpClient Problem. Netzwerkprogrammierung 5
D Apache Mina Serial: Error Netzwerkprogrammierung 2
M Apache HTTPClient Server log ausgeben ?! Netzwerkprogrammierung 3
N HTTP Apache 4.2.1 HttpClient 302 nach Login und auf den weiteren Seiten. Netzwerkprogrammierung 5
R Apache HttpClient File Download? Netzwerkprogrammierung 3
W HTTP Apache HttpComponents und GZIP Netzwerkprogrammierung 2
D Apache CXF, JAX-WS Problem bei Arrays - einfacher Server Netzwerkprogrammierung 2
M Apache Solr doc & pdf Upload Netzwerkprogrammierung 8
R HTTP Apache HTTP Client: Request mit angehängter Datei Netzwerkprogrammierung 2
R Apache Mina - Hilfestellung Netzwerkprogrammierung 32
D Apache Mina und GWT Servlet Netzwerkprogrammierung 4
N SFTP apache keine Verbindungaufbau möglich Netzwerkprogrammierung 6
K Login via apache httpclient Netzwerkprogrammierung 4
dayaftereh Fragen zu Apache Mina? Netzwerkprogrammierung 5
Kr0e Apache Mina -> await() Netzwerkprogrammierung 30
B Tomcat Apache Server Netzwerkprogrammierung 6
lordcarlos HTTP Apache HttpClient, post und login. Netzwerkprogrammierung 2
J org.apache.http.auth.NTCredentials Netzwerkprogrammierung 2
T Apache HttpClient & Default Headers Netzwerkprogrammierung 9
T apache HTTPClient einloggen Netzwerkprogrammierung 2
Kr0e Apache Mina Problem Netzwerkprogrammierung 2
G apache von außen zugänglich machen Netzwerkprogrammierung 5
Q HTTPS mit Apache HttpClient Netzwerkprogrammierung 4
S Google Search Webservice mit Apache Axis realisieren? Netzwerkprogrammierung 2
I Apache http-client: Problem beim Proxyaufruf Netzwerkprogrammierung 2
S Applet und JWS auf Apache-Axis (SOAP) Netzwerkprogrammierung 8
C HTTPS mit Apache HTTPClient Netzwerkprogrammierung 1
J Antwort eines Soaprequests parsen mittels org.apache.soap Netzwerkprogrammierung 2
B Via Java Datei zu PHP-Script auf Apache hochladen Netzwerkprogrammierung 4
A http request per socket an apache server Netzwerkprogrammierung 5
S FTP Verbindung zu einem BS2000 Großrechner mit Commons Net Netzwerkprogrammierung 0
B FTP commons net verschlüsselte verbindung Netzwerkprogrammierung 11
F FileUpload mit commons HttpClient Netzwerkprogrammierung 17
S Commons Net 2.0 und FTP in meinem Programm Netzwerkprogrammierung 4
A Jakarta Commons HTTPClient: Mehrere Requests gleichzeitig Netzwerkprogrammierung 2
M [Commons NET] Prüfen, ob auf FTP Datei vorhanden ist Netzwerkprogrammierung 2
S Verzeichnis auslesen (FTP Jakarta Commons Net) Netzwerkprogrammierung 2
G Jakarta Net Commons - FTPClient: Problem bei Dateiupload Netzwerkprogrammierung 2
F FTP FTPClient Datei lässt sich nicht öffnen Netzwerkprogrammierung 4
L ftp-Befehl ausführen via FtpClient Netzwerkprogrammierung 7

Ähnliche Java Themen


Oben