Hola amigo, yo también inicie mi proyecto con Zentyal como producción para mi pequeña empresa.
La verdad no se por que quitaron el servidor FTP en la versión 5 de Zentyal, tampoco se si la versión pago trae el servidor FTP.
Pero tuve que instalarlo manualmente, antes debo avistare que yo instale Zentyal en Ubuntu Server v16.04 LTS y no el la ISO que proporciona la web.
Te voy a dar mis anotaciones de como hice mi servidor FTP.
Configurar VSFTPD Server y OpenSSH ServerOPENSSH SERVERPara permitir el acceso a root tanto como consola y por WinSCP debemos agregar la password para root
sudo passwd root
colocamos la nueva contraseña.
luego vamos a entrar con el usuario root.
su root
una ves iniciamos con root podemos modificar con facilidad y no tenemos que poner la clave cada ves que modifiquemos algo.
luego editamos el archivo
nano /etc/ssh/sshd_config
cambiamos:
PermitRootLogin yes
reiniciamos el servicio
systemctl restart ssh.service
Con esto tenemos habilitado el acceso por SSH con usuario root y tambien podemos transferir archivos con la herramienta WinSCP.
VSFTPD SERVERPrimero instalamos los paquetes que vamos a necesitar.
apt-get install vsftpd openssl xinetd
detenemos y deshabilitamos el servicio
systemctl stop vsftpd.service
systemctl disable vsftpd.service
Necesitamos 2 configuraciones
FTP Anonymous, para que los usuarios anónimos tenga acceso publico a descargar los archivos que se compartan. Este usara el puerto 21 y el modo pasivo habilitado con los puerto de rango 50000 al 50100.
Este archivo de configuración se va a ubicar en /etc/vsftpd-anon.conf
FTPS SSL/TLS, para que los usuarios virtuales tenga acceso privado a directorios asignados para almacenar o descargar archivos.
No se permite compartir ya que es privado. Este usara el puerto 990 y modo pasivo con un rango de puertos 50000 al 50100.
usara el archivo de configuración estará ubicado en /etc/vsftpd.conf
Configuracion FTPSInicialmente creamos una llave RSA de 2048 bit (RSA KEY)
openssl genrsa -out /etc/ssl/private/vsftpd.key 2048
De la llave creada previemente creamos una Solicitud de firma de certificado (RSA CSR)
openssl req -new -key /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.csr -sha1
Se le pedirá que proporcione información sobre su organización (por ejemplo, país, estado, nombre, etc.). Tenga en cuenta que la información
de ubicación debe pertenecer a su organización, no a su servidor.
Country Name (2 letter code) [AU]:VE
State or Province Name (full name) [Some-State]:Miranda
Locality Name (eg, city) []:Guarenas
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Servicios Administrativos Vidoca, C.A.
Organizational Unit Name (eg, section) []:SAVIDOCA
Common Name (e.g. server FQDN or YOUR name) []:savidoca.com
Email Address []:savidoca@gmail.com
contraseña del certificado []:
Finalmente, podemos generar un certificado autofirmado X.509, válido por 1 año
openssl x509 -req -days 365 -in /etc/ssl/certs/vsftpd.csr -signkey /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.pem
Una vez que tenga su certificado, debe establecer la propiedad del archivo en la raíz y hacerlo legible solo por root
chown root:root /etc/ssl/certs/vsftpd.pem
chmod 600 /etc/ssl/certs/vsftpd.pem
Copiamos este archivo de configuración y remplazamos todo el texto por el que es que esta en /etc/vsftpd.conf
Archivo /etc/vsftpd.conf
#
# Opciones de Red
#
listen=NO
listen_ipv6=NO
listen_port=990
#port_enable=YES
#connect_from_port_20=YES
#ftp_data_port=20
pasv_enable=YES
#pasv_addr_resolve=NO
#pasv_address=
pasv_promiscuous=NO
port_promiscuous=NO
pasv_min_port=50000
pasv_max_port=50100
accept_timeout=60
connect_timeout=60
data_connection_timeout=300
idle_session_timeout=300
delay_failed_login=1
delay_successful_login=0
max_login_fails=3
max_clients=0
max_per_ip=0
anon_max_rate=0
local_max_rate=0
trans_chunk_size=0
local_max_rate=0
#
# Opciones usuarios anonimos
#
anonymous_enable=NO
no_anon_password=YES
anon_root=/home/publico
allow_anon_ssl=NO
force_anon_data_ssl=NO
force_anon_logins_ssl=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_upload_enable=NO
anon_world_readable_only=YES
anon_umask=077
#chown_upload_mode=0600
#secure_email_list_enable=YES
#email_password_file=/etc/vsftpd.email_passwords
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
#
# Opciones usuarios locales
#
local_enable=YES
local_umask=022
#chmod_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
passwd_chroot_enable=YES
secure_chroot_dir=/var/run/vsftpd/empty
#check_shell=YES
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list
#
# Opciones usuarios virtuales
#
#virtual_use_local_privs=YES
#guest_enable=YES
#guest_username=ftp
user_sub_token=$USER
local_root=/home/$USER
#hide_ids=YES
#
# Opciones de directorio
#
utf8_filesystem=YES
#dirlist_enable=YES
dirmessage_enable=YES
#message_file=.message
#force_dot_files=NO
#hide_ids=NO
#text_userdb_names=NO
#mdtm_write=YES
use_localtime=YES
#ls_recurse_enable=YES
#tilde_user_enable=NO
#deny_file=
#hide_file=
#user_config_dir=
#
# Opciones de transferencia de archivos
#
#download_enable=NO
#lock_upload_files=YES
#delete_failed_uploads=NO
#chown_uploads=YES
#chown_username=root
write_enable=YES
#file_open_mode=0666
ascii_download_enable=YES
ascii_upload_enable=YES
#
# Opciones SSL/TLS
#
ssl_enable=YES
#require_cert=YES
#validate_cert=YES
#ca_certs_file=/etc/ssl/certs/vsftpd.cert
#dsa_cert_file=/etc/ssl/certs/vsftpd.pem
#dsa_private_key_file=/etc/ssl/private.key
#ssl_request_cert=YES
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.key
implicit_ssl=YES
require_ssl_reuse=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
#strict_ssl_read_eof=NO
#strict_ssl_write_shutdown=NO
ssl_ciphers=HIGH
debug_ssl=YES
#
# Opciones de Consola
#
ftpd_banner=Bienvenido
#banner_file=/home/administrator/Documents/file.txt
#async_abor_enable=NO
#cmds_allowed=
#cmds_denied=
#
# Opciones de Registro
#
#syslog_enable=YES
#dual_log_enable=YES
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/vsftpd.log
#log_ftp_protocol=NO
#no_log_lock=NO
#vsftpd_log_file=/var/log/vsftpd.log
#
# Opciones Avanzadas
#
#session_support=YES
#background=NO
#one_process_model=NO
#setproctitle_enable=NO
tcp_wrappers=YES
#run_as_launching_user=NO
#nopriv_user=ftpsecure
pam_service_name=vsftpd
#use_sendfile=YES
creamos una lista de usuarios locales a encarcelar que permita no ver otras carpetas que no sea fuera de /home/$USER
nano /etc/vsftpd.chroot_list
administrator
creamos una lista de usuarios permitidos para iniciar session
nano /etc/vsftpd.user_list
administrator
Configuración FTP anónimoEn este caso solo permitiremos acceso publico para ver y descarga archivos
creamos un archivo por separado.
nano /etc/vsftpd_anon.conf
Archivo: /etc/vsftpd_anon.conf
#
# Opciones de Red
#
listen=NO
#listen_ipv6=NO
listen_port=21
port_enable=YES
connect_from_port_20=YES
ftp_data_port=20
pasv_enable=YES
#pasv_addr_resolve=NO
#pasv_address=
pasv_promiscuous=NO
port_promiscuous=NO
pasv_min_port=50000
pasv_max_port=50100
accept_timeout=60
connect_timeout=60
data_connection_timeout=300
idle_session_timeout=300
delay_failed_login=1
delay_successful_login=0
max_login_fails=3
max_clients=0
max_per_ip=0
anon_max_rate=0
#local_max_rate=0
trans_chunk_size=0
#local_max_rate=0
#
# Opciones usuarios anonimos
#
anonymous_enable=YES
no_anon_password=YES
anon_root=/home/public
allow_anon_ssl=NO
force_anon_data_ssl=NO
force_anon_logins_ssl=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_upload_enable=NO
anon_world_readable_only=YES
anon_umask=077
#chown_upload_mode=0600
#secure_email_list_enable=YES
#email_password_file=/etc/vsftpd.email_passwords
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
#
# Opciones usuarios locales
#
local_enable=NO
#local_umask=022
#chmod_enable=YES
#chroot_local_user=YES
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
#passwd_chroot_enable=YES
#secure_chroot_dir=/var/run/vsftpd/empty
#check_shell=YES
#userlist_enable=YES
#userlist_deny=NO
#userlist_file=/etc/vsftpd.user_list
#
# Opciones usuarios virtuales
#
#virtual_use_local_privs=YES
#guest_enable=YES
#guest_username=ftp
#user_sub_token=$USER
#local_root=/home/virtual/$USER
#
# Opciones de directorio
#
utf8_filesystem=YES
dirlist_enable=YES
#dirmessage_enable=YES
#message_file=.message
#force_dot_files=YES
hide_ids=YES
#allow_writeable_chroot=YES
#text_userdb_names=NO
#mdtm_write=YES
use_localtime=YES
#ls_recurse_enable=YES
#tilde_user_enable=NO
#deny_file=
#hide_file=
#user_config_dir=
#
# Opciones de transferencia de archivos
#
#download_enable=NO
#lock_upload_files=YES
#delete_failed_uploads=NO
#chown_uploads=YES
#chown_username=root
write_enable=NO
#file_open_mode=0666
ascii_download_enable=YES
#ascii_upload_enable=YES
#
# Opciones SSL/TLS
#
ssl_enable=NO
#require_cert=YES
#validate_cert=YES
#ca_certs_file=/etc/ssl/certs/vsftpd.cert
#dsa_cert_file=/etc/ssl/certs/vsftpd.pem
#dsa_private_key_file=/etc/ssl/private.key
#ssl_request_cert=YES
#rsa_cert_file=/etc/ssl/certs/vsftpd.pem
#rsa_private_key_file=/etc/ssl/private/vsftpd.key
#implicit_ssl=YES
#require_ssl_reuse=NO
#force_local_data_ssl=YES
#force_local_logins_ssl=YES
#ssl_tlsv1=YES
#ssl_sslv2=NO
#ssl_sslv3=NO
#strict_ssl_read_eof=NO
#strict_ssl_write_shutdown=NO
#ssl_ciphers=HIGH
#debug_ssl=YES
#
# Opciones de Consola
#
ftpd_banner=Bienvenido
#banner_file=/home/administrator/Documents/file.txt
#async_abor_enable=NO
#cmds_allowed=
#cmds_denied=
#
# Opciones de Registro
#
#syslog_enable=YES
#dual_log_enable=YES
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/vsftpd.log
#log_ftp_protocol=NO
#no_log_lock=NO
#vsftpd_log_file=/var/log/vsftpd.log
#
# Opciones Avanzadas
#
#session_support=YES
#background=NO
#one_process_model=NO
#setproctitle_enable=NO
tcp_wrappers=YES
#run_as_launching_user=NO
#nopriv_user=ftpsecure
pam_service_name=vsftpd
#use_sendfile=YES
Ahora creamos el inicio de por xinetd para que funcionen las 2 instancias
nano /etc/xinetd.d/vsftpd
agregamos este codigo:
service ftps
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
server_args = /etc/vsftpd.conf
log_on_success += PID HOST DURATION
log_on_failure += HOST
}
service ftp
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
server_args = /etc/vsftpd-anon.conf
log_on_success += PID HOST DURATION
log_on_failure += HOST
}
reiniciamos xinetd
systemctl restart xinetd.service
revisamos si esta los conexiones
netstat -nuptl | grep xinetd
tcp 0 0 0.0.0.0:990 0.0.0.0:* ESCUCHAR 16759/xinetd
tcp 0 0 0.0.0.0:21 0.0.0.0:* ESCUCHAR 16759/xinetd
Con el Firewall de Zentyal debes crear los servicios de comunicación y abrir los puertos.
https://forum.zentyal.org/index.php?action=dlattach;topic=31916.0;attach=6300;imagehttps://forum.zentyal.org/index.php?action=dlattach;topic=31916.0;attach=6302;imagehttps://forum.zentyal.org/index.php?action=dlattach;topic=31916.0;attach=6304;imagehttps://forum.zentyal.org/index.php?action=dlattach;topic=31916.0;attach=6306;imagelisto, podemos probar con filezilla client para comprobar su funcionamiento.