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 1 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 2 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. 3 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. 4 TABLA DE CONTENIDO LISTA DE ILUSTRACIONES .................................................................................................................... 6 SÍNTESIS ............................................................................................................................................... 7 INTRODUCCIÓN ................................................................................................................................... 8 PRESENTACIÓN DE LA ORGANIZACIÓN ............................................................................................... 9 1. DEFINICIÓN DE LAS LÍNEAS DE INTERVENCIÓN ........................................................................ 12 2. DESCRIPCIÓN DEL PROBLEMA................................................................................................... 13 3. JUSTIFICACIÓN DE LA PROPUESTA DE SOLUCIÓN ..................................................................... 14 4. OBJETIVOS ................................................................................................................................. 15 4.1 OBJETIVO GENERAL ................................................................................................................. 15 4.2 OBJETIVOS ESPECÍFICOS .......................................................................................................... 15 5. MARCO TEORICO ....................................................................................................................... 16 5.1. ¿QUÉ ES FTP? .................................................................................................................... 16 5.2. SERVIDOR FTP.................................................................................................................... 16 5.3. ¿QUÉ ES UN CLIENTE FTP? ................................................................................................ 17 5.4. CLIENTE FTP BASADO EN WEB .......................................................................................... 17 5.5. MODOS DE CONEXIÓN DEL CLIENTE FTP .......................................................................... 18 5.5.1. MODO ACTIVO. ......................................................................................................... 18 5.5.2. MODO PASIVO........................................................................................................... 19 5.6. TIPOS DE TRANSFERENCIA DE ARCHIVOS EN FTP ............................................................. 20 5.6.1. TIPO ASCII .................................................................................................................. 20 5.6.2. TIPO BINARIO ............................................................................................................ 20 6. CRONOGRAMA .......................................................................................................................... 21 7. PRESENTACIÓN Y ANÁLISIS DE LOS RESULTADOS ..................................................................... 29 INSTALACION DE UN SERVIDOR FTP FILEZILLA ................................................................................. 31 CONCLUCIONES ................................................................................................................................. 40 RECOMENDACIONES ......................................................................................................................... 41 REFERENCIAS BIBLIOGRÁFICAS ......................................................................................................... 42 GLOSARIO .......................................................................................................................................... 43 5 LISTA DE ILUSTRACIONES ILUSTRACIÓN 1. Modo activo .............................................................................. 19 ILUSTRACIÓN 2. Modo Pasivo............................................................................. 20 ILUSTRACIÓN 3. Tabla 1. Cronograma actividades ............................................. 21 ILUSTRACIÓN 4. E-mail Flyer .............................................................................. 22 ILUSTRACIÓN 5. Newsletter ................................................................................ 22 ILUSTRACIÓN 6. Sitio Web Joyería Cecilia Duque .............................................. 25 ILUSTRACIÓN 7. Sitio Web Nos vemos en la UTP .............................................. 26 ILUSTRACIÓN 8. Sitio Web Odontología Marlon Becerra .................................... 27 ILUSTRACIÓN 9. Conectar con el servidor........................................................... 33 ILUSTRACIÓN 10. Opciones ................................................................................ 34 ILUSTRACIÓN 11. Usuarios ................................................................................. 35 ILUSTRACIÓN 12.Configuración .......................................................................... 39 6 SÍNTESIS SÍNTESIS ABSTRACT La creación e implementación de un FTP (Protocolo de transferencia de archivos) es de vital importancia dentro de una organización, ya que por medio de él, podemos transferir y recibir información de forma segura y sin ocupar otros medios como el correo u otros dispositivos de almacenamiento. The creation and implementation of FTP (File Transfer Protocol) is vital importance within an organization, that through him we can transfer and receive information securely and without taking other means such as mail or other devices storage. Descriptors: FTP, File Transfer Protocol. Descriptores: FTP, Protocolo de transferencia de archivos. 7 INTRODUCCIÓN Con la necesidad que surge en las empresas de prestación de servicios de transferir archivos de gran tamaño, de forma inmediata, segura y eficiente, se ha creado un protocolo para la transferencia de archivos (FTP), entre sistemas conectados a una red TCP basado en la arquitectura cliente-servidor, de manera que desde un equipo cliente nos podemos conectar a un servidor para descargar ficheros desde él o para enviarle nuestros propios archivos, independientemente del sistema operativo utilizado en cada equipo. Siendo consecuente con esta necesidad latente para las empresas de prestación de servicios, a las cuales el correo no les permite el envío de archivos muy pesados, y de la ineficiencia que implica el transporte de archivos a través dispositivos de almacenamiento (Memoria USB, discos duros externos, cd’s, etc.), en este trabajo hablaremos de que es un ftp, para que sirve, ftp existentes en el mercado, sus ventajas y desventajas y finalmente la implementación y ejecución de uno de ellos. 8 PRESENTACIÓN DE LA ORGANIZACIÓN NOMBRE DE LA ORGANIZACIÓN: CPC Agencia S.A.S. DIRECCIÓN: Avenida Circunvalar # 10 – 21 segundo Piso TELÉFONO: 3449980 SITIO WEB DE LA ORGANIZACIÓN: www.cpcagencia.com NIT: 900354326-1 SECTOR AL QUE PERTENECE LA ORGANIZACIÒN: (Comercial y servicios) ACTIVIDAD A LA CUAL SE DEDICA LA ORGANIZACIÒN Y LÌNEAS QUE PRODUCE O SERVICIOS QUE PRESTA Somos un equipo que no contento con el tradicionalismo en mercadeo y publicidad se ideo la forma diferente de hacer las cosas; un equipo capaz de crear, integrar, posicionar, dirigir y organizar las ideas más innovadoras para su empresa según las necesidades de comunicar un mensaje de forma efectiva con sus clientes o público objetivo. NUESTRAS LÍNEAS DE SERVICIOS SON: cpc visual, revista skp, cpc logística, cpc branding, cpc digital, premios 100% colombiano, cpc creativa, cpc experiencial, rumbo a la u. NÚMERO DE TRABAJADORES 13 personas ÁREAS CON QUE CUENTA LA ORGANIZACIÓN: CPC Agencia cuenta con 3 departamentos que trabajan en conjunto y coordinados, estos son: departamento creativo, departamento estratégico y departamento de ingeniería y desarrollo RESEÑA HISTÓRICA CPC Agencia nació en el 2003 cuando el joven emprendedor, Carlos Andrés Laguna Proaños, decidió presentarse a la convocatoria Expocamello 2003, programa nacional liderado por la Cámara de Comercio de Pereira con el fin de incentivar y dar a conocer ideas de negocio. Inicialmente el objeto social de esta empresa era producir y comercializar souvenirs corporativos que promovieran la identidad colombiana, buscando apoyar las estrategias de mercadeo y posicionamiento de las empresas regionales. 100% Colombiano, como se denominaba en ese entonces la empresa, se destacó en el mercado por la 9 originalidad y calidad de los productos, entre ellos, agendas corporativas, camisetas, portapapeles, entre otros. No conforme con esto, en su visión de generar un positivo impacto social, Carlos, en compañía de 5 Amigos de la universidad, entre ellos Julián Giraldo, socio actual de la agencia, decidieron crear un concurso que reconociera el talento de los jóvenes a nivel social, cultural, empresarial, deportivo y ambiental, dando inicio así a los PREMIOS 100% COLOMBIANO, proyecto que ha logrado reconocer el talento de más de 650 jóvenes del centro Occidente del país, llegando este año a su 4ta versión. Debido al reconocimiento que logró la compañía, 100% Colombiano se tuvo que enfrentar al reto de administrar por 2 años los portales web www.mieje.com y www.2night.com, productos liderados por personal de RCN, con el fin de posicionar dos portales de entretenimientos únicos en el Eje Cafetero, convirtiéndose en la mejor escuela de e-marketing para 100% Colombiano. Así fue como fusionando dos oportunidades: creatividad e innovación, Carlos Laguna en compañía de Julián Giraldo crean la Agencia Creativa 100% Colombiano a finales del 2008 brindando consultoría en mercadeo y publicidad con un notorio factor diferenciador: El Poder De Las Ideas, desarrollando estrategias y planes de posicionamiento para empresas como Centro Comercial Bolívar Plaza, Unidad Estética Dental de Marlon Becerra y Asociación de Egresados de la Universidad Tecnológica de Pereira, fue así como después de un proceso creativo para estas y muchas más empresas, Carlos Laguna es reconocido ante la Junior Chamber International (JCI) como joven creativo del año llevándose el premio CYEA 2009 (Creative Young Entrepreneur Award 2009). En el 2009, Julián Giraldo conoce a Daniela Villada, con quien tiene la idea de crear un medio de comunicación impreso para los jóvenes universitarios de Pereira, dando inicio a lo que hoy es la revista más leída por los jóvenes de las 15 universidades más importantes del Eje Cafetero; Revista SKP logró reunir en un concepto claro a todos los jóvenes que quieren escaparse de la rutina, cuya creativa campaña de lanzamiento logró impactar a miles de jóvenes aun antes de lanzar su primera edición. Después de 4 años de experiencia en el sector, Cien Por Ciento Colombiano se transforma en CPCagencia, un equipo creativo que no conforme con el tradicionalismo en mercadeo y publicidad se ideó las formas más eficiente de comunicar a un cliente con su público objetivo, por medio de 6 sólidas unidades de negocio: CPC Digital (campañas y estrategias de posicionamiento digital, social media marketing e interactividad), CPC Branding (diseño de marca e identidad 10 corporativa), CPC Visual (diseño y conceptualización de piezas publicitarias), CPC Logística (desarrollo, planificación y ejecución de eventos), CPC Creativa (desarrollo integral de campañas) CPC Experiencial (producción de BTL, showroom y activaciones de marca) No conformes con todo esto, CPC Agencia hoy prepara el lanzamiento del primer portal web especializado para estudiantes de grado 10 y 11, brindando las herramientas necesarias para responder la pregunta clave de todo joven adolescente: ¿Qué estudiar? www.rumboalau.com, se perfila como el portal más completo para simular las pruebas de ICFES, conocer el perfil vocacional del navegante, identificar las ofertas académicas por ciudad, universidad y carrera, logrando crear un sólido canal de comunicación con un segmento difícil de fidelizar. El permanente crecimiento de la empresa, calidad en el servicio, consolidación de su equipo de trabajo, más de 15 jóvenes apasionados por su profesión, se debe a la filosofía de vida que desde el 2003 ha identificado esta empresa: Dios no nos hubiera dado la capacidad de soñar sin darnos también la capacidad de hacer realidad los sueños, y tú... ¿con qué sueñas? CPC Agencia EL PODER DE LAS IDEAS 11 1. DEFINICIÓN DE LAS LÍNEAS DE INTERVENCIÓN Desarrollo de Software y Sistemas de información: En mi proceso de práctica en la empresa CPC Agencia S.A.S estuve en el acompañamiento del departamento de ingeniería, desarrollando y apoyando labores tales como: E-mail Marketing E-Marketing Social media Desarrollo de Apps de social media Apoyo en la estructuración del Departamento de ingeniería. 12 2. DESCRIPCIÓN DEL PROBLEMA Partiendo del hecho de que la empresa CPC Agencia S.A.S vieron la necesidad de que constantemente se utiliza el correo electrónico como medio de transporte de información para el envió de ficheros, y con la problemática de que con el pasar de los días su capacidad de almacenamiento se va reduciendo y del impedimento que tiene este en el envió de ficheros muy pesados, vieron necesario la implementación de un protocolo de transferencia de archivos, partiendo del hecho de que con esta implementación tienen control absoluto de sus usuarios y de los permisos que se le pueden otorgar a cada uno de ellos. Con este protocolo de transferencia de archivos (FTP) se satisface la necesidad de contar con un medio diferente al limitado correo electrónico para el envío de ficheros, dejando atrás preocupaciones como capacidad total del correo, capacidad de archivos adjuntos por mail o envío de información en medios físicos, como los medios de almacenamiento. 13 3. JUSTIFICACIÓN DE LA PROPUESTA DE SOLUCIÓN Un protocolo de transferencia de archivos (FTP) en una empresa es de mayor importancia, ya que juega un papel supremamente importante, convirtiéndose en un canal directo de comunicación o de transferencia para todo el equipo de trabajo, donde fácilmente no se están limitando al correo electrónico o a un dispositivo de almacenamiento como (USB, Disco Duro Externo, entre otros), y no van a sufrir las desventajas que ofrecen estos otros medios. Con este protocolo logaran tener un mayor flujo de transferencia de archivos garantizando así una mayor seguridad de sus archivos y donde tan solo el remitente y destinatario podrán tener acceso a dichos archivos, otorgándoles privilegios a cada uno de ellos. El FTP nos da solución a todas las necesidades que se han generado frente a otro tipo de software que nos ofrecen este tipo de transferencia pero donde tienen algunas limitantes tanto de precio como de capacidad y así por medio de este protocolo cumplir con las necesidades que tiene la empresa CPC Agencia S.A.S. 14 4. OBJETIVOS 4.1 OBJETIVO GENERAL Implementación y ejecución de un protocolo de transferencia de archivos (FTP) 4.2 OBJETIVOS ESPECÍFICOS Investigar que son los protocolos de transferencia de archivos. Conocer los diferentes FTP existentes en el mercado. Instalar un servidor FTP Pruebas de implementación del FTP 15 5. MARCO TEORICO 5.1. ¿QUÉ ES FTP? FTP (File Transfer Protocol, 'Protocolo de Transferencia de Archivos') en informática, es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo. El funcionamiento es sencillo. Una persona desde su ordenador invoca un programa cliente FTP para conectar con otro ordenador, que a su vez tiene instalado el programa servidor FTP. Una vez establecida la conexión y debidamente autenticado el usuario con su contraseña, se pueden empezar a intercambiar archivos de todo tipo. 5.2. SERVIDOR FTP Un servidor FTP es un programa especial que se ejecuta en un equipo servidor normalmente conectado a Internet (aunque puede estar conectado a otros tipos de redes, LAN, MAN, etc.). Su función es permitir el intercambio de datos entre diferentes servidores/ordenadores. Por lo general, los programas servidores FTP no suelen encontrarse en los ordenadores personales, por lo que un usuario normalmente utilizará el FTP para conectarse remotamente a uno y así intercambiar información con él. Las aplicaciones más comunes de los servidores FTP suelen ser el alojamiento web, en el que sus clientes utilizan el servicio para subir sus páginas web y sus archivos correspondientes; o como servidor de backup (copia de seguridad) de los archivos importantes que pueda tener una empresa. Para ello, existen protocolos de comunicación FTP para que los datos se transmitan cifrados, como el SFTP (Secure File Transfer Protocol). 16 5.3. ¿QUÉ ES UN CLIENTE FTP? Un cliente FTP emplea el protocolo FTP para conectarse a un servidor FTP para transferir archivos. Algunos clientes de FTP básicos vienen integrados en los sistemas operativos, incluyendo Windows, DOS, Linux y Unix. Sin embargo, hay disponibles clientes con más funcionalidades, Habitualmente en forma shareware/freeware para Windows y como software libre para sistemas tipo Unix. Muchos navegadores recientes también llevan integrados clientes FTP (aunque un cliente FTP trabajará mejor para FTP privados que un navegador). Algunos sistemas operativos, incluyendo los Windows más recientes y Mac OS X pueden montar servidores FTP como unidades virtuales directamente dentro del sistema operativo, lo que puede resultar más fácil o más conveniente para algunos usuarios, que emplear un cliente especializado. 5.4. CLIENTE FTP BASADO EN WEB Un «cliente FTP basado en Web» no es más que un cliente FTP al cual podemos acceder a través de nuestro navegador web sin necesidad de tener otra aplicación para ello. El usuario accede a un servidor web (HTTP) que lista los contenidos de un servidor FTP. El usuario se conecta mediante HTTP a un servidor web, y el servidor web se conecta mediante FTP al servidor FTP. El servidor web actúa de intermediario haciendo pasar la información desde el servidor FTP en los puertos 20 y 21 hacia el puerto 80 HTTP que ve el usuario. Siempre hay momentos en que nos encontramos fuera de casa, no llevamos el ordenador portátil encima y necesitamos realizar alguna tarea urgente desde un ordenador de acceso público, de un amigo, del trabajo, la universidad, etc. Lo más común es que no estén instaladas las aplicaciones que necesitamos y en muchos casos hasta carecemos de los permisos necesarios para realizar su instalación. Otras veces estamos detrás de un proxy o cortafuegos que no nos permite acceder a servidores FTP externos. Al disponer de un cliente FTP basado en Web podemos acceder al servidor FTP remoto como si estuviéramos realizando cualquier otro tipo de navegación web. A través de un cliente FTP basado en Web podrás, crear, copiar, renombrar y 17 eliminar archivos y directorios. Cambiar permisos, editar, ver, subir y descargar archivos, así como cualquier otra función del protocolo FTP que el servidor FTP remoto permita. 5.5. MODOS DE CONEXIÓN DEL CLIENTE FTP FTP admite dos modos de conexión del cliente. Estos modos se denominan activo (o Estándar, o PORT, debido a que el cliente envía comandos tipo PORT al servidor por el canal de control al establecer la conexión) y pasivo (o PASV, porque en este caso envía comandos tipo PASV). Tanto en el modo Activo como en el modo Pasivo, el cliente establece una conexión con el servidor mediante el puerto 21, que establece el canal de control. 5.5.1. MODO ACTIVO. En modo Activo, el servidor siempre crea el canal de datos en su puerto 20, mientras que en el lado del cliente el canal de datos se asocia a un puerto aleatorio mayor que el 1024. Para ello, el cliente manda un comando PORT al servidor por el canal de control indicándole ese número de puerto, de manera que el servidor pueda abrirle una conexión de datos por donde se transferirán los archivos y los listados, en el puerto especificado. Lo anterior tiene un grave problema de seguridad, y es que la máquina cliente debe estar dispuesta a aceptar cualquier conexión de entrada en un puerto superior al 1024, con los problemas que ello implica si tenemos el equipo conectado a una red insegura como Internet. De hecho, los cortafuegos que se instalen en el equipo para evitar ataques seguramente rechazarán esas conexiones aleatorias. Para solucionar esto se desarrolló el modo pasivo. 18 ILUSTRACIÓN 1. Modo activo Fuente: Wikipedia 5.5.2. MODO PASIVO. Cuando el cliente envía un comando PASV sobre el canal de control, el servidor FTP le indica por el canal de control, el puerto (mayor a 1023 del servidor. Ej: 2040) al que debe conectarse el cliente. El cliente inicia una conexión desde el puerto siguiente al puerto de control (Ej.: 1036) hacia el puerto del servidor especificado anteriormente (Ej.: 2040).1 Antes de cada nueva transferencia tanto en el modo Activo como en el Pasivo, el cliente debe enviar otra vez un comando de control (PORT o PASV, según el modo en el que haya conectado), y el servidor recibirá esa conexión de datos en un nuevo puerto aleatorio (si está en modo pasivo) o por el puerto 20 (si está en modo activo). En el protocolo FTP existen 2 tipos de transferencia en ASCII y en binarios. 19 ILUSTRACIÓN 2. Modo Pasivo Fuente: Wikipedia 5.6. TIPOS DE TRANSFERENCIA DE ARCHIVOS EN FTP Es importante conocer cómo debemos transportar un archivo a lo largo de la red. Si no utilizamos las opciones adecuadas podemos destruir la información del archivo. Por eso, al ejecutar la aplicación FTP, debemos acordarnos de utilizar uno de estos comandos (o poner la correspondiente opción en un programa con interfaz gráfica): 5.6.1. TIPO ASCII Adecuado para transferir archivos que sólo contengan caracteres imprimibles (archivos ASCII, no archivos resultantes de un procesador de texto), por ejemplo páginas HTML, pero no las imágenes que puedan contener. 5.6.2. TIPO BINARIO Este tipo es usado cuando se trata de archivos comprimidos, ejecutables para PC, imágenes, archivos de audio... 20 6. CRONOGRAMA ILUSTRACIÓN 3. Tabla 1. Cronograma actividades Febrero Marzo Abril Mayo Junio Julio Actividades Adaptación a la organización Investigar sobre la necesidad de la empresa para la implementación de un FTP Investigación sobre protocolos de transferencia de archivos Operación de la implementación del FTP Pruebas Ejecución del protocolo de transferencia de archivos (FTP) Apoyo en el departamento de CPCdigital Administración de e-marketing 1 º 2 º 3 º 4 º x x x x 1 º 2 º 3 º 4 º 1 º 2 º 3 º 4 º x x x x 1 º 2 º 3 º 4 º x x x x 1 º 2 º 3 º 4 º x x x x 1 º 2 º 3 º 4 º x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x Fuente: Elaboración propia 21 E-MAIL MARKETING En la parte de E-mail Marketing en el departamento de ingeniería de la empresa CPC Agencia estuve en el apoyo y desarrollo de Newsletter, e-mail flyer como se muestra a continuación: ILUSTRACIÓN 4. E-mail Flyer Fuente: Departamento de Arte CPCagencia ILUSTRACIÓN 5. Newsletter 22 Fuente: Departamento de Arte CPCagencia 23 Por confidencialidad de la empresa nos reservamos la forma de maquetación del Newsletter y E-mail flyer. 24 E-MARKETING En la parte de E-marketing participe en la estructuración de sitios web como: www.joyeriaceciliaduque.com ILUSTRACIÓN 6. Sitio Web Joyería Cecilia Duque Fuente: Departamento de Arte CPCagencia 25 www.nosvemosenlautp.com ILUSTRACIÓN 7. Sitio Web Nos vemos en la UTP Fuente: Departamento de Arte CPCagencia 26 www.marlonbecerrapereira.com ILUSTRACIÓN 8. Sitio Web Odontología Marlon Becerra Fuente: Departamento de Arte CPCagencia Entre otros: www.miexnovioesunidiota.com www.losolivosejecafetero.com www.pereirafs.com 27 ADMINISTRACIÓN DE SITIOS WEB Como parte de mi proceso de practicante en la empresa CPC Agencia S.A.S apoye la gestión de administración de portales web y sitios web, subiendo semanalmente contenidos para mantener las paginas actualizadas. http://mundoskp.com/ http://parquearboleda.com/sitio/ http://cafemariscal.com.co/ http://www.rumboalau.com/ Entre otras. 28 7. PRESENTACIÓN Y ANÁLISIS DE LOS RESULTADOS 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 29 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. 30 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 31 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 32 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: 33 ILUSTRACIÓN 10. Opciones FileZilla Server version 0.9.3 beta Copyright 2001 by Tim Kosse (Tim.Kosse@gmx.de) Connectingto server... Connected, waitingforauthentication Loggedon 34 ILUSTRACIÓN 11. Usuarios 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: 35 * 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. 36 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: 37 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. 38 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). 39 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. 40 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 41 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). 42 GLOSARIO TCP: (Protocolo de Control de Transmisión) es uno de los principales protocolos de la capa de transporte del modelo TCP/IP. En el nivel de aplicación, posibilita la administración de datos que vienen del nivel más bajo del modelo, o van hacia él. 43