VSFTPD es un servidor FTP para fácil de instalar y utilizar.
Instalación e implementacion
Para instalarlo bajo Gentoo, utilizamos el comando:
emerge vsftpd
Una vez instalado, es posible ejecutar el Daemon mediante
/etc/init.d/vsftpd start y programarlo al inicio de nuestra maquina mediante
rc-update add vsftpd default.
Configuración
La configuración de
vsftpd pasa básicamente por la modificación de los parámetros presentes en el fichero
/etc/vsftpd/vsftpd.conf (un fichero vsftpd.conf.sample viene como ejemplo en el mismo directorio).
Configuración del uso de ssl
Para configurar el uso de
ssl, necesitamos generar un certificado ssl de la siguiente manera:
/etc/ssl/certs/openssl req -x509 -nodes -days 7300 -newkey rsa:2048 \
-keyout /etc/ssl/certs/vsftpd.pem -out /etc/ssl/certs/vsftpd.pem
Debemos seguir atentamente las etapas de generación del certificado y proporcionar la información necesaria.
Luego continuamos con la configuración del fichero
/etc/vsftpd/vsftpd.conf integrando los siguientes parámetros:
ssl_enable=YES
#Elegir si se activa o no el acceso para usuarios anónimos vía ssl
# allow_anon_ssl=NO
#Este parámetro debe estar activado para hacer funcionar ssl
ssl_tlsv1=YES
#Parámetros opcionales
force_local_logins_ssl=YES
ssl_sslv2=YES
ssl_sslv3=YES
#Indicar la ruta de los ficheros *.pem generadosrsa_cert_file=
/etc/ssl/certs/vsftpd.pem
#los ficheros *.pem contienen las claves así como los
certificadosrsa_private_key_file=/etc/ssl/certs/vsftpd.pem
Gestión de usuarios virtuales con autenticación PAM
Será necesario:
- Crear en el directorio /etc/vsftpd/ un fichero de texto usuarios.txt conteniendo la lista de usuarios que serán creados con sus respectivas contraseñas:
Usuario1
Reemplazar1
Usuario2
Reemplazar2
…
UsuarioX
ReemplazarX
Se debe terminar el fichero con un ajuste automático de línea.
- Generar la base de datos de los usuarios a partir de este fichero
DbX.Y_load -T -t hash -f /etc/vsftpd/usuarios.txt /etc/vsftpd/usuarios.db
Es necesario instalar la biblioteca dbX-util mediante el comando
emerge db
En el que X, Y es la versión.
- Luego es necesario proteger la base de datos
chmod 600 /etc/vsftpd/usuarios.db
- Agregar al fichero /etc/pam.d/vsftpd (crearlo si no existiera) las dos siguientes líneas
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/usuarios
account required /lib/security/pam_userdb.so db=/etc/vsftpd/usuarios
Si aun no está instalada, instalar la librería
pam_userdb mediante el comando
emerge pam_userdb
Para identificar los usuarios que utilizan el fichero
/etc/passwd y con la base de datos PAM, necesitamos agregar las siguientes líneas:
auth sufficient pam_unix.so
account sufficient pam_unix.so
- Editar el fichero vsftpd.conf para agregarle los parámetros:
local_enable=YES
chroot_local_user=YES
guest_enable=YES
guest_username=ftpuser
Tener en cuenta que los usuarios virtuales tienen los mismos privilegios que los usuarios anónimos. Para que tengan acceso en modo escritura a la carpeta compartida:
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
PD: El
artículo original fue escrito por wjaouadi, contribuidor de
CommentCaMarche