Configurar vsftpd con certificados autofirmados

Saltar a: navegación, buscar


Introducción

vsftpd es un de los servidores de FTP más populares. Lo usa SUSE, Red Hat, Kernel.org, GNU, FreeBSD, entre muchos otros. Esta receta es para configurar vsftpd con certificados autofirmados

Certificados X.509

Para crear un certificado de forma manual, ejecuta los siguientes comandos; Te preguntará ciertos datos, como el nombre de dominio, dirección de correo electrónico, región o país. En este caso el certificado será válido durante 1095 días (3 años)

 openssl req -new > vsftd.csr
 openssl rsa -in privkey.pem -out vsftpd.key
 openssl x509 -in vsftpd.csr -out vsftpd.crt -req -signkey vsftpd.key -days 1095

Después, copia vsftpd.crt y vsftpd.key al directorio que quieras, por ejemplo a /etc/ssl/private/ Ésta ubicación es la que tendrás que poner en vsftpd.conf

Si quieres crear un certificado autofirmado con YaST, ve a la página Creación de certificados autofirmados con YaST

Instalación de vsftpd

Instala el paquete vsftpd (como root)

 zypper in vsftpd

Configuracion de vsftpd

La siguiente configuración habilita la conexión anónima cifrada, el inicio de sesión con el usuario enjaulado (chroot) y subida de archivos. Edita el archivo /etc/vsftpd.conf (como root) para cambia su contenido por el siguiente:

write_enable=YES
dirmessage_enable=YES
nopriv_user=ftpsecure
local_enable=YES
anonymous_enable=YES
anon_world_readable_only=YES
syslog_enable=YES
connect_from_port_20=YES
ascii_upload_enable=YES
pam_service_name=vsftpd
listen=YES
pasv_min_port=30000
pasv_max_port=30100
anon_mkdir_write_enable=YES
anon_root=/srv/ftp
anon_upload_enable=NO
chroot_local_user=YES
ftpd_banner=Mensaje de bienvenida
idle_session_timeout=900
log_ftp_protocol=YES
max_clients=10
max_per_ip=3
pasv_enable=YES
xferlog_enable=YES
allow_writeable_chroot=YES
rsa_cert_file=/etc/ssl/servercerts/servercert.pem
rsa_private_key_file=/etc/ssl/servercerts/serverkey.pem
ssl_enable=YES
allow_anon_ssl=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
seccomp_sandbox=NO


Arranque de vsftpd

Habilita el arranque de vsftpd al iniciar openSUSE

systemctl enable vsftpd.service

Arranca el servicio

systemctl start vsftpd.service

Para ver los registros, ejecuta

 journalctl -u vsftpd

Otros recursos