Pure-FTPd gibt kein Verzeichnisinhalt aus

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von mulixer, 13. Mai 2014.

  1. mulixer

    mulixer New Member

    Servus Leute,

    ich hab das Problem, dass angelegte FTP-User sich zwar per Pure-FTPd authentifizieren aber kein Verzeichnisinhalt angezeigt bekommen. Im Server-Syslog steht drin das der User sich anmeldet, aber im gleichen augenblick wieder abmeldet.

    /var/log/syslog (Debug Log des pure-ftpd ist eingeschaltet)
    Code:
    May 13 23:53:55 srv1 pure-ftpd: (?@5.146.62.24) [INFO] New connection from 5.146.62.24
    May 13 23:53:55 srv1 pure-ftpd: (?@5.146.62.24) [DEBUG] Command [user] [web1_FTP_1]
    May 13 23:53:55 srv1 pure-ftpd: (?@5.146.62.24) [DEBUG] Command [pass] [<*>]
    May 13 23:53:55 srv1 pure-ftpd: (?@5.146.62.24) [INFO] PAM_RHOST enabled. Getting the peer address
    May 13 23:53:55 srv1 pure-ftpd: (?@5.146.62.24) [INFO] web1_FTP_1 is now logged in
    May 13 23:53:55 srv1 pure-ftpd: (web1_FTP_1@5.146.62.24) [DEBUG] Command [opts] [UTF8 ON]
    May 13 23:53:55 srv1 pure-ftpd: (web1_FTP_1@5.146.62.24) [DEBUG] Command [pwd] []
    May 13 23:53:55 srv1 pure-ftpd: (web1_FTP_1@5.146.62.24) [DEBUG] Command [type] [i]
    May 13 23:53:55 srv1 pure-ftpd: (web1_FTP_1@5.146.62.24) [DEBUG] Command [pasv] []
    May 13 23:53:55 srv1 pure-ftpd: (web1_FTP_1@5.146.62.24) [INFO] Logout.
    
    Mein FTP-Client zeigt also kein Verzeichnisinhalt an und geht sofort wieder offline.

    Jemand ne Idee?

    ISPConfig: 3.0.5.4p1
    Linux: Ubuntu 14.04 LTS

    Viele Grüße
    mulixer
     
  2. Till

    Till Administrator

    Vermutlich firewall problem. Der FTP server schaltet im passive mode die verbindung nach dem login auf die passive ports und die werden durch eine firewall geblocked.
     
  3. mulixer

    mulixer New Member

    Hi Till,

    ne das ändert nichts. Egal ob ich die firewall von ubuntu (ufw) ein oder ausschalte, sowie die portrange (40110:40210) - in /etc/pure-ftpd/conf/PassivePortRange gesetzt - hinzufüge. Immer das gleiche ergebnis.

    Was mich wundert, ist das die berechtigungen in /var/www so aussehen

    Code:
    drwxr-xr-x  4 root root 4096 May 13 22:34 .
    drwxr-xr-x  3 root root 4096 May  2 21:57 ..
    lrwxrwxrwx  1 root root   30 May  2 21:57 domain.de -> /var/www/clients/client1/web1/
    drwxr-xr-x 11 root root 4096 May 12 22:42 web1
    drwxr-xr-x  9 root root 4096 May  2 22:08 web2
    lrwxrwxrwx  1 root root   30 May  2 22:08 subdomain.domain.de -> /var/www/clients/client1/web2/
    
    Der ftp-accout ist jener welcher zu web1 passt.
    Wenn ich ein chmod 777 web1 machen kommt
    Code:
    chmod: changing permissions of web1: Operation not permitted
    
    Im ISPconfig steht unter options zu dem ftp accout:
    Benutzerkennung (uid): web1
    Benutzergruppe (gid): client1

    Ist das so richtig von den Benutzerrechten?

    Viele Grüße
    mulixer
     
  4. Till

    Till Administrator

    Die Rechte sind absolut korrekt, also keinesfalls ändern.

    Das ist richtig. Hier hat ispconfig verhindert dass Du Di eine riesen Sicherheitslücke ins System reißt.

    ja.

    schalte mal die Firewall aus ünd prüfe dann mit:

    iptables -L

    ob auch wirklich alle Regeln gelöscht wurden. Und prüf mal ob Dein ISP nicht doch noch eine 2. Firewall vor dem server hat.
     
  5. mulixer

    mulixer New Member

    Hi Till,

    also egal wie aber der FTP-Client gibt mir das zurück:
    Code:
    Status:    Verbinde mit 186.16.195.20:21...
    Status:    Verbindung hergestellt, warte auf Willkommensnachricht...
    Antwort:    220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
    Antwort:    220-You are user number 1 of 5 allowed.
    Antwort:    220-Local time is now 07:04. Server port: 21.
    Antwort:    220-This is a private system - No anonymous login
    Antwort:    220-IPv6 connections are also welcome on this server.
    Antwort:    220 You will be disconnected after 15 minutes of inactivity.
    Befehl:    USER mustermann_FTP_1
    Antwort:    331 User mustermann_FTP_1 OK. Password required
    Befehl:    PASS *******
    Antwort:    230 OK. Current restricted directory is /
    Befehl:    SYST
    Antwort:    215 UNIX Type: L8
    Befehl:    FEAT
    Antwort:    211-Extensions supported:
    Antwort:     EPRT
    Antwort:     IDLE
    Antwort:     MDTM
    Antwort:     SIZE
    Antwort:     MFMT
    Antwort:     REST STREAM
    Antwort:     MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
    Antwort:     MLSD
    Antwort:     AUTH TLS
    Antwort:     PBSZ
    Antwort:     PROT
    Antwort:     UTF8
    Antwort:     ESTA
    Antwort:     PASV
    Antwort:     EPSV
    Antwort:     SPSV
    Antwort:     ESTP
    Antwort:    211 End.
    Befehl:    OPTS UTF8 ON
    Antwort:    200 OK, UTF-8 enabled
    Status:    Verbunden
    Status:    Empfange Verzeichnisinhalt...
    Befehl:    PWD
    Antwort:    257 "/" is your current location
    Befehl:    TYPE I
    Antwort:    200 TYPE is now 8-bit binary
    Befehl:    PASV
    
    Auch das abschalten der Firewall mit ufw disable hat keine Veränderung gebracht. Da die Ausgabe von iptables -L recht lang ist, hier mal die entscheidenen zeilen:

    Code:
    Chain ufw-user-input (1 references)
    target     prot opt source               destination         
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
    ACCEPT     udp  --  anywhere             anywhere             udp dpt:ssh
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
    ACCEPT     udp  --  anywhere             anywhere             udp dpt:http
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:smtp
    ACCEPT     udp  --  anywhere             anywhere             udp dpt:25
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ftp
    ACCEPT     udp  --  anywhere             anywhere             udp dpt:fsp
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ftp-data
    ACCEPT     udp  --  anywhere             anywhere             udp dpt:20
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:pop3
    ACCEPT     udp  --  anywhere             anywhere             udp dpt:pop3
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:imap2
    ACCEPT     udp  --  anywhere             anywhere             udp dpt:imap2
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
    ACCEPT     udp  --  anywhere             anywhere             udp dpt:https
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http-alt
    ACCEPT     udp  --  anywhere             anywhere             udp dpt:http-alt
    ACCEPT     tcp  --  anywhere             anywhere             multiport dports 40110:40210
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:snmp
    ACCEPT     udp  --  anywhere             anywhere             udp dpt:snmp
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain
    ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:submission
    ACCEPT     udp  --  anywhere             anywhere             udp dpt:submission
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:imaps
    ACCEPT     udp  --  anywhere             anywhere             udp dpt:imaps
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:pop3s
    ACCEPT     udp  --  anywhere             anywhere             udp dpt:pop3s
    ACCEPT     udp  --  anywhere             anywhere             multiport dports 40110:40210
    

    Sollten passen für ein Web, FTP und Mailserver.
    Die Passivports für den FTP liegen bei 40110:40210 und sind für tcp / udp offen.

    Im syslog steht zum Zeitpunkt des Logins folgendes:
    Code:
    Jun  4 07:10:30 srv1 pure-ftpd: (?@80.147.110.35) [INFO] New connection from 80.147.110.35
    Jun  4 07:10:30 srv1 pure-ftpd: (?@80.147.110.35) [DEBUG] Command [user] [mustermann_FTP_1]
    Jun  4 07:10:30 srv1 pure-ftpd: (?@80.147.110.35) [DEBUG] Command [pass] [<*>]
    Jun  4 07:10:30 srv1 pure-ftpd: (?@80.147.110.35) [INFO] mustermann_FTP_1 is now logged in
    Jun  4 07:10:30 srv1 pure-ftpd: (mustermann_FTP_1@80.147.110.35) [DEBUG] Command [opts] [UTF8 ON]
    Jun  4 07:10:31 srv1 pure-ftpd: (mustermann_FTP_1@80.147.110.35) [DEBUG] Command [pwd] []
    Jun  4 07:10:31 srv1 pure-ftpd: (mustermann_FTP_1@80.147.110.35) [DEBUG] Command [type] [i]
    Jun  4 07:10:31 srv1 pure-ftpd: (mustermann_FTP_1@80.147.110.35) [DEBUG] Command [pasv] []
    Jun  4 07:10:31 srv1 pure-ftpd: (mustermann_FTP_1@80.147.110.35) [INFO] Logout.
    
    Ich hab echt keine Ahnung warum der FTP kein listing ausgibt.
    Laut Syslog kommt der User ja richtig an und wird auch Authentifiziert. Aber warum das kein Listing?

    grüße
    mulixer
     
  6. Till

    Till Administrator

    FTP wird durch die Firewall geblockt und laut iptables -L ist sie nicht abgeschaltet. Das problem ist also das, was ich in #2 geschrieben habe.
     
  7. mulixer

    mulixer New Member

    ja aber nur zum verständnis,

    Firewall ein bzw. ausschalten
    Code:
    ufw disable
    ufw enable
    
    Das freigeben von enem port für tcp und udp:
    Code:
    ufw allow 21
    
    oder auch eine range
    Code:
    ufw allow proto tcp to any port 40110:40210
    ufw allow proto udp to any port 40110:40210
    
    Egal ob ich die Firewall ein oder ausschalte, der ftp macht kein listing.
    Oder habe ich bei der funktion von ufw irgendwas falsch verstanden. Es ist doch nur eine Frontend für iptables.
     
  8. Till

    Till Administrator

    Wenn Du nach dem Ausschalten von ufw das obige iptables Listing bekommst, dann ist die Firewall definitiv nicht ausgeschaltet. Und wenn FTP beim "Befehl: PASV" abbricht, also beim umschalten auf die passive ports, dann ist es meiner Meinung nach ein Firewall Problem.
     

Diese Seite empfehlen