viernes, 16 de abril de 2010

SERVIDOR FTP, PROFTPD



REFERENCIA: http://ubuntuforums.org/showthread.php?t=79588

PARA TODOS AQUELLOS QUE LES GUSTA COMPARTIR INFORMACION Y QUE LES GUSTA OPTIMIZAR TIEMPOS CUANDO ESTAN DESARROLLANDO, PROFTPD ES LA SOLUCION AL INTERCAMBIO DE ARCHIVOS.

PARA INSTALARLO SOLO EJECUTAMOS DESDE UNA TERMINAL:

root@mitalca:~# apt-get install proftpd

NOS PARECERA UNA PANTALLA EN COLOR AZUL INDICANDONOS DOS OPCIONES A ELEGIR (YA SEA INETD O STANDALONE; LA DIFERENCIA MAS COMUN ENTRE AMBOS ES LA VELOCIDAD DE TRANSFERENCIA), PERO NOSOTROS ELEGIREMOS STANDALONE.

DEPUES DE HABER FINALIZADO LA INSTALACION, HAREMOS UN SHELL FALSO POR CUESTIONES DE SEGURIDAD. LO HAREMOS CON EL SIGUIENTE COMANDO.

root@mitalca:~# sudo gedit /etc/shells
O BIEN root@mitalca:~#vim /etc/shells

ESTO EVITARA QUE CUALQUIER USUARIO PUEDA INGRESAR A UTILIZAR EL FTP.
DESPUES LO QUE HAREMOS SERA CREAR UN DIRECTORIO PARA ALOJAR NUSTRAS TRANAFERENCIAS Y POR ADMINISTRACION DEL SERVIDOR.

root@mitalca:~# cd /home
root@mitalca:/home#mkdir FTP-public

AHORA CON EL SIGUIENTE COMANDO AGREGAREMOS UN USUARIO CON CONTRASEÑA:

root@mitalca:/home#sudo useradd userftp -p tu_password -d /home/FTP-public -s /bin/false

TOMANDO COMO REFERENCIA QUE userftp ES CUALQUIER NOMBRE DE USUARIO, -p PARA COLOCAR EL PASSWORD tu_password CUALQUIER NOMBRE DE PASSWORD, -d PARA DEFINIR EL DIRECTORIO PRINCIPAL, Y -s PARA INDICARLE EL SHELL POR DEFECTO.

UNA VEZ CREADO EL DIRECTORIO DEL FTP, AGRGAREMOS DOS MAS PARA LAS DESCARGAS Y PARA LAS SUBIDAS, ESTO CON EL COMANDO:

root@mitalca:/#sudo mkdir /home/FTP-public/download
root@mitalca:/#sudo mkdir /home/FTP-public/upload

LUEGO ENTONCES TENDRAN PERMISOS DIFERENTES. PARA OTROGARLOS LO HAREMOS CON:

root@mitalca:/# sudo chmod 755 /home/FTP-public
root@mitalca:/# sudo chmod 755 /home/FTP-public/download
root@mitalca:/# sudo chmod 777 /home/FTP-public/upload

Es importante recalcar que si tienes instalado un servidor Web como el que se explica aquí puedes crear las carpetas dentro de /var/www/tu_sitio para que tengas un FTP dentro del sitio web que estes usando y crear varios usuarios de FTP con distintos privilegios.

AHORA VEREMOS LA CONFIGURACION DEL ARCHIVO

root@mitalca:/#vim /etc/proftpd/proftpd.conf

APARECERA LO SIGUIENTE:

AllowOverwrite on
AuthAliasOnly on# Escoge aqui un alias para tu usuario de FTP

UserAlias vensign userftp

ServerName "Vensign FTP"

ServerType standalone

DeferWelcome on

MultilineRFC2228 on

DefaultServer on

ShowSymlinks off

TimeoutNoTransfer 600

TimeoutStalled 100

TimeoutIdle 2200

DisplayFirstChdir .message

ListOptions "-l"

RequireValidShell off

TimeoutLogin 20

RootLogin off

# Aqui creamos los archivos de logs que son de mucha utilidad en caso de fallos

ExtendedLog /var/log/ftp.log

TransferLog /var/log/xferlog

SystemLog /var/log/syslog.log

#DenyFilter *.*/

# No vamos a utilizar el archivo /etc/ftpusers file
#
(sirve para colocar adentro los usuarios que no queremos que se conecten)

UseFtpUsers off

# Permitir reiniciar una descarga (muy util en caso de que se caiga la conexion)

AllowStoreRestart on

# El puerto 21 es el estandar para FTP,
#
es bueno cambiarlo por razones de seguridad
#
aqui escogi el 1980 puedes escoger el que quieras

Port 1980

# Para evitar ataques de DoS (negacion de servicio), se recomienda

# colocar un maximo de 30 procesos hijos. Si necesitas mas conexiones

# que esta simplemente aumenta este valor. Esto solo funciona con el

# servidor en modo standalone

MaxInstances 8

# Coloca el usuario y el grupo al que el servidor normalmente funciona

User nobody

Group nogroup

# Umask 022 es un buen valor por defecto para evitar que nuevos archivos y directorios

# sean escribibles por todo el mundo o por el grupo.

Umask 022 022

PersistentPasswd off

MaxClients 8

MaxClientsPerHost 8

MaxClientsPerUser 8

MaxHostsPerUser 8

# Despliega un mensaje despues de que ingresa un usuario

AccessGrantMsg "Bienvenidos a Vensign !!!"

# Este mensaje es mostrado por cada intento de ingreso sea bueno o no

ServerIdent on "estas en Vensign"

# Coloca a /home/FTP-public como el directorio principal (home)

DefaultRoot /home/FTP-public

# Bloquea a todos los usuarios al directorio home que definimos

DefaultRoot ~

MaxLoginAttempts 5

#Ingresos validos solo permitimos a userftp



AllowUser userftp

DenyALL



#Definimos los permisos de los directorios que creamos para el FTP



Umask 022 022

AllowOverwrite off



DenyAll







Umask 022 022

AllowOverwrite off



DenyAll





/home/FTP-public/upload/>

Umask 022 022

AllowOverwrite on



DenyAll





AllowAll





POR LO TANTO CON ESTAS CONFIGURACIONES PODEMOS MODIFICAR SEGUN QUERAMOS NUESTRAS ESPECIFICACIONES.

AHORA PARA QUE LOS CAMBIOS HAGAN EFECTO TENEMOS QUE RESETEAR EL PROFTPD. CON

root@mitalca:/# sudo /etc/init.d/proftpd restart

CABE MENCIONAR QUE PARA ARRANCAR, DETENER Y REINICIAR EL FTP ES:

root@mitalca:/# sudo /etc/init.d/proftpd start
root@mitalca:/# sudo /etc/init.d/proftpd restart
root@mitalca:/# sudo /etc/init.d/proftpd stop

ENTONCES PARA PODER CONECTARTE DEBEMOS COLOCAR EL PUERTO CON EL QUE CONFIGURAMOS, QUE EN ESTE CASO FUE EL 1980.

AHORA DEBEMOS RECORDAR DEFINIREL LOCALHOST EN /etc/host

PARA ESTO LO QUE HACEMOS ES:

root@mitalca:/# gedit /etc/hosts

Y AGREGAR ESTA LINEA SI ES QUE NO EXISTE:

127.0.0.1 localhost.localdomain localhost

Y PUES BUENO QUEDA LISTO PARA USARSE....

No hay comentarios:

Publicar un comentario