vsftpd: Login successful - trotz falschem oder keinem Passwort

fatalerror15

New Member
Hallo,

ich habe hier ein Problem mit dem vsftpd unter einem RHEL 5.3 Server. Es kann sich mit jedem beliebigen Benutzer angemeldet werden, der in der datei "user_list" eingetragen ist, egal welches Passwort er eingibt. Auch wenn kein Passwort angegeben wird, kann man sich am Server anmelden :eek:!

In der Logdatei /var/log/secure steht auch entsprechend:
Code:
May  5 09:22:55 www vsftpd: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=user1 rhost=192.168.0.100  user=user1 
May  5 09:23:10 www vsftpd: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=user2 rhost=192.168.0.100  user=user2
u.s.w.

Trotzdem gewährt der vsftpd den Zugriff auf das Filesystem.

So, jetzt noch meine Konfigdateien, die meiner Meinung nach etwas damit zu tun haben:

vsftp.conf:

Code:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask= 0002
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
data_connection_timeout=3600
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
tcp_wrappers=YES
ssl_enable=YES
force_local_data_ssl=NO
force_local_logins_ssl=NO
rsa_cert_file=/etc/vsftpd/vsftpd.pem
chroot_local_user=YES
background=YES
userlist_deny=NO

Jetzt die Config vom pam.d modul vsftp:
Code:
#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required     pam_shells.so
auth       include      system-auth
account    include      system-auth
session    include      system-auth
session    required     pam_loginuid.so
password   include      system-auth

Und nun noch die system-auth:

Code:
#%PAM-1.0
auth        sufficient      pam_unix.so
account     sufficient      pam_unix.so
password    Required        pam_cracklib.so try_first_pass retry=3
password    sufficient      pam_unix.so
session     required        /lib/security/pam_mkhomedir.so skel=/etc/skel/ umask=0077
session     sufficient      pam_unix.so

Weitere Dateien gibt es auf Anfrage ;-)

Ich hoffe es kann mir jemand helfen. Ich bin hier am Verzweifeln! :mad:
 
Wenn ich die Manpage richtig verstanden habe, prüft userlist_enable nur ob der User auf der Liste steht, aber nicht ob das Passwort richtig ist.
Setz mal:
Code:
userlist_deny=YES
 
Hmm...
Erst mal Danke für die schnelle Antwort.
Aber das hat leider nichts gebracht. Nachdem ich
Code:
userlist_deny=yes
gesetzt habe, konnten sich alle User passwortlos anmelden, die nicht in der Datei user_list stehen. Das ist ja aber leider nicht das, was ich möchte...

Ich habe es jetzt wieder zurückgesetzt

Für weitere Vorschläge bin ich sehr Dankbar
 
Code:
auth       required     pam_listfile.so item=user sense=[COLOR="Red"][B]allow[/B][/COLOR] file=/etc/vsftpd/ftpusers onerr=[COLOR="Red"][B]fail[/B][/COLOR]
 
Das war es leider auch nicht. In der ftpusers steht folgendes:
Code:
# Users that are not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

Wenn ich die Zeile ändere, können sich nur noch die User anmelden, die in der user_list und in ftpusers stehen. Ich habe, nachdem ich die Datei geändert hatte, den user "root" mit zur user_list hinzugefügt. Danach konnte er sich auch ohne Passwort anmelden.

Ich habe es wieder zurückgestellt.

Da muss doch etwas grundsätzliches falsch sein. Wie kann es sein, dass im secure-log "authentication failure" gelogt wird und vsftpd trotzdem den Zugang gewährt.
 
Ich vermisse (entweder in der vsftp oder der system_auth) überhaupt eine erforderliche Paßwort-Authentifizierung (pam_cracklib ist keine und pam_unix ist nicht required).
 
Ich vermisse (entweder in der vsftp oder der system_auth) überhaupt eine erforderliche Paßwort-Authentifizierung (pam_cracklib ist keine und pam_unix ist nicht required).

Nach meinem Verständnis heißt "sufficient": Wenn dieses Modul erfolgreich ist, werden keine anderen Authentifizierungsmethoden mehr benötigt. Bei "required" müssen alle angegebenen Module erfolgreich sein.

Ich habe die letzten Tage mich mit dem RedHat-Support an dieses Thema gewagt.

Wir haben das Problem jetzt soweit eingegrenzt, dass wir sagen können:
Es liegt an der Zeile:
Code:
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed

Meine vsftpd-PAM sieht jetzt so aus:

Code:
auth       include      system-auth
account    include      system-auth
session    include      system-auth
password   include      system-auth

Ich habe den alten Eintrag testweise noch einmal eingetragen. Nachdem der die neue Zeile hinzukommt, stellen sich wieder die alt bekannten Verhältnisse ein. Dabei ist es scheinbar auch egal, ob diese am Anfang oder am Ende eingefügt wird (Ich weiß nicht ob die Datei sequenziel abgearbeitet wird?!)

Falls wir noch eine Lösung finden, die "ftpusers" wieder zu integrieren, bin ich vollauf zufrieden :-)
 
Back
Top