Author Topic: Servidor Ftp en la version 5.0  (Read 1581 times)

rastronet

  • Zen Apprentice
  • *
  • Posts: 3
  • Karma: +0/-0
    • View Profile
Servidor Ftp en la version 5.0
« on: December 13, 2017, 08:29:07 pm »
Buenas tardes a todos.
he visto que las versiones anteriores a la 5 llevan su servidor ftp para poder instalar facilmente.

No he visto en la version 5.0 esta opcion.
alguno puede decirme como se instala el servidor ftp en la Zentyal 5.0

un saludo.

JLLEWELYN

  • Zen Monk
  • **
  • Posts: 65
  • Karma: +5/-0
    • View Profile
Re: Servidor Ftp en la version 5.0
« Reply #1 on: January 07, 2018, 04:53:53 pm »
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 Server

OPENSSH SERVER

Para permitir el acceso a root tanto como consola y por WinSCP debemos agregar la password para root
Code: [Select]
sudo passwd rootcolocamos la nueva contraseña.

luego vamos a entrar con el usuario root.
Code: [Select]
su rootuna ves iniciamos con root podemos modificar con facilidad y no tenemos que poner la clave cada ves que modifiquemos algo.


luego editamos el archivo
Code: [Select]
nano /etc/ssh/sshd_config
cambiamos:
Code: [Select]
PermitRootLogin yes
reiniciamos el servicio
Code: [Select]
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 SERVER

Primero instalamos los paquetes que vamos a necesitar.
Code: [Select]
apt-get install vsftpd openssl xinetd
detenemos y deshabilitamos el servicio
Code: [Select]
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 FTPS

Inicialmente creamos una llave RSA de 2048 bit (RSA KEY)
Code: [Select]
openssl genrsa -out /etc/ssl/private/vsftpd.key 2048
De la llave creada previemente creamos una Solicitud de firma de certificado (RSA CSR)
Code: [Select]
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.
Code: [Select]
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

Code: [Select]
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

Code: [Select]
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
Code: [Select]
#
# 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

Code: [Select]
nano /etc/vsftpd.chroot_list
Code: [Select]
administrator

creamos una lista de usuarios permitidos para iniciar session
Code: [Select]
nano /etc/vsftpd.user_list
Code: [Select]
administrator


Configuración FTP anónimo

En este caso solo permitiremos acceso publico para ver y descarga archivos

creamos un archivo por separado.
Code: [Select]
nano /etc/vsftpd_anon.confArchivo: /etc/vsftpd_anon.conf
Code: [Select]
#
# 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
Code: [Select]
nano /etc/xinetd.d/vsftpd
agregamos este codigo:
Code: [Select]
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
Code: [Select]
systemctl restart xinetd.service
revisamos si esta los conexiones

Code: [Select]
netstat -nuptl | grep xinetd
Code: [Select]
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;image
https://forum.zentyal.org/index.php?action=dlattach;topic=31916.0;attach=6302;image
https://forum.zentyal.org/index.php?action=dlattach;topic=31916.0;attach=6304;image
https://forum.zentyal.org/index.php?action=dlattach;topic=31916.0;attach=6306;image
listo, podemos probar con filezilla client para comprobar su funcionamiento.  ;)
« Last Edit: January 07, 2018, 05:05:37 pm by JLLEWELYN »