1 IMPLEMENTACIÓN Y EJECUCIÓN DE UN PROTOCOLO DE TRANSFERENCIA DE ARCHIVOS (FTP) RICARDO GONZÁLEZ CASTAÑEDA UNIVERSIDAD CATÓLICA DE PEREIRA FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA PROGRAMA DE INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES PRÁCTICAS ACADÉMICAS PEREIRA 2012
43
Embed
IMPLEMENTACIÓN Y EJECUCIÓN DE UN PROTOCOLO DE ...repositorio.ucp.edu.co/bitstream/10785/1184/1/DDPAIST5.pdf · FTP (Protocolo de transferencia de archivos) es de vital importancia
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
IMPLEMENTACIÓN Y EJECUCIÓN DE UN PROTOCOLO DE TRANSFERENCIA
DE ARCHIVOS (FTP)
RICARDO GONZÁLEZ CASTAÑEDA
UNIVERSIDAD CATÓLICA DE PEREIRA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
PROGRAMA DE INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES
PRÁCTICAS ACADÉMICAS
PEREIRA
2012
2
IMPLEMENTACION Y EJECUCIÓN DE UN PROTOCOLO DE TRANSFERENCIA
DE ARCHIVOS (FTP)
RICARDO GONZALEZ CASTAÑEDA
PRIMER INFORME DE PRÁCTICA ACADÉMICA
TUTOR
CARLOS ANDRES CORTEZ
INGENIERO DE SISTEMAS Y COMPUTACION
UNIVERSIDAD CATÓLICA DE PEREIRA
FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
PROGRAMA DE INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES
PRÁCTICAS ACADÉMICAS
PEREIRA
2012
3
DEDICATORIA
Este trabajo está dedicado a mis padres que han sido mi apoyo, ya que gracias a
ellos me permitieron realizar mis estudios y siempre me apoyaron
incondicionalmente en las decisiones que tomara y gracias a sus constantes
consejos cada día quiero sobresalir más en mis actos.
También se lo dedico a Dios y todas aquellas personas que de una u otra forma
estuvieron pendientes en mi futura formación como Ingeniero en Sistemas y
Telecomunicaciones.
4
AGRADECIMIENTOS
A Daniela Villada Osorio, Carlos Andrés Laguna, Julián David Giraldo por haberme
permitido realizar mis prácticas académicas en CPC Agencia S.A.S y me apoyaron
en todo lo que necesitaba para realizar con éxito mi práctica y a todos los
miembros que hacen parte de esta empresa por haberme acogido como uno de
ellos.
Al Ingeniero Carlos Andrés Cortes, el tutor de mi practica que siempre estuvo
pendiente de mi trabajo en la Agencia y que me ayudo a culminar con éxito todos
los objetivos planteados en mi práctica.
5
TABLA DE CONTENIDO
LISTA DE ILUSTRACIONES .................................................................................................................... 6
Para la implementación del FTP en la empresa CPCagencia S.A.S se analizaron
varias soluciones para el desarrollo, como primera medida se analizó la opción de
tener un servidor propio en la empresa, esta solución fue descartada ya que tener
un equipo físico dentro de la empresa, implica muchas dificultadas, tales como:
Administrador del Servidor
Seguridad
Consumo de energía
Costos
Descartada esta opción se consideró la opción de tercerizar un servidor externo a
la empresa, para allí montar el Servidor FTP y tener acceso a este, para la
contratación de este servidor se analizaron dos opciones con SingleClick:
Hosting Compartido
Los servidores compartidos están limitados en cantidad de consultas
simultáneas a la base de datos, pero tienen la ventaja de tener espacio en
disco y transferencia ilimitada.
COMPARTIDO Ilimitado - Ilimitado
VPS COMPARTIDO
Las cuentas en VPS compartido se diferencian a las cuentas de hosting
convencionales que no están limitadas en cantidad de consultas a la base
de datos simultáneas, el servidor es compartido únicamente con cuentas de
SingleClick. En esta lista el primer valor es el espacio en disco y el segundo
es la transferencia mensual:
VPS Compartido 500M - 5G
VPS Compartido 1G - 10G
VPS Compartido 2G - 20G
VPS Compartido 3G - 30G
Analizando muy detalladamente las necesidades de la empresa la opción más
óptima es el hosting compartido que tiene una gran ventaja frente al VPS
30
Compartido dándonos espacio en disco duro y transferencia de ficheros ilimitados
y no tener la desventaja de que se nos llene el FTP.
Con el hosting ya adquirido se procede a crear las cuentas, que está dividida en
tres categorías:
Administradores
CPCagencia
Clientes
Administradores: En esta categoría van a estar las cuentas que tendrán acceso a
todo el FTP.
CPCagencia: En esta categoría estarán las cuentas de cada uno de los
integrantes del equipo de trabajo de CPCagencia S.A.S que tendrán a acceso solo
a las carpetas que tengan asociadas a su cuenta.
Clientes: En esta categoría están los clientes de la empresa CPCagencia S.A.S.
esta categoría solo tendrá acceso a una sola carpeta que será asignada según el
nombre de la cuenta.
A cada uno de estas categorías se le va a dar unos permisos y restricciones que
estarán de acuerdo con las políticas de la agencia.
31
INSTALACION DE UN SERVIDOR FTP FILEZILLA
Para instalar Filezilla, no hay nada más que seguir los pasos de instalación normales como cualquier otra aplicación. Una vez instalada, para ponerla en Español, no tenemos más que ir al menú Edit ->Settings... ->Language y ahí elegimos como idioma el Español y pulsamos el botón OK.
Conectarte a un servidor FTP es muy fácil. En la parte superior nos encontramos con 4 cuadros de diálogo: Dirección, Usuario, Contraseña y Puerto.
No tenemos más que escribir el nombre o dirección IP en la que se encuentra el servidor FTP al que queremos conectar. Si disponemos de un usuario y contraseña, lo escribiremos, si no lo dejaremos en blanco (esto último se llama "conexión anónima" y funcionará si el servidor ftp tiene configurado el aceptar conexiones anónimas). Y por último está el puerto por si la persona con la que queremos conectar ha puesto su servidor FTP en un puerto distinto al estándard (que es el puerto 21) para "camuflarlo" o para darle más protección. Pulsamos sobre el botón Conexión Rápida y si todo ha ido bien (si no ha ido bien, sigue leyendo), en la parte de Sitio Remoto (en el centro y a la derecha) veremos el listado de ficheros y directorios del servidor.
Si queremos bajar un fichero, no tenemos más que arrastrar el fichero al cuadro de la izquierda (que si nos fijamos son los directorios de nuestro disco duro) y en el directorio de nuestro ordenador que queramos almacenarlo. Si queremos subir un fichero al servidor FTP (y tenemos permisos para ello) no tenemos más que arrastrar el fichero desde el cuadro que representa el ordenador (centro a la izquierda) al cuadro que representa el ordenador al que nos hemos conectado (centro a la derecha).
Conforme vayamos subiendo o bajando ficheros, éstos se pondrán en cola en el cuadro inferior, donde podemos ver cuántos ficheros estamos transfiriendo, cuánto queda por bajarnos y pinchando en el fichero, podrás parar momentáneamente la transferencia, reanudarla o cancelarla.
VARIOS TRUCOS:
i) Puedes crear una lista de sitios FTP con la opción de menú Archivo -> Administrador de sitios y ahí puedes dar de alta las direcciones (con usuarios y contraseñas) de los sitios FTP que más uses.
ii) Si una transferencia de un fichero se corta accidentalmente (se te apaga el ordenador o se corta la conexión), puedes reanudarlo donde lo dejaste. Simplemente tienes que volver a transferir el fichero a tu ordenador (en el mismo
32
Sitio donde está el que se te quedó incompleto) y te dará las opciones de sobrescribirlo o de seguir la transferencia por donde la dejaste.
POSIBLES PROBLEMAS:
Por las características del protocolo FTP, si tienes un router o un firewall personal, la conexión FTP puede que no se pueda realizar correctamente. Para esos casos existe una modalidad llamada FTP pasivo. ¿Cómo sabemos cuándo necesitamos una conexión de FTP pasivo o una conexión normal de FTP? La forma más fácil es probando. A la hora de conectarnos al servidor veremos que la conexión se realiza correctamente, te acepta el usuario y la contraseña, pero a la hora de pedir el listado de ficheros, se queda parado. En ese caso hay que probar con FTP pasivo o quizás incluso desactivarlo. No existen reglas fijas como "dejar siempre FTP pasivo" puesto que hay servidores FTP que no aceptan esta modalidad. Es por ello que, vuelvo a repetir, no hay una regla fija.
Para activar/desactivar el FTP pasivo hay que ir a la opción de menú Edición -> Configuración -> Configuración del cortafuegos y la opción es PassiveMode. Activarlo o desactivarlo puede significar que podamos conectar a un servidor cuando antes no podíamos.
EL SERVIDOR FTP
Con el cliente FTP únicamente nos podremos conectar a servidores que ya estén funcionando. Pero lo interesante es el crear un servidor FTP.
Al igual que con los clientes FTP, existen multitud de programas servidores FTP. No obstante, recomendamos como uno de los mejores y más versátiles el Filezilla server. Esta versión es la parte servidora, que como el programa cliente es totalmente gratuita y podemos bajarnos el código fuente y modificarlo a nuestro gusto. El Filezilla server lo puedes bajar en http://filezilla.sourceforge.net, donde si quieres puedes también bajarte el código fuente. Se instala y listo. Desgraciadamente, no hay versión en español del servidor (si alguien se anima a colaborar en el proyecto como traductor, desde esa página Web podrás contactar y ofrecer vuestra colaboración para traducirlo).
Si en algún momento deseamos parar el servidor FTP, no tenemos más que ir al grupo de programas Filezilla Server y ejecutar Stop Filezilla Server. Y en caso de que queramos otra vez iniciarlo, nada más fácil que ejecutar el programa StartFilezilla Server.
El filezilla server se controla mediante el programa Filezilla Server Interface. Por un lado tenemos el servidor FTP que está ejecutándose en segundo plano. Y por
33
otro lado tenemos este programa que se encarga de gestionar el servidor FTP y de configurarlo.
Este programa controla el servidor FTP conectándose a éste a través de un puerto. De esta forma podemos controlar nuestro servidor FTP de forma remota. Nada más arrancar el programa antes mencionado, aparece la siguiente pantalla:
ILUSTRACIÓN 9. Conectar con el servidor
En esta pantalla se nos pide la dirección IP del donde está el servidor FTP (ahí tenemos que escribir o bien la IP de nuestro ordenador, o si estamos en la misma máquina en la que está instalado el servidor FTP, podemos escribir 127.0.0.1, siendo esta IP por convenio la IP de mi ordenador).
Luego se nos pide el puerto al cual conectarnos y la contraseña del servidor FTP (en principio el puerto es por defecto el 14147, aunque se puede cambiar en la configuración del servidor y la contraseña de principio está en blanco).
Si pulsamos OK, nos aparece la ventana principal de configuración del filezilla, siendo el mensaje que nos tiene que aparecer:
Con esto se nos indica que estamos identificados correctamente. Lo primero y más urgente es cambiar la contraseña de administración del servidor, puesto que si no, cualquiera podría conectarse a él remotamente y cambiar su configuración.
Así pues elegimos la opción de menú Edit ->Settings y una vez allí nos vamos a Admin Interface Settings y ahí escribimos una contraseña en los campos New Password y Retype New Password.
Si nos fijamos, en esta opción de menú también podremos cambiar el puerto de administración del servidor FTP (que es por defecto el 14147).
Cuando esté cambiada la contraseña, pulsando OK se harán efectivos los cambios. De cualquier forma, no sólo esta es la única opción configurable del servidor:
36
* WelcomeMessage: Con él podemos cambiar el mensaje de bienvenida que aparece en el cliente FTP de todos aquellos que se conecten con nuestro servidor.
* IP Filter: En esta opción podemos impedir que ciertas IPs se conecten al servidor o bien permitir que tan sólo se conecten al servidor ciertas IPs que seleccionemos.
* Logging: Si queremos ver quién está accediendo a nuestro servidor, activando el Logging, se escribirá en un fichero todos los accesos que tenga nuestro servidor y qué ficheros se bajan o suben.
* SpeedLimit: Ten en cuenta que quien se conecte a tu servidor FTP te está quitando ancho de banda para que tú puedas navegar o bajar de otros servidores FTP. Con esta opción podemos limitar el ancho de banda total que va a consumir el servidor. Si vas a tener un servidor FTP funcionando todo el día y tiene gran demanda de ficheros, prueba a limitar el ancho de banda para que no te afecte a la conexión lo que otros usuarios hagan en tu servidor.
Con esto ya tenemos configurado nuestro servidor FTP. Ahora sólo queda configurar a los usuarios que van a conectarse.
En primer lugar, tú puedes configurar una serie de usuarios (con sus correspondientes contraseñas). Para crear un usuario sólo tienes que ir a Edit ->Users. En la parte de la derecha están los usuarios del sistema. Pulsando el botón Add, podrás crear un nuevo usuario. Si tienes un volumen muy grande de usuarios, prueba a crear un grupo de usuarios y ve asignado los usuarios a los grupos. Luego es más fácil dar permiso a un grupo completo que ir usuario por usuario.
Si no tienes muchos usuarios, no hace falta que crees ningún grupo, así que simplemente escribes el login de tu usuario y elige como grupo <none> (ninguno).
Puedes crear tantos usuarios como quieras. Con Remove se eliminan, con Rename se puede cambiar el login de un usuario y con Copy puedes crear un usuario a partir de otro copiando sus datos.
Las opciones que tienes en el centro, son para cada usuario. Si seleccionas otro usuario en el panel usuarios de la derecha y modificas las opciones, esta modificación sólo se hará para ese usuario en concreto.
La opción EnableAccount sirve para activar o desactivar a un usuario sin necesidad de borrarlo y activando password se le asigna a un usuario una contraseña.
37
Una vez que hayas creado los usuarios, nos vamos al panel de la izquierda y elegimos Shared Folders. A partir de ahí seleccionamos al un usuario y con el botón Add del panel central, vamos añadiendo directorios a ese usuario. Todos los directorios que seleccionemos serán accesibles por esos usuarios. Así que seleccionamos qué directorios queremos que ese usuario tenga acceso. Recuerda que los directorios se le asignan a un único usuario. Tendremos que asignar directorios a todos y cada uno de los usuarios que hemos creado. Si tenemos muchos usuarios, podríamos plantear crear grupos de usuarios, asignar usuarios a grupos y dar permisos y compartir carpetas no a un usuario en particular, sino a un grupo. Una vez que tengamos seleccionadas las carpetas que va a ver un usuario, tenemos que especificar los permisos de esa carpeta. Dichos permisos están en el panel central a la derecha.
Para un directorio, existen 2 permisos básicos: Read y List. Con Read daremos permiso de lectura a los ficheros de un directorio y con List daremos permiso para listar los ficheros del directorio. Si no damos el permiso de List, cuando una persona quiera ver nuestro directorio, le aparecerá que no tiene permiso para verlo. Write da permiso para escribir ficheros, Delete para borrarlos, Append para añadir datos a un fichero ya existente, Create es para crear directorios, Delete para borrarlos y + Subdirs es para dotar de los mismos permisos a los subdirectorios del directorio al que le hemos dado los permisos.
Las restantes pestañas de esta ventana son SpeedLimits, para establecer límites de velocidad por usuario o IP filter para determinar que un usuario sólo se pueda conectar desde una IP.
Tan sólo decirte que hay un usuario especial llamado anonymous. Ese usuario es el que usan los clientes FTP para permitir entrar a un usuario sin identificación.
Así pues, es interesante que crees un usuario anonymous y que no le actives la contraseña. De esta forma permitirás que entren personas sin que tengas que darle un usuario y una contraseña. Pero no le des permiso de escritura, tan sólo de lectura.
CONFIGURACIÓN RECOMENDADA:
Una vez que sabemos cómo manejar este programa, vamos a explicar una configuración que nosotros pensamos que es la más recomendada:
38
i) Pon una contraseña de administración.
ii) Haz un directorio en el raíz de tu disco duro llamado ftp ó compartir. En ese directorio iremos creando directorios e iremos dejando los ficheros que queramos compartir. iii) Crea un usuarios anonymous y dale permiso de lectura (Read) y de listar (List) los ficheros del directorio ftp. De esa forma no tendrás que ir dando usuario/contraseña a los que quieran entrar en tu ftp y al tener sólo permiso de lectura no podrán hacerte nada en tus ficheros.
iv) Crea un directorio dentro del directorio ftp llamado upload y dale permiso de escritura (Write) y para crear directorios (Create) para el usuario anonymous. De esta forma, si un usuario anónimo te quiere dejar algo, lo podrá hacer, pero en una carpeta distinta. Al no tener permiso de borrado (Delete), no podrá borrar nada, sólo dejarte cosas.
v) Limita la velocidad a ese usuario anonymous. Para ello modifica los correspondientes valores en Upload (tráfico que usa la gente para subirte ficheros) y Download (tráfico que usa la gente para descargarse ficheros de tí) en SeepdLimit. De esta forma, si hay mucha gente bajándose cosas de tí, no te afectará a tí para navegar por Internet. Ya depende de la velocidad de tu ADSL... y ten en cuenta que una ADSL es simétrica. Así si tienes una ADSL de 2 Mbps, tienes 2 Mpbs de tráfico upload para los usuarios y 300 Kbps de tráfico de donwload. ¿Que cómo es posible? Muy fácil, ten en cuenta que cuando tú navegas por Internet el caudal de descarga es de Internet hacia tí, y el de subida es de tí hacia Internet. Cuando tú montas un servicio en Internet, las tonas se invierten y los usuarios se descargan de tí por el canal de subida de la ADSL y suben cosas por el canal de bajada de la ADSL. Así que si tienes una ADSL de 2 Mbps, la gente en internet sólo podrá descargarse de tí como máximo 300 Kbps (que es la velocidad del canal de subida de la ADSL) y te podrán subir ficheros a tu ftp a 2Mbps (que es el canal de bajada de la ADSL). Si lo piensas tiene su lógica, ¿no?
vi) Crea varios usuarios para tus amigos y ya es tema tuyo a qué directorios quieres darle permiso y qué tipo de permisos les das.
39
ILUSTRACIÓN 12.Configuración
Y bueno, ya tenemos configurado un servidor FTP para que puedas dejar cosas a la gente y la gente te pueda dejar cosas a tí. Por último faltaría (si tienes un router ADSL) el configurar el router para que la gente pueda acceder a tu servidor FTP. Ten en cuenta que la IP que tienes en Internet, cuando te instalan un router, es la IP del router y no la de tu ordenador. ¿Qué IP tiene entonces mi ordenador? Pues una dirección interna que no es accesible desde Internet. Con eso te dan los operadores seguridad y no tienes que preocuparte porque alguien desde Internet pueda acceder a tu máquina.
Si quieres montar el servicio en internet con un router, tendrás que montar un NAT inverso. Con el NAT inverso le digo al router ADSL que cuando alguien acceda a la IP del router en un puerto (por ejemplo, el puerto 21), lo redirija a la IP interna que tiene mi máquina. Con eso cualquier paquete desde Internet que toque el router, éste lo pasará hacia dentro de tu red (más concretamente hacia tu ordenador). pero eso es otra historia. Ya depende del tipo de router que tengas instalado. Para ello deberás de consultar en el manual cómo crear un NAT inverso (o en su defecto, ir a Internet a ver cómo se hace en tu router).
40
CONCLUCIONES
Mediante la experiencia adquirida dentro de la empresa, se afianzaron los
conocimientos obtenidos a lo largo de la carrera.
Para una empresa del tipo de actividad como la de CPC Agencia es de vital
importancia adquirir un protocolo de transferencia de archivos, ya que se
requiere facilidad y seguridad.
Se logró el aprendizaje personal esperado en cuanto a realizar una práctica
empresarial y aportar a una empresa pequeña un proyecto pequeño pero
de gran importancia para lograr un objetivo importante.
Mediante la indagación e investigación se logró comunicar a todos los
colaboradores de CPC Agencia acerca del FTP.
41
RECOMENDACIONES
La empresa debe tener en cuenta el tipo de información que quiere alojar
en este sistema.
La información almacenada no debe permanecer un largo tiempo dentro del
protocolo, no es recomendable ya que existen riesgos de que se filtre la
información.
La recomendación principal es que únicamente deberían estar conectadas
8 IP’s
42
REFERENCIAS BIBLIOGRÁFICAS
WIKIPEDIA. File Transfer Protocol.
http://es.wikipedia.org/wiki/File_Transfer_Protocol (26 Abril de 2012).
JUSZKIEWICZ , Leo. Introducción al FTP.
http://www.desarrolloweb.com/articulos/2287.php (18 Mayo de 2012).