flux 10 Geschrieben 30. Januar 2012 Melden Teilen Geschrieben 30. Januar 2012 Hallo Community! Für die nähere Zukunft plane ich einen rudimentären FTPS-Client zu programmieren. Dazu muss ich allerdings erstmal wissen wie FTP over SSL/TLS denn genau funktioniert! Meine bisherige Internet und Bib Recherche ist bisher eher mau, daher wende ich mich direkt an die Profis :) 1 Frage: Kann mir jemand gute Quellen nennen, die den/die exakten Ablauf(e) bei FTPS erklären? 2 Frage: Der Zielserver, auf den die Daten mal hochgeladen werden sollen hat aus Sicherheitsgründen nur Port 21 offen, spricht also für aktives FTP. Ist der Aufbau des Steuerkanals unter FTPS unter diesen Voraussetzungen überhaupt möglich, da FTPS soweit ich weiß Port 990 für den Steuerkanal und Port 989 für den Datenkanal nutzt (stimmt das so?). Oder kann man die FTP-Verbindung auch trotz Verschlüsselung über die FTP Ports 21, 20 laufen lassen? Ich bedanke mich für jegliche Unterstützung LG Zitieren Link zu diesem Kommentar
tesso 375 Geschrieben 30. Januar 2012 Melden Teilen Geschrieben 30. Januar 2012 Wie wäre es mit RFC 4217 RFC 4217 - Securing FTP with TLS (RFC4217) Aber warum willst du das Rad neu erfinden. Ich bin mir sicher, das es das schon als Bibliothek in diversen Sprachen gibt. Zitieren Link zu diesem Kommentar
flux 10 Geschrieben 30. Januar 2012 Autor Melden Teilen Geschrieben 30. Januar 2012 Hey, danke werd's mir gleich mal durchlesen. zu deiner Bemerkung: ich werden delphi7 + indy + openssl verwenden brauche aber erstmal theorie als Basis Zitieren Link zu diesem Kommentar
flux 10 Geschrieben 5. Februar 2012 Autor Melden Teilen Geschrieben 5. Februar 2012 Hey, habe nun die RFC2 2228 und 4217 durch. In letzterem werden beispielhaft Abläufe von FTP sowie FTP mit TLS Sessions gezeigt. Allerdings sind das nur Ausschnitte, ich frage mich: An welcher Stelle kommen bei 1. STOR.file, RETR, LIST, ... also die ganzen Transferkommandos ?? Wird dann, wie in 3. gezeigt, für jedes neue Transferkommando ein eigener Datenkanal (also Client Socket bei aktiv-FTP) erstellt und jedesmal aufs neue eine Zertifikat prüfung (TLSneg) und Verschlüsselung durchgeführt?? An welcher Stelle kommen bei 3. PBSZ 0 und PROT P, sowie USER <user> und PASS <pw> ?? 1. Session-Aufbau bei FTP mit TLS ..............Client.................................Server .....control..........data...................data...............control =============================================== ................................................................socket() ................................................................bind() .....socket() .....connect()..---------------------------------------------->.accept() ...............<----------------------------------------------..220 .....AUTH.TLS...----------------------------------------------> ...............<----------------------------------------------..234 .....TLSneg()..<---------------------------------------------->.TLSneg() .....PBSZ.0.....----------------------------------------------> ...............<----------------------------------------------..200 .....PROT.P.....----------------------------------------------> ...............<----------------------------------------------..200 .....USER.fred..----------------------------------------------> ...............<----------------------------------------------..331 .....PASS.pass..----------------------------------------------> ...............<----------------------------------------------..230 .....CCC ....----------------------------------------------> ...............<----------------------------------------------..200 .....TLSshutdown()..<------------------------------------->.TLSshutdown.() ############################################### Zitieren Link zu diesem Kommentar
flux 10 Geschrieben 5. Februar 2012 Autor Melden Teilen Geschrieben 5. Februar 2012 2. Ein Standard-Transfer mit FTP (aktiv) ohne Sicherung durch TLS ..............Client.................................Server .....control..........data...................data...............control =============================================== ......................socket() ......................bind() .....PORT.w,x,y,z,a,b.-----------------------------------------> .........<-----------------------------------------------------.200 .....STOR.file.------------------------------------------------> .............................................socket() .............................................bind() .........<-----------------------------------------------------.150 ......................accept().<-----------..connect() ......................write()...----------->.read() ......................close()...----------->.close() .........<-----------------------------------------------------.226 ############################################### 3. Ein Standard-Transfer mit FTP.(aktiv) über TLS ..............Client.................................Server .....control..........data...................data...............control =============================================== ......................socket() ......................bind() .....PORT.w,x,y,z,a,b.--------------------------------------------> .........<--------------------------------------------------------.200 .....STOR.file.---------------------------------------------------> .............................................socket() .............................................bind() .........<--------------------------------------------------------.150 ......................accept()..<----------..connect() ......................TLSneg()..<---------->.TLSneg() ......................TLSwrite().---------->.TLSread() ......................TLSshutdown().------->.TLSshutdown() ......................close()....---------->.close() .........<--------------------------------------------------------.226 ..............Client.................................Server ############################################### Hat jemand ne Quelle, in der das nochmal genau und verständlich beschrieben ist? Zitieren Link zu diesem Kommentar
flux 10 Geschrieben 6. Februar 2012 Autor Melden Teilen Geschrieben 6. Februar 2012 Es sind die Profis gefragt :) * An welcher Stelle kommen bei 1. STOR.file, RETR, LIST, ... also die ganzen Transferkommandos ?? * Wird dann, wie in 3. gezeigt, für jedes neue Transferkommando ein eigener Datenkanal (also Client Socket bei aktiv-FTP) erstellt und jedesmal aufs neue eine Zertifikat prüfung (TLSneg) und Verschlüsselung durchgeführt?? * An welcher Stelle kommen bei 3. PBSZ 0 und PROT P, sowie USER <user> und PASS <pw> ?? * 2 Frage: Der Zielserver, auf den die Daten mal hochgeladen werden sollen hat aus Sicherheitsgründen nur Port 21 offen, spricht also für aktives FTP. Ist der Aufbau des Steuerkanals unter FTPS unter diesen Voraussetzungen überhaupt möglich, da FTPS soweit ich weiß Port 990 für den Steuerkanal und Port 989 für den Datenkanal nutzt (stimmt das so?).Oder kann man die FTP-Verbindung auch trotz Verschlüsselung über die FTP Ports 21, 20 laufen lassen? Zitieren Link zu diesem Kommentar
AdminAIS 0 Geschrieben 15. Oktober 2014 Melden Teilen Geschrieben 15. Oktober 2014 Hallo liebes Board, wir sind auch gerade dabei das einzurichten! Kann evtl. jemand sagen welche Ports wir auf der Firewall öffnen müssen, damit das so funktioniert wie es soll! Port 21 scheint ja nicht zu reichen! vielen Dank im Voraus! Grüße Patrick Zitieren Link zu diesem Kommentar
daabm 1.354 Geschrieben 15. Oktober 2014 Melden Teilen Geschrieben 15. Oktober 2014 Der Thread ist über 2 Jahre alt - besser, Du machst Deinen eigenen auf :cool: Zitieren Link zu diesem Kommentar
monstermania 53 Geschrieben 16. Oktober 2014 Melden Teilen Geschrieben 16. Oktober 2014 Moin, tja, da wirst Du mit dem jeweiligen Betreiber des FTPS-Servers sprechen müssen, ob der die Range der Ports gibt die dynamisch genutzt werden. Diese Portrange must Du dann in der FW freigeben. So etwas ist immer unschön! Optimal wäre es natürlich, wenn Du Dich mit dem Betreiber auf einen festen Port einigen kannst, über den der Transfer stattfindet. Dann must Du nur einen Port freigeben. Evtl. sollte man auch intern beschränken welcher User die Ports nutzen darf. Gruß Dirk Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.