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