CONFIGURACIÒN DE SERVIDOR PROFTPD EN LINUX

En esta nueva entrada veremos un manual con el que configuraremos un servidor ftp con uno de los software mas estables y seguros según el sitio oficial, con Licencia Pública General,

Comenzamos instalando el paqute de proftpd

debian:/home/sena# apt-get install proftpd

al descargar nos pregutara de que modo deseamos que corra, le especificamos que lo haga standalone ó (independiente) ya que con esta opción el administrador decide cuando arrancar el servidor y cuando detenerlo.


debian:/home/sena# cat /etc/passwd
utilizando este comando veremos que se ha agregado un usuario llamado “FTP” que es el que nos crea ProFTPD al instalarlo, en esa lista nos aseguramos que su shell sea:
/bin/bash/ de este modo podra loguearse con el usuario ftp
Creamos el usuario ftp como usuario del sistema si no se encuantra con el comando anterior, lo haremos de la siguiente forma:

debian:~# adduser ftp -s /bin/bash

si no esta creado el grupo haremos:
debian:~# addgroup ftp

añadimos el usuario ftp a al grupo ftp
debian:~# adduser ftp ftp


tenemos en este momento la cuenta de login para ftp. Crearemos dos directorios llamados upload y download en el directorio /home/ftp donde se realizarán las subidas y las descargas respectivamente.-


debian:/home/ftp# mkdir upload debian:/home/ftp# mkdir download

le damos los permisos correspondientes

debian:/home/ftp# chmod a+rw -R upload (ejecución, lectura y escritura para todos)
debian:/home/ftp# chmod 755 -R download
(todo los permisos para root y ejecucuion y lectura para otros)

cambiamos el propietario para los directorios:

debian:/home/ftp# chown ftp upload
debian:/home/ftp# chown ftp download


con la siguiente linea nos aseguramos que el servidor ftp "escucha" en el puerto 21, así que la siguiente orden nos confirmará la ejecución correcta como demonio en el servidor:



debian:/home/ftp#netstat -an|grep LISTEN|grep 21

debera aparecer en la pantalla algo parecido a esto:

tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN



En las siguientes lineas especificaremos los parametros de proftpd según nuestras necesidades, dejandolas en sintesis de la sigueinte forma, ingresamos:

debian:/etc# pico /etc/proftpd/proftpd.conf


#
# /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes reload proftpd after modifications.
#

# Includes DSO modules
Include /etc/proftpd/modules.conf

# Set off to disable IPv6 support which is annoying on IPv4 only boxes.
UseIPv6 off


ServerName "nuevoftp" (indicamos el nombre del servidor)
ServerType standalone (se encuentra independiente)
DeferWelcome on (retrasamos la aparición de mensajes de bienvenida)
MultilineRFC2228 on (habilitar extenciones de seguridad de la RFC 2228.)
DefaultServer on (usar (VirtualHost))
ShowSymlinks off (muestra los ficheros que se encuentren dentro del área designada para losusuarios)
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
(los siguientes parámetros son temporizadores de la conexión, vienen dados ensegundos. Desconectan al usuario transcurrido cierto tiempo si no se produce ninguna transferencia, si no llegan datos o si el usuario está inactivo, respectivamente)

DisplayLogin welcome.msg
DisplayFirstChdir .message (mensajes de bienbenida para los usuarios)

ListOptions "-l" (opciones al hacer un ls.)
DenyFilter \*.*/

# Port 21 is the standard FTP port. ( puerto por el que escuchara)
Port 21

MaxInstances 30 (maximo de visitas en le servidor)

User proftpd
Group nogroup
(usuario y grupo para que el servidor corra)
ServerIdent on "bienvenido al nuevoftp"
AccessGrantMsg "ACCESO CORRECTO"
AccessDenyMsg "ACCESO INCORRECTO"
(respectivamente mensajes de bienbenida ingreso y logueo)

AuthUserFile "/etc/passwd"
AuthGroupFile "/etc/group"
(direcciona a la shell que usara para ejecutar comandos)

Umask 022 022 (definen los permisos de los ficheros)

AllowOverwrite on (permitimos que se sobreescriban los ficheros)

DefaultRoot /home/ftp (enjaula usuario en este directorio)

# Uncomment this if you are using NIS or LDAP to retrieve passwords:
# PersistentPasswd off

# Be warned: use of this directive impacts CPU average load!
#
# Uncomment this if you like to see progress and transfer rate with ftpwho
# in downloads. That is not needed for uploads rates.
# UseSendFile off


TransferLog /var/log/proftpd/xferlog
SystemLog /var/log/proftpd/proftpd.log


EN ESTAS ULTIMAS LINEAS INDICAREMOS LOS PERMISOS QUE TENDRAN LOS USUARIOS EN LOS DIRECTORIOS:

Directory /home/ftp
Limit WRITE
DenyAll
Limit
Directory

# indico que el directorio upload es de lectura y escritura
Directory /home/ftp/upload
Umask 077
AllowOverwrite off
Limit READ
DenyAll
Limit
Limit WRITE CWD
AllowAll
Limit
Directory


# indico que el directorio download es de solo lectura

Directory /home/ftp/download
Umask 774
Limit READ
AllowAll
Limit
Directory
#
# Anonymous
#VirtualHost 192.168.0.10
#VirtualHost

NOTA MUY IMPORTANTE: al momento de subir la entrada al blog hay problemas con el editor, tengo que suprimir los Caracteres ><, por que los confunde con Etiquetas HTML y no las muestra (en el archivo proftpd.conf se muestra como y donde irian).


Guardamos el archivo que acabamos de modificar

(Control+O) y salimos (Control+X)




Para finalizar reiniciaremos el servicio para que los cambios realizados tengan efecto:

debian:/etc# /etc/init.d/proftpd stop
Stopping ftp server: proftpd.

para luego teclear esto otro:

debian:/etc#debian:/etc# /etc/init.d/proftpd start

Stopping ftp server: proftpd.
Starting ftp server: proftpd.


Ingresando desde el navegador bastara con ingresar la ip en la barra de navegación ftp://192.168.70.10 nos pedira el usuario (ftp) y la contraseña (ftp) “para nuestro caso”


podremos probarlo tambien ingrasando a él desde la consola de la sigueinte manera:


debian:/home# ftp 192.168.70.10

Connected to 192.168.70.10.
220 bienvenido al nuevoftp
Name (192.168.70.10:root): ftp (nos loguearemos como ftp)
331 Password required for ftp
(contraseña ftp como dada al crear el usuario)
230 ACCESO CORRECTO
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful
150 Opening ASCII mode data connection for file list
drwxr-xr-x 2 (?) root 1024 Jul 30 16:05 download
drwxrwxrwx 2 (?) root 1024 Jul 30 14:17 upload
226 Transfer complete.


Hemos probado que el ervidor se encuentra corriendo correctamente, se recuerda que para lograr explotar sus funciones al maximo, es necesario seguir la documentación original de sitio oficiales.

1 comentarios:

Emax4 dijo...

Excelente aporte... buenisimo.. muchas gracias!!!