FTP

= MECANICA DEL FTP = = =

FTP ACTIVO
En Activo, el cliente se conecta usando un puerto no privilegiado (N) al puerto 21 del servidor. Al iniciar de una vez el cliente comienza a "escuchar" en el puerto N+1 y le dice al servidor "conécta tu puerto 20 hacia mí puerto N+1". ¿que problema se tiene? Si estás en un firewall, la segunda parte de la negociación luce como "una conexión remota desde cualquier puerto hacia un puerto no privilegiado de una máquina interna"; a menos que el administrador del firewall sea un heladero, eso usualmente está bloqueado, en la imagen que se muestra a continuacion nos resume un poco la parte de la teoria anterior mente mensionada. En cierta forma la mecanica del ftp es el manejo de la herramienta, con respecto al medio que la quieras emplear o dependiendo la magnitud de informacion que deses manejar y su seguridad.



FTP PASIVO
En modo "pasivo", el cliente se conecta usando un puerto no privilegiado (N) al puerto 21 del servidor. Inmediatamente indica "quiero trabajar en modo pasivo" usando esa conexión, y abre el puerto N+1 y se conecta con el puerto 20 del servidor. Esto es "firewall-friendly" porque son solamente salidas. con estas graficas lo que queremos es mostra lo que nos indica la anterior teoria. es mejor el pasivo

INSTALACION Y CONFIGURACION DEL vsftpd
Antes de instalar el servidor ftp vamos a crear los usuarios y ponerles seguridad para que tengan los mínimos permisos y sólo puedan realizar lo que nosotros definamos como super usuarios. Crearemos un grupo llamado ftp al cual asociaremos los usuarios.
 * Preparación del sistema**


 * 1) groupadd ftp

Creamos los usuarios con sus correspondientes características.


 * 1) useradd -g ftp -d /var/www/dominio1 -c " Cliente 1 " client1
 * 2) useradd -g ftp -d /var/www/dominio2 -c " Cliente 2 " client2
 * 3) useradd -g ftp -d /var/www -c " webmaster " webmaster

creamos el shell fantasma


 * 1) mkdir /bin/ftp


 * numero de pasos con los cuales se realiza la Instalación del servidor.**

Instalamos con el comando apt-get.


 * 1) apt-get install vsftpd

Esto descargará los paquetes en sus directorios correspondientes junto a los scripts de arranque y parada del servicio.


 * Configuración del servidor**

El fichero de configuración del servidor se encuentra en /etc/vsftpd.conf. Lo editamos para configurarlo. El contenido es algo parecido, buscamos las líneas indicadas y las modificamos:

listen=YES
 * 1) Example config file /etc/vsftpd.conf
 * 2) Escuchando

................................................ anonymous_enable=NO
 * 1) Desactivamos el acceso anónimo

local_enable=YES
 * 1) Descomentamos la línea para que se puedan conectar

write_enable=YES
 * 1) Permitimos a usuarios locales escribir

local_umask=003
 * 1) APLICA CONFIGURACIÓN UMASK

dirmessage_enable=YES
 * 1) Mensajes welcome

xferlog_enable=YES
 * 1) Activate logging of uploads/downloads.

connect_from_port_20=YES ............................
 * 1) Make sure PORT transfer connections originate from port 20 (ftp-data).

xferlog_file=/var/log/vsftpd.log
 * 1) You may override where the log file goes if you like. The default is shown
 * 2) below.

xferlog_std_format=YES chroot_local_user=YES chroot_list_file=/etc/vsftpd.chroot_list
 * 1) If you want, you can have your log file in standard ftpd xferlog format
 * 1) Se descomenta esto para crear una jaula
 * 1) You may specify an explicit list of local users to chroot to their home
 * 2) directory. If chroot_local_user is YES, then this list becomes a list of
 * 3) users to NOT chroot.
 * 4) chroot_list_enable=YES
 * 5) (default follows)

pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES userlist_deny=NO
 * 1) Debian customization
 * 2) secure_chroot_dir=/var/run/vsftpd
 * 3) This string is the name of the PAM service vsftpd will use.
 * 1) This option specifies the location of the RSA certificate to use for SSL
 * 2) encrypted connections.
 * 3) rsa_cert_file=/etc/ssl/certs/vsftpd.pem

A continuación creamos el fichero vsftpd.chroot_list el cual tendrá la lista de usuarios que no tendrán acceso al servidor:


 * 1) touch /etc/vsftpd.chroot_list

Volcamos los datos a este fichero desde etc/password con el comando.


 * 1) cat /etc/passwd | awk -F: '{ print $1 }' > /etc/vsftpd.chroot_list

Esto nos genera un fichero con los login de usuarios del sistema del cual quitamos los que si queremos que tengan acceso y los ponemos en el fichero /etc/vsftpd.user_list.

Ejemplos de ficheros:

vsftpd.chroot_list

root daemon bin sys sync games man lp mail news
 * 1) usuarios con no acceso

vsftpd.user_list

webmaster client1 client2
 * 1) usuarios con acceso

=** __PERZONALIZACION Y CONFIGURACION DEL SERVIDOR FTP__ ** = = = Vamos a realizar el proceso de personalizacion y configuración de un servidor FTP, realizandolo paso por paso.  la personalizacion y configuracion del servidor FTP en linux en una distribucion suse.

> > > **# tar xvfz proftpd-1.2.8p.tar.gz **  cd proftpd-1.2.8p./configure --with-modules=mod_auth:mod_core:mod_log:mod_ls:mod_cap:mod_ls:mod_readme:mod_rewritemakemake install
 * 1) Lo primero que debemos hacer es descargar el ProFTP, ya que lo utilizaremos porque tiene varias opciones de configuarcion,
 * 1) Despues procedemos a desempaquetar y instalarlo, con los siguientes comandos:









 <span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 110%; text-align: left;"> 3.Despues procedemos hacer la verificación o el chequeo de los paquetes.

<span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 110%; text-align: left;">

<span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 110%; text-align: left;"> <span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 12pt; line-height: 115%; text-align: left;"> Ahora procedemos hacer la instalación del ProFTP.

<span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 110%; text-align: left;">

<span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 110%; text-align: left;">

<span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 110%; text-align: left;"> 4. <span style="font-family: Arial,Helvetica,sans-serif;">Ahora buscamos la direccion de nuestra carpeta para verficar que halla quedado instalada en nuestro equipo.

<span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 110%; text-align: left;">

<span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 110%; text-align: left;"> 5.<span style="font-family: Arial,Helvetica,sans-serif; font-size: 12pt;">Ahora deberemos de crear el directorio donde vamos a tener el ftp, nosotros usaremos el direcorio /home/ftp. Si ademas se quiere usar una carpeta donde los usuarios puedan subir cosas al ftp usaremos el directorio /home/ftp/subit. Recordar que cada uno puede usar el que quiera, pero recordar que el directorio de subir debe de estar dentro del directorio del ftp, o como maximo ser el directorio de ftp el directorio de subida(esto se suele usar para ftp de subida unicamente): <span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 110%; text-align: left;">**<span style="font-family: Arial,Helvetica,sans-serif; font-size: 12pt; line-height: 115%;"> # su ** <span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 110%; text-align: left;"> mkdir /home/ftpmkdir /home/ftp/subirchmod 755 /home/ftpchmod 777 /home/ftp/subir

<span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 110%; text-align: left;"><span style="font-family: Arial,Helvetica,sans-serif;">

<span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 110%; text-align: left;"><span style="font-family: Arial,Helvetica,sans-serif;">

<span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 110%; text-align: left;">**<span style="font-family: Arial,Helvetica,sans-serif; font-size: 12pt; line-height: 115%;"> 6. ** <span style="font-family: Arial,Helvetica,sans-serif; font-size: 12pt; line-height: 115%;">ahora buscamos la ubicacion de la carpeta.

<span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 12pt; text-align: left;"> <span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 12pt; text-align: left;"> Debe mostrarnos una pantalla como la que encontramos en :

<span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 12pt; text-align: left;"> <span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 12pt; text-align: left;"> 7. Creamos la carpeta en la siguiente direccion.

<span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 12pt; text-align: left;">

<span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 12pt; text-align: left;"> 8. Procedemos hacer la inicializar la carpeta.

<span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 12pt; text-align: left;"> <span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 12pt; text-align: left;"> veremos una respues ta de que el servidor esta listo done

<span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 12pt; text-align: left;"> <span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 12pt; text-align: left;"> 9. Ya podemos observar qaue el servidor esta listo para trabajar, y lo podemos poner en espera de la siguinte manera.

<span style="display: block; font-family: Arial,Helvetica,sans-serif; font-size: 12pt; text-align: left;">

=Inicio y Pruebas del Servidor FTP=

Una vez instalado el programa servidor podemos acceder a las páginas del manual para poder comprender su funcionamiento básico:

Podemos encontrar cosas interesantes, como por ejemplo ficheros de configuración que nos servirán de utilidad:

Para iniciar el servicio tenemos que teclear como superusuario in.ftpd:



Como vemos en la captura anterior si intentamos poner el servicio en marcha como un usuario normal, que tiene las limitaciones habituales, el shell nos da un error y no nos permite continuar. Una vez hemos iniciado el servicio podemos iniciar sesión desde un navegador en la misma máquina servidora, antes de hacerlo desde una remota, tecleando en la barra de direcciones [|ftp://localhost]. Si el resultado ha sido satisfactorio, podemos iniciar la sesión desde una máquina remota.



Para iniciar sesión desde el navegador podemos introducir tanto el usuario como la contraseña en la barra de direcciones de la siguiente manera: Finalmente podemos acceder a los ficheros disponibles:



Si vemos el código fuente de la página que devuelve el servidor, vemos que no contiene la contraseña enviada por el usuario:



Aunque hallamos accedido a un programa concreto, el cliente ftp, podemos seguir lanzando comandos si anteponemos el carácter ! al comando: Una vez estemos conectados podemos realizar distintas acciones como subir o descargar ficheros o incluso en función de nuestro permisos, borrarlos. No entraré a describirlos ya que no es el objetivo de la práctica y se puede obtener muchos mas detalles sobre cada uno en las url’s que hay al final del documento. En la siguiente captura de pantalla se puede ver como me conecto al ordenador con el servidor ftp para descargarme el fichero en el equipo en el que trabajo con el historial de los pasos realizados en las pruebas del servicio:

Al final se pueden ver las estadísticas de las descargas. La última línea la podemos configurar, mediante el comando tick, para que aparezca regularmente según el tamaño de datos que llevemos descargados.


 * WEDGRAFIA**

es.wikipedia.org/wiki/File_Transfer_Protocol [|www.monografias.com/trabajos/**ftp**basico/**ftp**basico.shtml] www.desarrolloweb.com/manuales/72/ -