Instalacion:
#apt-get install proftpd
Pasos previos:
Creamos una carpeta raiz y una carpeta donde subir archivos, y le damos los permisos necesarios. Lo crearemos en /home/ por ejemplo:
ServerType standalone/inetd
#Nosotros usaremos standalone en vez de inetd.
DeferWelcome off/on
#En nuestro caso pondremos off ya que no queremos mostrar ningún mensaje de entrada.
ServerIdent on/off "nombre"
#Usaremos on "nombre", en este apartado hay que ser común y poner un nombre específico.
MultilineRFC2228 on/off
#Usaremos on, ya que esto hará que nuestro servidor ftp sea compatible con casi todos los clientes ftp.
DefaultServer on/off
#Usaremos on, toma las opciones default de un servidor ftp.
ShowSymlinks on/off
#Usaremos on, podremos ver los links, si el link esta fuera de nuestro home no tendremos acceso a él.
AllowOverwrite on/off
#Usaremos off, permite sobreescribir ficheros existentes.
TimeoutNoTransfer
#El número es el máximo número de segundos que puede estar un cliente en el ftp, sin transferencia de información ej: 600.
TimeoutStalled
#el número máximo de segundos que puede estar cliente-servidor sin recibir informacion de una transferencia, ej: 60.
TimeoutIdle
#el número máximo de segundos que puedes estar un usuario sin hacer nada , ej: 120.
DenyFilter \*.*/
#Es un filtro de protección para el ProFTPd.
Port
#Usaremos el 21, ya que es el número de puerto predeterminado .
MaxInstances
#número de conexiones al ftp que se pueden hacer a la vez, ej: 2.
User nobody
Group nogroup
AccessGrantMsg "mensaje"
#El mensaje sera mostrado si la conexion del usuario ha sido correcta(el user y password ha sido el correcto).
AccessDenyMsg "mensaje"
#El mensaje sera mostrado si la conexion del usuario ha sido incorrecta...
LogFormat default "%h %l %u %t \"%r\" %s %b"
#Con LogFormat [nombre_formato] "formato", el nombre_formato se lo ponemos nosotros
LogFormat auth "%v [%P] %h %t \"%r\" %s"
#Para ser usado despues con ExtendedLog
LogFormat write "%h %l %u %t \"%r\" %s %b"
TransferLog /var/log/proftpd/transfer
#Loguea las transferencias que se realice con el servidor.
ExtendedLog /var/log/proftpd.down_up_log WRITE,READ write
#ExtendedLog es para loguear con una serie de caracteristicas.
ExtendedLog /var/log/proftpd.auth_log AUTH auth
#ExtendedLog [lugar_donde_se_guarda_el_log] [Que_logear] [nombre_formato].
ExtendedLog /var/log/proftpd.paranoid_log ALL default
#WRITE(escritura),READ(lectura),AUTH(autentificacion, logging) y ALL(todo).
DefaultRoot ~
#Con esto hacemos chroot en el home de nuestro usuario, es decir, no permitiremos que pueda subir más directorios.
AuthUserFile "/etc/passwd"
#Le decimos donde tenemos el archuvo de los usuarios.
AuthGroupFile "/etc/group"
#Le decimos donde tenemos el archivo de los grupos.
MaxClients "mensaje"
#Máximo número de clientes que pueden estar a la vez en en servidor ej: MaxClients 6 "Max %m usuarios".
MaxClientsPerHost "mensaje"
#Máximo número de clientes por Host(ip) ej: MaxClientsPerHost 2 "Solo 2 conexiones por HOST".
MaxClientsPerUser "mensaje"
#Máximo numero de clientes por usuario ej: MaxClientsPerUser 2 "Solo 2 conexiones por usuario". El mensaje aparece cuando superamos el número permitido.
RequireValidShell off
#Los usuarios no requieren, ni deben, de tener una sh
# mkdir /home/ftp
# mkdir /home/ftp/subir
# chmod 755 /home/ftp
# chmod 777 /home/ftp/subir
Configuración:
#Pondremos el que queramos, Servidor FTP es un ejemplo.
Para la configuración, editamos el fichero /etc/proftpd.conf
#nano /etc/proftpd.conf
Encontraremos los siguientes parámetros de configuración:
ServerName "Nombre_del_servidor_ftp"
ServerType standalone/inetd
#Nosotros usaremos standalone en vez de inetd.
DeferWelcome off/on
#En nuestro caso pondremos off ya que no queremos mostrar ningún mensaje de entrada.
ServerIdent on/off "nombre"
#Usaremos on "nombre", en este apartado hay que ser común y poner un nombre específico.
MultilineRFC2228 on/off
#Usaremos on, ya que esto hará que nuestro servidor ftp sea compatible con casi todos los clientes ftp.
DefaultServer on/off
#Usaremos on, toma las opciones default de un servidor ftp.
ShowSymlinks on/off
#Usaremos on, podremos ver los links, si el link esta fuera de nuestro home no tendremos acceso a él.
AllowOverwrite on/off
#Usaremos off, permite sobreescribir ficheros existentes.
TimeoutNoTransfer
#El número es el máximo número de segundos que puede estar un cliente en el ftp, sin transferencia de información ej: 600.
TimeoutStalled
#el número máximo de segundos que puede estar cliente-servidor sin recibir informacion de una transferencia, ej: 60.
TimeoutIdle
#el número máximo de segundos que puedes estar un usuario sin hacer nada , ej: 120.
DenyFilter \*.*/
#Es un filtro de protección para el ProFTPd.
Port
#Usaremos el 21, ya que es el número de puerto predeterminado .
MaxInstances
#número de conexiones al ftp que se pueden hacer a la vez, ej: 2.
User nobody
Group nogroup
AccessGrantMsg "mensaje"
#El mensaje sera mostrado si la conexion del usuario ha sido correcta(el user y password ha sido el correcto).
AccessDenyMsg "mensaje"
#El mensaje sera mostrado si la conexion del usuario ha sido incorrecta...
LogFormat default "%h %l %u %t \"%r\" %s %b"
#Con LogFormat [nombre_formato] "formato", el nombre_formato se lo ponemos nosotros
LogFormat auth "%v [%P] %h %t \"%r\" %s"
#Para ser usado despues con ExtendedLog
LogFormat write "%h %l %u %t \"%r\" %s %b"
TransferLog /var/log/proftpd/transfer
#Loguea las transferencias que se realice con el servidor.
ExtendedLog /var/log/proftpd.down_up_log WRITE,READ write
#ExtendedLog es para loguear con una serie de caracteristicas.
ExtendedLog /var/log/proftpd.auth_log AUTH auth
#ExtendedLog [lugar_donde_se_guarda_el_log] [Que_logear] [nombre_formato].
ExtendedLog /var/log/proftpd.paranoid_log ALL default
#WRITE(escritura),READ(lectura),AUTH(autentificacion, logging) y ALL(todo).
DefaultRoot ~
#Con esto hacemos chroot en el home de nuestro usuario, es decir, no permitiremos que pueda subir más directorios.
AuthUserFile "/etc/passwd"
#Le decimos donde tenemos el archuvo de los usuarios.
AuthGroupFile "/etc/group"
#Le decimos donde tenemos el archivo de los grupos.
MaxClients
#Máximo número de clientes que pueden estar a la vez en en servidor ej: MaxClients 6 "Max %m usuarios".
MaxClientsPerHost
#Máximo número de clientes por Host(ip) ej: MaxClientsPerHost 2 "Solo 2 conexiones por HOST".
MaxClientsPerUser
#Máximo numero de clientes por usuario ej: MaxClientsPerUser 2 "Solo 2 conexiones por usuario". El mensaje aparece cuando superamos el número permitido.
RequireValidShell off
#Los usuarios no requieren, ni deben, de tener una sh
No hay comentarios:
Publicar un comentario