GNU/Linux >> Linux Esercitazione >  >> Linux

Vsftpd non riesce ad autenticare Pam?

Spostando una configurazione vsftpd collaudata su un nuovo server con Fedora 16, ho riscontrato un problema. Tutto sembra andare come dovrebbe, ma l'autenticazione dell'utente non riesce. Non riesco a trovare alcuna voce in nessun registro che indichi cosa è successo.

Ecco il file di configurazione completo:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=0
data_connection_timeout=0
nopriv_user=ftpsecure
connect_from_port_20=YES
listen=YES
chroot_local_user=YES
chroot_list_enable=NO
ls_recurse_enable=YES
listen_ipv6=NO

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

FTP mi sfida per un nome utente e una password, li fornisco, Accesso errato. Ho verificato, questo utente è in grado di accedere da ssh. Qualcosa non ha funzionato con pam_service .

Anonimo (se modificato in consentito) sembra funzionare bene.

SELinux è disabilitato.

Ftpsecure sembra essere configurato correttamente... Sono completamente perso!

Ecco i file di registro che ho esaminato senza successo:

/var/log/messages
/var/log/xferlog      #empty
/var/log/vsftpd.log   #empty
/var/log/secure

Trovato qualcosa in /var/log/audit/audit.log :

type=USER_AUTH msg=audit(1335632253.332:18486): user pid=19528 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:authentication acct="kate" exe="/usr/sbin/vsftpd" hostname=ip68-5-219-23.oc.oc.cox.net addr=68.5.219.23 terminal=ftp res=failed'

Forse dovrei guardare /var/log/wtf-is-wrong.help 🙂

Ulteriori informazioni:

/etc/pam.d/vsftpd si presenta così:

#%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      password-auth
account    include      password-auth
session    required     pam_loginuid.so
session    include      password-auth

Risposta accettata:

Accidenti. Ho risolto il problema. Si tratta di una configurazione ma all'interno di /etc/pam.d/vsftpd

Poiché le sessioni ssh sono riuscite mentre le sessioni ftp non sono riuscite, sono andato a

/etc/pam.d/vsftpd, ha rimosso tutto ciò che c'era e ha invece posizionato il contenuto di ./sshd in modo che corrisponda esattamente alle regole. Tutto ha funzionato!

Per metodo di eliminazione, ho scoperto che la linea incriminata era:

    auth       required     pam_shells.so

La rimozione mi consente di procedere.

Si scopre che "pam_shells è un modulo PAM che consente l'accesso al sistema solo se la shell degli utenti è elencata in /etc/shells". Ho guardato lì e abbastanza sicuro, niente bash, niente di niente. Questo è un bug nella configurazione di vsftpd secondo me poiché da nessuna parte nella documentazione è necessario modificare /etc/shells. Pertanto, l'installazione e le istruzioni predefinite non funzionano come indicato.

Andrò a cercare dove posso inviare il bug ora.


Linux
  1. Trova il file di registro di Firefox?

  2. 20 File di registro Linux che si trovano nella directory /var/log

  3. L'utente anonimo non riesce a caricare il file sul server VSFTP

  4. Yum non riesce con "Errore:l'immagine del disco del database non è corretta" in /var/log/messages

  5. La compilazione di .NET Core nel contenitore linux docker non riesce a causa dell'autenticazione SSL a Nuget

Anatomia di un file di configurazione di Linux Pluggable Authentication Modules (PAM).

Un'introduzione ai Pluggable Authentication Modules (PAM) in Linux

Come migliorare la sicurezza degli utenti Linux con le impostazioni del modulo di autenticazione pluggable

Installazione Grafana Loki

Autenticazione PAM

chsh:autenticazione PAM fallita