proftpd und SSL/TLS

  • Hallo,




    ich versuche gerade, ftp über SSL oder TLS zum Laufen zu bekommen. Irgendwie schaffe ich es nicht. Ich durchwühle seit Stunden Foren und Tutorial, um den Knackpunkt zu finden, aber gebracht hat es nichts. Vllt. kann mir ja hier einer helfen. Der Server ist ein vServer mit Debian 6.


    ftp geht problemlos. Ich kann bei proftpd auch einstellen, was ich will, er loggt nie irgendwas mit.
    Das auth.log sagt auch, dass der User sich eingeloggt hat.



    proftpd ist wie folgt eingerichtet:


    Die tls.conf sieht so aus:

    Code
    TLSEngine                  on
      TLSLog                     /var/log/proftpd/tls.log
      TLSProtocol                SSLv23
      #TLSProtocol                TLSv1
      TLSOptions                 NoCertRequest
      TLSRSACertificateFile      /etc/ssl/certs/proftpd.cert.pem
      TLSRSACertificateKeyFile   /etc/ssl/certs/proftpd.key.pem
      TLSVerifyClient            off
      TLSRequired                on
      TLSRenegotiate none


    Das Zertifikat ist selbst erstellt mittels folgendem Befehl:

    Code
    openssl req -new -x509 -days 36500 -nodes -out /etc/ssl/certs/proftpd.cert.pem -keyout /etc/ssl/certs/proftpd.key.pem


    openssl bringt auf der Konsole


    Filezilla kann aber keine Verbindung herstellen, obwohl der Nutzer offensichtlich eingeloggt ist:


    Danke für die Hilfe und Viele Grüße
    Frank

  • Moin

    Zitat

    Using SSH protocol version 2


    Du versucht eine SFTP Verbindung (SFTP über SSH) aufzubauen und keine FTPS Verbindung (FTP over SSL).


    Deswegen hast Du auch keinen Eintrag in deinem Logfile.


    Mordor

  • Hallo,




    ja, du hast recht. Da bin ich beim ganzen Ausprobieren und Testen durcheinander gekommen. Die Config erfordert m.E.a. TLS...hoffe ich :)


    Allerdings funktioniert es auch mit SSL nicht, aber es steht was im Log :D




    proftpd.log


    Code
    Apr 16 16:05:19 XXX.yourvserver.net proftpd[19527] XXX.yourvserver.net (31-17-241-31-dynip.superkabel.de[31.17.241.31]): AuthOrder in effect, resetting auth module order
    Apr 16 16:05:19 XXX.yourvserver.net proftpd[19527] XXX.yourvserver.net (31-17-241-31-dynip.superkabel.de[31.17.241.31]): connected - local  : 78.46.202.4:21
    Apr 16 16:05:19 XXX.yourvserver.net proftpd[19527] XXX.yourvserver.net (31-17-241-31-dynip.superkabel.de[31.17.241.31]): connected - remote : 31.17.241.31:53374
    Apr 16 16:05:19 XXX.yourvserver.net proftpd[19527] XXX.yourvserver.net (31-17-241-31-dynip.superkabel.de[31.17.241.31]): FTP session opened.
    Apr 16 16:05:19 XXX.yourvserver.net proftpd[19527] XXX.yourvserver.net (31-17-241-31-dynip.superkabel.de[31.17.241.31]): dispatching PRE_CMD command 'AUTH TLS' to mod_rewrite
    Apr 16 16:05:19 XXX.yourvserver.net proftpd[19527] XXX.yourvserver.net (31-17-241-31-dynip.superkabel.de[31.17.241.31]): dispatching PRE_CMD command 'AUTH TLS' to mod_tls
    Apr 16 16:05:19 XXX.yourvserver.net proftpd[19527] XXX.yourvserver.net (31-17-241-31-dynip.superkabel.de[31.17.241.31]): dispatching PRE_CMD command 'AUTH TLS' to mod_core
    Apr 16 16:05:19 XXX.yourvserver.net proftpd[19527] XXX.yourvserver.net (31-17-241-31-dynip.superkabel.de[31.17.241.31]): dispatching PRE_CMD command 'AUTH TLS' to mod_core
    Apr 16 16:05:19 XXX.yourvserver.net proftpd[19527] XXX.yourvserver.net (31-17-241-31-dynip.superkabel.de[31.17.241.31]): dispatching CMD command 'AUTH TLS' to mod_tls




    Filezille



    Und da bleibt Filezilla dann stehen.


    Im tls.log steht nichts weiter drin.


    Viele Grüße
    Frank

  • Vom Gefühl her, weill die Zertifikate nicht "anerkannt" sind. Wie beim Emailclient gibt es immer Fehlermeldungen und Timeouts bis das Zertifikat auch permanent angenommen wurde?!


    Nur so ein Gedanke, vielleicht bringt es dich auf die (eigentliche) Spur?! Also dein FTP geht nur halt nicht mit SSL/TLS..

    vServer Light NETCup Kunde mit Debian Squeeze 64Bit :)
    (Drupal CMS Fan.)

  • Hallo,


    danke für deine Antwort. Ich habe mal einen anderen Client genommen und habe dabei festgestellt, dass es lokal auf dem Server funktioniert, aber von extern nicht. Damit würde ich das Zertifikat fast ausschließen wollen. Mein Verdacht liegt bei der Firewall, was aber keinen Sinn macht, weil die Firewall defacto aus ist. Default ist accepted und es gibt keine Filterregeln. Oder ich verstehe die Firewall falsch. Anbei noch die Ausgabe von lftp:


    lftp lokal auf vServer





    lftp vom entfernten Rechner



    Vllt. kommt ja noch eine Idee.


    Viele Grüße
    Frank

  • Hast Du Schutzsoftwäre drauf, die etc/hosts.deny und etc/hosts.alllow verändert.



    Versuche es mal mit telnet vServer IP 21 von "aussen", wo es normal nicht geht, und schau, was er sagt...


    Kannst du dich einfach per ssh von überall einloggen??


    mach mal ssh -vvv root@vServerIP

    vServer Light NETCup Kunde mit Debian Squeeze 64Bit :)
    (Drupal CMS Fan.)

  • Hallo,


    der vServer ist fast wie im Auslieferungszustand. lighttpd habe ich installiert. hosts.deny und hosts.allow sind leer.


    telnet auf die 21 geht, lftp kann sich ja auch verbinden. ssh geht auch von überall. Ein Portscan bringt die üblichen Ports zum Vorschein (21, 22, 25, 80, 443 usw.)


    Viele Grüße
    Frank

  • und sftp -v root@vServer?


    ls
    get datei /tmp


    hole datei X und speichere sie lokal unter /tmp



    put /tmp/datei /tmp = anders herum ...


    Nicht aufgeben, mein Froxlor Autoresponder geht die ganze Zeit nicht, war auch schon am Ende. Und eben denke ich habe ich es gelöst ... :)

    vServer Light NETCup Kunde mit Debian Squeeze 64Bit :)
    (Drupal CMS Fan.)

  • Hallo,


    Zugriff über einen ssh-Accounts mittels sftp geht...root nun gerade nicht, aber das habe ich dem Daemon auch abgedreht ;)
    Aber ein anderer Nutzer, der ssh-Zugriff hat, geht. Der Nutzer usr002, der mit Froxlor angelegt wurde, der kann es nicht.


    Nicht aufgeben ist gut, es ist so frustrierend, weil ich mir nicht bewusst bin, irgendetwas falsch gemacht zu haben.
    Ich glaube, jetzt weiß ich, warum es noch so viele unverschlüsselte ftp-Zugänge gibt :D


    Viele Grüße
    Frank

  • Ich glaube du hast dir eben die eigne AW gegeben ;) Dein Benutzer ist das Problem. SSL geht wie deine LOGS sagen, und dann bricht er ab, weil der User nicht bekannt ist = passwort falsch.


    Froxlor legt virtuelle Benutzer in der SQL Bank an, und dein FTP scheint nur PAM (also echte Linux User) zu checken?! Kann es das sein?!




    Tipp: Nichts falsch machen, reicht beim PC nicht, der will geführt werden :D:D:D


    Ich lege mir mal einen Froxlor FTP Jungen an und schaue, was passiert.. Bis gleich!!

    vServer Light NETCup Kunde mit Debian Squeeze 64Bit :)
    (Drupal CMS Fan.)

  • Ich habe einen Kunde FTP Login aus Froxlor in filezilla ohne Probleme benutzen können. Wenn du was änderst an der Config hast du auch service proftpd restart gemacht? Tipp: Nutze noch fail2ban und aktive in dessen config auch ftp Schutz.. Oder stellt den FTP ab, wenn ihr ihn nicht regelmässig braucht -> ssh per pub key! (Filzilla sftp geht auch ohne FTP 21) :rolleyes:


    Ich hoffe du findest eine Lösung, bis später.. (service proftpd check-config)

    vServer Light NETCup Kunde mit Debian Squeeze 64Bit :)
    (Drupal CMS Fan.)

  • Hallo,


    ne, ich glaube, wir reden aneinander vorbei, ich hole mal aus ;)


    Der FTP-Nutzer ist nicht wirklich Schuld. Ich habe den vServer fertig installiert bekommen...naja, fast. nss für proftpd war nicht installiert. Das habe ich aber leider erst später bemerkt. Da waren schon zwei Kunden angelegt. Geschenkt. nss installiert und Rechte neu gesetzt, dann war auch das Problem gelöst.
    Für einen diesen Kunden hatte ich vorher auch einen ssh-Account angelegt. Deswegen geht mit dem auch sftp. Nach der Einrichtung von nss kann ich über adduser keine Nutzer mehr anlegen.
    Ich drehe mich da so ein bisschen im Kreis. Froxlor möchte ich nicht weglassen, da ich die Kunden gerne damit verwalten möchte. Unverschlüsseltes FTP will ich aber auch nicht. SFTP geht aber nicht, FTPS will nicht :D


    Unverschlüsseltes FTP geht ja problemlos und auch ftps geht ja lokal. Wenn ich das Log richtig lese, dann kann sich auch über extern der Nutzer einloggen, aber ein ls geht nicht mehr...warum auch immer.


    Viele Grüße
    Frank


  • Und was macht nss für profptd? (Download Link) Kann man es per service Befehl mal abstellen?? Kenne nss nicht ..

    vServer Light NETCup Kunde mit Debian Squeeze 64Bit :)
    (Drupal CMS Fan.)

  • Hallo,


    war ein bisschen missverständlich formuliert. Es ist nicht nss für proftp, ich musste libnss installieren, damit proftp die Nutzer aus der Froxlor-DB lesen kann. proftp_mysql war zwar installiert, hat aber nicht gereicht. Hier ist auch ein Thread dazu:


    Squeeze + Froxlor + ProFTP


    Viele Grüße
    Frank

  • Komisch, denn ich hatte ja auch proftpd gestern benutzt mit einem Froxlor Konto, und musste nie libnns nachinstallieren ?! dpkg -s libnss zeigt nicht installiert ;)




    Ratlos...

    vServer Light NETCup Kunde mit Debian Squeeze 64Bit :)
    (Drupal CMS Fan.)

  • dpkg -s libnss-mysql
    Paket »libnss-mysql« ist nicht installiert und es ist keine Info verfügbar.
    Verwenden Sie dpkg --info (= dpkg-deb --info) zum Untersuchen von Archiven
    und dpkg --contents (= dpkg-deb --contents) zum Auflisten ihres Inhalts.


    => ich habe es nicht drauf?! Und es geht.. gab es einen Fehler es zu installieren?!

    vServer Light NETCup Kunde mit Debian Squeeze 64Bit :)
    (Drupal CMS Fan.)

  • Nö, es gab keinen Fehler und seitdem geht auch alles. Ich denke auch nicht, dass mein Problem beim Login zu suchen ist. Das wird eher ein Problem mit der SSL/TLS-Konfiguration sein. Also hoffe ich. Unverschlüsselt funktionieren die Logins ja.


    Viele Grüße
    Frank