430992 - FTP - Sena.pdf

29
Servicio: FTP 30 de Agosto 2013 SENA. Servicio Nacional De Aprendizaje. Centro de Servicios Y Gestión Empresarial Integrantes: Daniela Rodríguez Gabriel Espinosa Haiver García James Ospina

Transcript of 430992 - FTP - Sena.pdf

Page 1: 430992 - FTP - Sena.pdf

Servicio: FTP

30 de Agosto

2013 SENA. Servicio Nacional De Aprendizaje. Centro de Servicios Y Gestión Empresarial

Integrantes: Daniela Rodríguez Gabriel Espinosa Haiver García James Ospina

Page 2: 430992 - FTP - Sena.pdf

INTRODUCCION AL SERVICIO: (FILE TRANSFER PROTOCOL)

FTP: (Protocolo de Transferencia de Archivos), 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 servicio FTP es ofrecido por la capa de aplicación del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21.

Un problema básico de FTP es que está pensado para ofrecer la máxima velocidad en la conexión, pero no la máxima seguridad, ya que todo el intercambio de información, desde el login y password del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza en texto plano sin ningún tipo de cifrado, con lo que un posible atacante puede capturar este tráfico, acceder al servidor y/o apropiarse de los archivos transferidos.

Para solucionar este problema son de gran utilidad aplicaciones como SCP y SFTP, incluidas en el paquete SSH, que permiten transferir archivos pero cifrando todo el tráfico.

Page 3: 430992 - FTP - Sena.pdf

Acceso anónimo: Los servidores FTP anónimos ofrecen sus servicios libremente a todos los usuarios, permiten acceder a sus archivos sin necesidad de tener un 'USER ID' o una cuenta de usuario. Es la manera más cómoda fuera del servicio web de permitir que todo el mundo tenga acceso a cierta información sin que para ello el administrador de un sistema tenga que crear una cuenta para cada usuario.

Si un servidor posee servicio 'FTP anonymous' solamente con teclear la palabra «anonymous», cuando pregunte por tu usuario tendrás acceso a ese sistema.

Normalmente, se utiliza un servidor FTP anónimo para depositar grandes archivos que no tienen utilidad si no son transferidos a la máquina del usuario, como por ejemplo programas, y se reservan los servidores de páginas web (HTTP) para almacenar información textual destinada a la lectura en línea.

Acceso de usuario: Si se desea tener privilegios de acceso a cualquier parte del sistema de archivos del servidor FTP, de modificación de archivos existentes, y de posibilidad de subir nuestros propios archivos, generalmente se suele realizar mediante una cuenta de usuario. En el servidor se guarda la información de las distintas cuentas de usuario que pueden acceder a él, de manera que para iniciar una sesión FTP debemos introducir una: Autentificación (login) Contraseña (password) Cliente FTP basado en Web: 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. 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, eliminar archivos, directorios, cambiar permisos, editar, ver, subir y descargar archivos.

Page 4: 430992 - FTP - Sena.pdf

Acceso de invitado: El acceso sin restricciones al servidor que proporcionan las cuentas de usuario implica problemas de seguridad, lo que ha dado lugar a un tercer tipo de acceso FTP denominado invitado (guest), que se puede contemplar como una mezcla de los dos anteriores.

La idea de este mecanismo se trata de permitir que cada usuario conecte a la máquina mediante su login y su password, pero evitando que tenga acceso a partes del sistema de archivos que no necesita para realizar su trabajo, de esta forma accederá a un entorno restringido, algo muy similar a lo que sucede en los accesos anónimos, pero con más privilegios.

MODOS: 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.

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. Ejemplo: 2040) al que debe conectarse el cliente, el cliente inicia una conexión desde el puerto siguiente al puerto de control (Ejemplo: 1036) hacia el puerto del servidor especificado anteriormente (Ejemplo: 2040).

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.

Page 5: 430992 - FTP - Sena.pdf

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): 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. Tipo Binario: Este tipo es usado cuando se trata de archivos comprimidos, ejecutables para PC, imágenes, archivos de audio.

Page 6: 430992 - FTP - Sena.pdf

ESQUEMA DE FUNCIONAMIENTO

Este servicio funciona de la siguiente manera, sabemos que la mayoría de los recursos que ofrecen los servidores y sus funcione se caracterizan por una buena estabilidad, el punto es que el servicio de FTP, optimiza por completo las descargar, pero tiene sus ventaja y desventajas al momento de aplicarse el servicio como tal. El intercambio de paquetes FTP entran en juego dos conexiones. La primera es sobre el puerto 21, la conexión de control, por donde se envían los diferentes comandos hacia el servidor y sus respectivas contestaciones. La segunda conexión es la de datos y tal y como su nombre indica, es por donde se envían y se reciben los datos pedidos.

Dentro de la comunicación existen dos formas de realizar el establecimiento de la conexión de datos. La más usada por casi todos los clientes FTP de forma predefinida es la pasiva en la forma pasiva, es el propio servidor el que elige el puerto al que se le va enviar la información.

Page 7: 430992 - FTP - Sena.pdf

Este código, es la comunicación realizada por el cliente y el servidor en la conexión de control. Se puede ver cómo el cliente se loguea como usuario anonymous. Después de varios comandos intercambiados entre el cliente y el servidor de forma automática, el cliente envía un PASV señalando que quiere realizar una conexión de datos de forma pasiva, respondiéndole el servidor que acepta y señalando que la comunicación se realizara hacia la IP 130.106.1.101 (IP del servidor) y el puerto 159x256+194=40898. El último comando realizado por el cliente es una orden MLSD con la que se solicita la impresión del contenido de la carpeta compartida. La segunda opción es la de realizar la conexión de datos al abrirla de forma activa, siendo el cliente quien señale al servidor qué IP debe enviar los archivos y porque puerto.

Page 8: 430992 - FTP - Sena.pdf

GLOSARIO

FTP: (Protocolo de Transferencia de Archivos), es un protocolo de red, para la transferencia de archivos entre sistemas conectados a una red.

TCP: Es un protocolo de comunicación orientado a conexión fiable del nivel de transporte, actualmente documentado por IETF en el RFC 793.

Firewall: Es una parte de un sistema o una red que está diseñada para bloquear el acceso no autorizado, permitiendo al mismo tiempo comunicaciones autorizadas.

Autorización: Proceso por el cual la red de datos autoriza al usuario identificado a acceder a determinados recursos de la misma.

PGP: (privacidad bastante buena), es un programa desarrollado por Phil Zimmermann y cuya finalidad es proteger la información distribuida a través de Internet mediante el uso de criptografía de clave pública, así como facilitar la autenticación de documentos gracias a firmas digitales.

Host Name: Esta es la dirección del server FTP al que se va a conectar, es tanto un nombre (ftp.ba.net), como una dirección IP (200.26.39.2).

SFTP: (Secure File Transfer Protocol), es un protocolo del nivel de aplicación que proporciona la funcionalidad necesaria para la transferencia y manipulación de archivos sobre un flujo de datos fiable, se utiliza comúnmente con SSH para proporcionar la seguridad a los datos, aunque permite ser usado con otros protocolos de seguridad.

SILC: Define el protocolo SFTP como su protocolo de transferencia de archivos por omisión, los datos del protocolo SFTP no están protegidos con SSH pero el protocolo de paquetes seguros de SILC se utiliza para encapsular los datos.

Page 9: 430992 - FTP - Sena.pdf

ACK: (acuse de asentimiento) en comunicaciones entre computadores, es un mensaje que el destino de la comunicación envía al origen de ésta para confirmar la recepción de un mensaje.

NACK: (negative acknowledgement acuse de recibo negativo o asentimiento negativo), en comunicaciones entre computadores, es un mensaje del protocolo que se envía para informar de que en la recepción de una trama de datos ha habido un error, esta circunstancia se detecta gracias a que la trama de datos estaba protegida con un código detector de errores; o porque se define de esta forma en las normas del protocolo.

Page 10: 430992 - FTP - Sena.pdf

TOPOLOGIA

La topología que vamos a implementar es la cliente-servidor, ya que en este servicio tiene como principal las descargas y subidas de archivos, esto con el fin tener un soporte de información alojada en un servidor, y esta servicio nos da la forma de manejar esta información para compartirla y utilizarla un grupo de usuarios que necesite subir y bajar en caso de la necesidad.

Como podemos ver el servicio de FTP, nos da el soporte de poder subir y bajara archivos, como nos muestra la grafica, por medio de un gestor para los sistemas de Windows podemos hacerlo por medio de un cliente, llamado filezilla, lo cual nos permite adaptar la configuración a los clientes para sobrellevar los procesos que el server corre, en este caso esto se maneja de dos maneras anomino, y enjaulado, con estos procesos damos privilegios de cómo manejamos las descargas y las subidas de la información.

Page 11: 430992 - FTP - Sena.pdf

PROCEDIMIENTO

PASÓ A PASO: A continuación se presenta la instalación detallada de los servicios de infraestructura de red con su respectivo paso a paso para su instalación, configuración y mantenimiento; esto se realizara en dos diferentes sistemas operativos tales como Linux y Windows en las distribuciones CentOS y Windows Server 2008 R2 respectivamente. La empresa ABC posee en su sede principal 60 equipos, ubicados en diferentes segmentos de red, así:

Subred A: 10 hosts de usuario final. Subred B: 5 hosts servidores en plataformas WINDOWS y LINUX. Subred C: 30 hosts de usuario final. Subred D: 15 hosts de usuario final.

Servicios:

FTP

Tabla de direccionamiento en VLSM.

SubRed IP Address Mask Range IP Address Broadcast A 192.168.28.64 /28 192.168.28.65 - 192.168.28.78 192.168.28.79 B 192.168.28.80 /29 192.168.28.81 - 192.168.28.86 192.168.28.87 C 192.168.28.0 /27 192.168.28.1 - 192.168.28.30 192.168.28.31 D 192.168.28.32 /27 192.168.28.33 -192.168.28.62 192.168.28.63

Page 12: 430992 - FTP - Sena.pdf

INSTALACION DEL SERVICIO FTP CENT0S 6.4

Este servicio es uno de los mas completos y de los mas estables, ya que es una forma de otorgarle a todos los usuarios una manera de crear un sistema donde podemos subir y bajar información, con esta ventaja podemos tener una mayor distribución de la información a toda la red. Luego vamos a dar comienzo como se monta el servicio de FTP, en este caso lo vamos a montar en al distribución de Linux CENT0S que es una versión estable y de uso muy común a la hora de hacer procesos con servicios. Lo primero que debemos hacer es configurar nuestra IP como estática con el comando nano /etc/sysconfig/network-scripts/ifcfg-eth0, allí editamos la información que necesitamos como IP address, mascara de subred, dirección de red Gateway etc.

Luego chequeamos que el adaptador de red, tenga la configuración, subimos la interface para que tome la configuración previamente hecha con (ifup eth0).

Page 13: 430992 - FTP - Sena.pdf

Luego de verificar la configuración, procedemos a editar la IPTABLES, con la siguiente ruta, (# nano /etc/sysconfig/iptables), como lo muestra la imagen.

Luego verificamos ahí mismo que los puertos 20 y 21, este habilitados, para poder que el servicio funcione.

Si lo quieres hacer gráficamente, accedemos a las funciones del sistema como lo muestra la imagen.

Page 14: 430992 - FTP - Sena.pdf

Después de chequear el funcionamiento, vamos a empezar con los procesos que nos piden. ENJAULADO: Es una seguridad, para poder que el usuario no navegue, de manera libre por todo el directorio, por eso se enjaulan los usuarios virtuales para que tengan la manera de mirar todos los directorios, sino que los usuarios, quedan enjaulados en su propio directorio. Esto se hace de la siguiente manera. Primero lo que hacemos es descargar el paquete del programa para poder crear el proceso, con la siguiente instrucción (# yum –y install vsftpd).

Page 15: 430992 - FTP - Sena.pdf

Después de haber hecho la instalación del paquete, nos disponemos a configurarlo, mediante esta ruta (# nano /etc/vsftpd/vsftpd.conf), con esto nos metemos al archivo de configuración principal, allí están las opciones para poder configurar el proceso.

Ahora nos saldrá en la pantalla el editor nano, con esta vemos los parámetros de configuración del FTP.

Page 16: 430992 - FTP - Sena.pdf

Luego en ese archivo de configuración, vamos a editar unas líneas, ya que estas son parte de los parámetros a ejecutar de manare que esto pueda adaptarse a la configuración que queremos.

Luego guardamos con Ctrl+O, guardamos los cambios hechos al archivo. Ahora vamos a crear la lista de los usuarios permitidos o enjaulados, estos son los que vamos a dejar que entren al FTP, pero con ciertas restricciones, esto se encuentra en la siguiente ruta de acceso (# nano /etc/vsftpd/chroot_list), como se muestra en la imagen siguiente.

Bueno, vamos a editar otro archivo de configuración, que se llama user_list donde vamos a ingresar los usuarios permitidos en este caso “daniela y esteban”.

Page 17: 430992 - FTP - Sena.pdf

Para el siguiente paso vamos a darle a los usuarios permitidos “Daniela y Esteban” permisos para que puedan leer y modificar archivos en sus directorios personales. Para esto utilizamos el comando ( getsebool – a | grep ftp) de la siguiente manera:

En esta imagen observamos que la línea (ftp home dir), esta en modo Off o apagada, para encenderla y ponerla en modo On hacemos lo siguiente.

Se modifico el setsebool y al final se añadió On (encendido), verificamos que si se haya modificado con el comando anterior getsebool, y observamos que se encuentra encendido correctamente.

Page 18: 430992 - FTP - Sena.pdf

Para comprobar lo anterior nos ubicamos en el directorio home del usuario y creamos algunos archivos.

Reiniciamos el servidor para que agregue las configuraciones que hemos hecho, como nos muestra la imagen.

Luego de haber reiniciado el servicio, comprobamos que haya conexión con el FTP, para poder visualizar los archivos que podemos ejecutar.

Page 19: 430992 - FTP - Sena.pdf

Después nos vamos a loguear para poder bajar el archivo, sino no dos deja acceder al contenido, ya que tiene una autentificación.

Aquí vemos el archivo que creamos en el FTP, en la carpeta “HolaGente”.

De esta manera queda en funcionamiento el servicio.

Page 20: 430992 - FTP - Sena.pdf

INSTALACION DEL SERVICIO FTP WINDOWS SERVER 2008

ANOMINO: FTP (Anonymous), es la forma convencional de llamar al servicio de transferencia de ficheros que las organizaciones dejan para acceso público. Se trata de un servicio muy común en la red, y si lo usamos y nos piden un identificador deberemos teclear "anonymous", esto hará normalmente que no nos pidan una clave, pero si lo hacen, la clave pública más habitual es "guest". Vamos a instalar este servicio en la plataforma de Windows Server 2008. Lo primero que vamos hacer es añadir el servicio en ROLE FTP, luego le añadiremos un nuevo ROLE FTP SERVER, como nos muestra la imagen.

Page 21: 430992 - FTP - Sena.pdf

En los ROLES del servidor, elegimos Servidor Web (IIS) y le damos siguiente como nos muestra la imagen previa.

Le damos siguiente como nos muestra arriba y en el siguiente campo buscamos la opción que dice Servidor FTP y la chuleamos, le damos siguiente.

Page 22: 430992 - FTP - Sena.pdf

Antes de instalar el servicio, él nos muestra una ventana con las especificaciones del servicio que se va instalar, con la configuración que se le implemento.

Le damos en el campo que dice instalar, para empezar a configurarnos el servicio, luego de eso nos aparece una ventana finalizando la instalación y mostrando que la instalación no tuvo ningún problema.

Page 23: 430992 - FTP - Sena.pdf

Una vez añadido el ROLE, nos aseguramos que los servicios estén activos.

Luego de esto, vamos a instalar la consola de administración de nuestro (IIS), para poder administrar nuestro sitio FTP, para poder añadir la consola lo primero que haremos es iremos a Server Manager y añadiremos los siguientes ROLES:

Management Tools. IIS Management Console. Management Service.

Como nos muestra la imagen previa.

Una vez instalada la consola ya podemos empezar a gestionar nuestro FTP.

Page 24: 430992 - FTP - Sena.pdf

Después desde esta ventana podemos configurar todos los detalles que nuestro FTP, como las autentificación básica y anónima, en esta caso mostraremos la anónima.

Luego podemos configurar los log de conexión, tamaño, directorio donde queremos que se guarde, codificación, etc.

Aquí podemos configurar muchas opciones, como los servicios hasta el Banner para muestro FTP, le podemos colocar un saludo de bienvenida para cuando estemos en el servicio lo podamos visualizar de entrada

Page 25: 430992 - FTP - Sena.pdf

Como lo muestra la siguiente imagen, en esta caso por ejemplo le pusimos “Hola”, y abajo le pusimos en el mensaje de bienvenida “Estas En Mi FTP” y en el mensaje de salida, le pusimos “hasta Pronto”.

En los tantos servicios que nos ofrece el FTP, también restricciones de acceso, tanto por rangos IP’s, como por dominio, como lo vemos aquí.

Page 26: 430992 - FTP - Sena.pdf

También nos da la posibilidad de crear sitios web nuevos, como lo muestra.

Aquí tendremos que decidir la forma de acceso, ya que puede ser por IP, por nombre de dominio, también podemos configurar la conexión SSL a través de un certificado.

Page 27: 430992 - FTP - Sena.pdf

En la siguiente pantalla tendremos que elegir los permisos y la forma de acceso que le vamos a dar a los usuarios que se conecten a nuestro FTP.

Con esto ya tendríamos configurado un acceso FTP, al cual podemos acceder por nuestro navegador, ya sea Mozilla, Internet Explorer o Chrome.

De esta manera, nos muestra el sitio FTP, con la configuración que le dimos, la creación de los mensajes que tiene saldrán en el navegador.

Page 28: 430992 - FTP - Sena.pdf

Si queremos ver el contenido del directorio, tendremos que ir a la pestaña page de nuestro navegador y seleccionar Open FTP Sitio in Windows Explorer, como nos muestra la imagen.

Con esto nos va aparecer el sitio donde podemos alojar los archivos o directorios que queremos compartir en nuestro sitio.

Page 29: 430992 - FTP - Sena.pdf

ERRORES

En el desarrollo de la actividad se encontraron errores muy comunes, especialmente en Linux ya por sintaxis, en lo que se configuraba, en los archivos principales de configuración, los servicios sacaban errores.

Otro que fue muy común era cuando configurábamos las interfaces y no las

reiniciábamos para que adaptaran la configuración del servicio.

Cuando no se le otorgaban permisos a las carpetas, y cuando el usuario loguea podía acceder hasta archivos de la máquina, ya que no se agregaba la seguridad a las carpetas y archivos.

Otro que nos paso fue cuando montamos el servicio, y cuando utilizamos los clientes para poder acceder al FTP, nos sacaba problemas con el Firewall, obviamente que este servicio no se puede deshabilitar, por seguridad.

Otro que es muy común es cuando configuramos los adaptadores de red, y no asignamos bien el direccionamiento, esto nos generaba problemas al tratar de iniciar el servicio y hay veces cuando tratamos de acceder desde un cliente ya sea como Filezilla, no encontraba el servicio