<Anterior | Contenido | Siguiente>
1.4. Asegurar FTP
Hay opciones en /etc/vsftpd.conf para ayudar a que vsftpd sea más seguro. Por ejemplo, los usuarios pueden limitarse a sus directorios de inicio descomentando:
chroot_local_user = SÍ
También puede limitar una lista específica de usuarios a solo sus directorios de inicio:
chroot_list_enable = SÍ chroot_list_file = / etc / vsftpd.chroot_list
Después de descomentar las opciones anteriores, cree un /etc/vsftpd.chroot_list que contiene una lista de usuarios, uno por línea. Luego reinicie vsftpd:
sudo systemctl reiniciar vsftpd.service
También el / etc / ftpusers archivo es una lista de usuarios que están no permitido Acceso FTP. La lista predeterminada incluye root, daemon, nadie, etc. Para deshabilitar el acceso FTP para usuarios adicionales, simplemente agréguelos a la lista.
FTP también se puede cifrar utilizando FTPS. Diferente de SFTP, FTPS es FTP sobre Secure Socket Layer (SSL). SFTP es una sesión tipo FTP sobre un cifrado SSH conexión. Una diferencia importante es que los usuarios de SFTP deben tener un shell cuenta en el sistema, en lugar de una no iniciar sesión cascarón. Es posible que proporcionar un shell a todos los usuarios no sea ideal para algunos entornos, como un servidor web compartido. Sin embargo, es posible restringir dichas cuentas solo a SFTP y deshabilitar la interacción del shell. Consulte la sección sobre OpenSSH-Server para obtener más información.
Para configurar FTPS, Edición /etc/vsftpd.conf y en la parte inferior agregue:
ssl_enable = Sí
Además, observe las opciones relacionadas con el certificado y la clave:
rsa_cert_file = / etc / ssl / certs / ssl-cert-snakeoil.pem rsa_private_key_file = / etc / ssl / private / ssl-cert-snakeoil.key
De forma predeterminada, estas opciones se establecen en el certificado y la clave proporcionados por el paquete ssl-cert. En un entorno de producción, estos deben reemplazarse con un certificado y una clave generados para el host específico. Para obtener más información sobre certificados, consulte la Sección 5, “Certificados” [p. 198].
Ahora reinicie vsftpd, y los usuarios no anónimos se verán obligados a usar FTPS:
sudo systemctl reiniciar vsftpd.service
Para permitir a los usuarios con un caparazón de / usr / sbin / nologin acceso a FTP, pero no tiene acceso de shell, editar / etc / shells
agregando el no iniciar sesión cáscara:
# / etc / shells: shells de inicio de sesión válidos
/ bin / csh
/ Bin / sh
/ usr / bin / es
/ usr / bin / ksh
/ bin / ksh
/ usr / bin / rc
/ usr / bin / tcsh
/ bin / tcsh
/ usr / bin / esh
/ bin / dash
/ bin / bash
/ bin / rbash
/ usr / bin / screen
/ usr / sbin / nologin
Esto es necesario porque, de forma predeterminada, vsftpd usa PAM para la autenticación y la /etc/pam.d/vsftpd
El archivo de configuración contiene:
auth requiere pam_shells.so
La conchas El módulo PAM restringe el acceso a los shells enumerados en el / etc / shells archivo.
Los clientes FTP más populares se pueden configurar para conectarse mediante FTPS. El cliente FTP de línea de comando lftp también tiene la capacidad de usar FTPS.