<Precedenti | Contenuti | Succ.>
1.4. Protezione FTP
Ci sono opzioni in /etc/vsftpd.conf per aiutare a rendere vsftpd più sicuro. Ad esempio, gli utenti possono essere limitati alle proprie directory home rimuovendo i commenti:
chroot_local_user = S
Puoi anche limitare un elenco specifico di utenti solo alle loro home directory:
chroot_list_enable=S chroot_list_file=/etc/vsftpd.chroot_list
Dopo aver decommentato le opzioni di cui sopra, crea un /etc/vsftpd.chroot_list contenente un elenco di utenti uno per riga. Quindi riavvia vsftpd:
sudo systemctl riavvia vsftpd.service
Anche il /etc/ftpusers file è un elenco di utenti che sono non consentito Accesso FTP. L'elenco predefinito include root, daemon, nessuno, ecc. Per disabilitare l'accesso FTP per altri utenti è sufficiente aggiungerli all'elenco.
FTP può anche essere crittografato usando FTPS. Diverso da SFTP, FTPS è FTP su Secure Socket Layer (SSL). SFTP è una sessione simile a FTP su un file crittografato SSH connessione. Una delle principali differenze è che gli utenti di SFTP devono avere un conchiglia account sul sistema, invece di a nessun accesso guscio. Fornire a tutti gli utenti una shell potrebbe non essere l'ideale per alcuni ambienti, come un host web condiviso. Tuttavia, è possibile limitare tali account solo a SFTP e disabilitare l'interazione della shell. Vedere la sezione su OpenSSH-Server per ulteriori informazioni.
Da configurare FTPS, modificare /etc/vsftpd.conf e in fondo aggiungi:
ssl_enable=Sì
Inoltre, nota il certificato e le opzioni relative alla chiave:
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
Per impostazione predefinita, queste opzioni sono impostate sul certificato e sulla chiave forniti dal pacchetto ssl-cert. In un ambiente di produzione questi dovrebbero essere sostituiti con un certificato e una chiave generati per l'host specifico. Per ulteriori informazioni sui certificati, vedere Sezione 5, «Certificati» [p. 198].
Ora riavvia vsftpd e gli utenti non anonimi saranno costretti a usare FTPS:
sudo systemctl riavvia vsftpd.service
Per consentire agli utenti con una shell di /usr/sbin/nologin accesso a FTP, ma non hai accesso alla shell, modifica / etc / shells
aggiungendo il file nessun accesso conchiglia:
# /etc/shells: shell di accesso valide
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/ Bin / tcsh
/usr/bin/esh
/bin/trattino
/ bin / bash
/bin/rbash
/usr/bin/schermo
/usr/sbin/nologin
Ciò è necessario perché, per impostazione predefinita, vsftpd utilizza PAM per l'autenticazione e il /etc/pam.d/vsftpd
il file di configurazione contiene:
auth richiesto pam_shells.so
. conchiglie Il modulo PAM limita l'accesso alle shell elencate nel / etc / shells file.
I client FTP più diffusi possono essere configurati per la connessione tramite FTPS. Anche il client FTP della riga di comando lftp ha la capacità di utilizzare FTPS.