ProFTP SSL/TLS FTPS

  • Hallo zusammen,


    will meinen vServer noch einige Dienste (FTP und SMTP) mit TLS/SSL absichern. (netcup Debian+SysCP Image)


    Wollte als erstes den Proftp Server mit FTPS absichern.


    proftpd.conf



    tls.conf



    tsl.log



    Kann sein das ich noch das modul: mod_tls installieren muß ?
    Wie installier ich das an einfachsten.


    wenn ich proftpd -l eingebe kommt:



    Als Zertifikat habe ich das von Apache genommen. Habe den verdacht das das nicht geht. Welches kann ich denn zum testen nehmen ?


    Danke schon mal im voraus.



    Ach im Apache2 access.log ist mir auch schon was aufgefallen.

    Code
    203.200.180.74 - - [25/Feb/2010:15:06:09 +0000] "GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 390 "-" "-"
    74.86.23.51 - - [26/Feb/2010:08:56:43 +0000] "GET /w00tw00t.at.ISC.SANS.test0:) HTTP/1.1" 400 390 "-" "-"
    67.43.5.33 - - [26/Feb/2010:09:10:27 +0000] "GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 390 "-" "-"
    203.200.180.74 - - [26/Feb/2010:16:21:02 +0000] "GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 390 "-" "-"
    203.200.180.74 - - [26/Feb/2010:19:39:32 +0000] "GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 390 "-" "-"
    203.200.180.74 - - [26/Feb/2010:20:01:30 +0000] "GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 390 "-" "-"
    203.200.180.74 - - [26/Feb/2010:20:23:36 +0000] "GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 390 "-" "-"


    Nicht das mein Server schon gehackt wir, bin erst gerade am einrichten.


    Gruß

  • Zum tls.log: Es ließt sich für mich so, als würden sich Server und Client nicht auf eine gemeinsame Cipher-Suite einigen können. Aber das ist mehr interpretiert als gewusst.


    Brauchst du dein FTP-Server nur für dich? Vielleicht wäre es dann einfacher Dateitransfers über SFTP (SSH File Transfer Protocol) oder SCP durchzuführen? Dazu brauchst du nur einen (ohnehin schon installierten) SSH-Server und einen passenden Client wie sftp, Cyberduck, WinSCP,...

  • Hallo,


    sollte schon SSL/TLS sein da sonst noch einige darauf zugreifen sollen. Und SSH will nur ich nutzen und wird nur bei gebrauch geöffnet.


    Ein SSL Zertifikate kann ich ja mit OpenSSL erstellen, weil bis jetzt benutze ich zum Test das Standartzertifikat, das beim Image dabei war.
    Daran kann ja der Fehler nicht liegen ?


    Gruß Achim

  • Zitat von Schulz;14430


    #TLSRSACertificateFile /etc/ssl/certs/proftpd.crt
    #TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key
    #TLSRSACertificateFile /etc/apache2/apache.crt
    #TLSRSACertificateKeyFile /etc/apache2/apache.key


    Wieso hast du die Zertifikate auskommentiert?

  • Die Auskommentierten Dateien würde mich nicht weiter stören. So wie ich das verstehe werden, so wie die config dort steht, Standardpfade verwendet werden.


    Ich gehe davon aus, dass du die Pfade geprüft hast.


    Kannst du uns sagen mit welchem Client du dich verbinden willst? Kannst du ggf. irgendwie das Log-Level erhöhen? Oder vielleicht auch eine detaillierte Log-Ausgabe des Clients posten?


    Wenn alle Stricke reichen wäre ein Login für (einen von) uns nicht schlecht, dann können wir selber mal testen.

  • Zitat von Servior;14462

    Wieso hast du die Zertifikate auskommentiert?


    Die Pfade hab ich auskommentiert weil da keine Zertifikate vorhanden sind.
    Habe nur folgende Zeile eingefügt:


    TLSCACertificateFile /etc/apache2/ssl/apachessl.pem


    (dieses Zertifikat war vorhanden, ist allerdings vom apache)


    Hier noch ein Log von FTP Client FileZilla:



    Hab so ein Gefühl das das Zertifikat nicht stimmt ?


    Über welchen Port läuft den Implicit SSL / FTPS ?
    FileZilla will sich mit dem Port 990 verbinden !

  • Ohne Server-Zertifikat und dazugehörigen Schlüssel kannst du auch keine Verbindung zum Server herstellen. TLS/SSL benötigt *unbedingt* ein Zertifikat um sinnvoll zu funktionieren.


    Meine FileZilla Log-Interpretation:
    -> Port 443(HTTPS!)
    timeout
    -> Port 443(HTTPS!)
    timeout
    ->Port 900
    abbruch durch Benutzer
    ->Port 21
    TLS-Fehler
    ->Port 21
    TLS-Fehler

  • Sodele hab mir wieder mal etwas Zeit genommen um zu testen.


    Also eine Verbindung bekommen ich und das Zertifikat wird angezeigt.
    Nur will mir FileZilla mein Verzeichnis nicht anzeigen bzw. bleibt da hängen.
    Dann kommt noch dein Fehler:


    tls.log

    Code
    Mär 01 00:03:52 mod_tls/2.1.2[7324]: using default OpenSSL verification locations (see $SSL_CERT_DIR environment variable)
    Mär 01 00:03:52 mod_tls/2.1.2[7324]: TLS/TLS-C requested, starting TLS handshake
    Mär 01 00:03:53 mod_tls/2.1.2[7324]: TLSv1/SSLv3 connection accepted, using cipher DHE-RSA-AES128-SHA (128 bits)
    Mär 01 00:03:56 mod_tls/2.1.2[7324]: Protection set to Private


    filezilla.log

  • Wenn ich nun die OpenVCP Firewall deaktiviere funktioniert die Verbindung mit
    "FTPES - FTP über explizites TLS/SSL" tadellos. Allerdings benutzt das Teil immer andere Ports.


    Wenn ich nun mit FileZilla "FTPS - FTP über implizites TLS/SSL" eine Verbindung aufbauen will geht das nicht. So wie es aussieht will FileZilla mit dem Port 990.. verbinden.


    Code
    2010-03-01 01:49:46 212 2 Status: Verbindung zum Server getrennt
    2010-03-01 01:54:46 212 2 Status: Verbinde mit meine_IP:990...
    2010-03-01 01:54:50 212 2 Fehler: Verbindungsversuch durch Benutzer unterbrochen



    Kann man die Ports wo festlegen ?


    Sodele hat jemand eine Idee.

  • Du kannst die Ports sowohl auf dem Server, als auch im Client einschränken (sollte zumindest möglich sein).


    Allerdings musst du dann alle Ports in der Firewall einzeln freigeben. Schränkst du die Ports aber zu sehr ein hast du ggf. das Problem dass deine Verbindung abbricht.


    Ich würde allerdings die Ports nicht einschränken, sondern die Standardkonfiguration belassen. In der Firewall dann die Ports sperren auf die kein Zugriff erfolgen soll.

  • Ich würde gerne FTPS - FTP über implizites TLS/SSL nutzen.


    Wo kann ich festlegen ob ich "FTPES - FTP über explizites TLS/SSL" oder
    "FTPS - FTP über implizites TLS/SSL" nutzen will ?



    Habe folgende Standartports für FTPS im Internet gefunden:

    Code
    989+990	FTPS	File Transfer Protocol over TLS/SSL
    
    
    
    
    ftps-data	989/tcp    ftp protocol, data, over TLS/SSL
    ftps-data	989/udp    ftp protocol, data, over TLS/SSL
    ftps		990/tcp    ftp protocol, control, over TLS/SSL
    ftps		990/udp    ftp protocol, control, over TLS/SSL


    So komme vor heute Nacht nicht mehr zum testen, aber vielleicht kommen noch ein paar Tips.

  • Dachte eigentlich man sollte grundsätzlich alle Ports,die nicht gebraucht werden, in der Firewall schließen.

    Wenn ich jetzt grundsätzlich alle wieder aufmache habe ich ja ein gewisses Risiko. (Beim verbieten der einzelnen Ports kann man ja leicht was übersehen)

    Kann man in OpenVCP keine Port bereiche einstallen ?
    also wie z.B. iptables -A INPUT --dport 1024:65535 -j ACCEPT

    Danke mal im vorraus.

  • OK, wenn ich nun die Firewall grundsätzlich öffnen würde.


    Über netstat -nl bekomme ich ja die Aktive Internetverbindungen (Nur Server) heraus.


    Muß ich dann nur die Ports sperren die da angezeigt werden, oder wie bekomme ich heraus welche Ports ich alle sperren muß.

  • Das hängt davon ab was du für Software drauf laufen hast, sowie welche überhaupt von draussen erreichbar sein soll.


    Mysql welches nur von Software benutzt wird die eh aufm Server liegt, da kann man den Mysql Port (Standard 3306) sperren.

  • Zitat von Servior;14583

    Mysql welches nur von Software benutzt wird die eh aufm Server liegt, da kann man den Mysql Port (Standard 3306) sperren.


    Oder gleich nur auf 127.0.0.1 lauschen lassen ;)



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Sodele Proftp läuft nun sauber.

    Jetzt will ich noch den Postfix vom Debian Lenny SysCP Image mit SSL absichern. Da in der Standartkonfiguration die Passwörter im Klartxt übertragen werde.

    Des weiteren möchte ich noch chrootkit, rkhunter und ClamAV noch installieren.

    Dann müßte ich das meiste aus http://forum.netcup.de/showthread.php?t=775&highlight=vserver+absichern erledigt haben.

    Gibts für die genannten Sachen noch eine HowTo für Debian ?