Semana 13 Servidor FTP

download Semana 13 Servidor FTP

of 41

Transcript of Semana 13 Servidor FTP

Servidor FTP (File Transfer Protocol)

1

PROTOCOLO FTPProtocolo para la transferencia de ficheros entre sistemas conectados a una red TCP/IP. Basado en la arquitectura cliente-servidor. Pertenece a la capa de aplicacin de la torre TCP/IP Utiliza los puertos TCP de red 20 y el 21.

3

PROTOCOLO FTPUn equipo cliente siempre inicia la conexin FTP conectndose a un servidor FTP La transmisin de archivos es bidireccional: Se realiza tanto desde servidor cliente (get) como de cliente servidor (put). Modelo independiente del S.O. utilizado en cada equipo.put

Linux cliente

get

Server Windows4

CARACTERSTICAS FTPFTP ofrece la mxima velocidad en la conexin. FTP no ofrece seguridad. La informacin login/password se envia en texto plano (no utiliza ningn tipo de cifrado). Es fcil que un hacker pueda capturar este trfico Las aplicaciones como scp (secure copy) y sftp, cifran todo el trfico transferido.http://www.openssh.com/ Abierto, para sistemas Linux http://www.ssh.com Propietario para sistemas Windows

5

MODELO FTPUna conexin ftp usa dos puertos (abre dos canales): El puerto de comandos (conexin de control), por donde se transfieren las rdenes. Se inicia en el puerto 21 El puerto de datos (conexin de datos), por donde se transfieren los datos de ficheros. Se inicia en el puerto 20, pero puede ser cualquiera por debajo del 1024.En la conexin de control se especifican parmetros para la conexin de datos (puerto de datos, modo de transferencia, etc) y las operaciones sobre el sistema de archivos (listar, acceder al sistema ficheros, aadir, borrar)6

FTP EN MODO ACTIVO (MODO NORMAL)En modo activo, la conexin de datos es iniciada desde el servidor, hacia el puerto indicado. Inicialmente se establece una conexin para la transmisin de comandos con el puerto mayor que 1024 de nuestro ordenador y el puerto 21 del server. Por esa misma conexin, mediante el comando PORT se indica al server el puerto de nuestro ordenador que est a la escucha de los datos. Al bajar un archivo, es el servidor el que inicia la transmisin de datos, desde su puerto 20 al puerto que le hemos indicado.7

FTP EN MODO ACTIVO (MODO NORMAL)Qu problema supone el modo activo ? En el modo activo se abre una conexin para datos desde el server a la maquina cliente (conexin de fuera a dentro). Si la maquina cliente est protegida por un firewall, este filtra o bloquea la conexin entrante, al serle un proceso desconocido (problema con los firewalls).

8

FTP EN MODO PASIVOEn modo pasivo, es el cliente FTP quien inicia la conexin de datos con el servidor. Inicialmente el cliente abre una conexin de control desde un puerto mayor que 1024 de la maquina local al puerto 21 del server. Al pasar a modo pasivo (comando PASV), el cliente pide un puerto abierto al servidor (ser otro puerto mayor que 1024 del server) Recibida la contestacin, ser el cliente el que establezca la conexin de datos al server a travs de ese puerto.9

FTP EN MODO PASIVOEn modo pasivo las conexiones son siempre abiertas por el pc cliente. Es el cliente el que inicia ambas conexiones, de control y de datos, con lo cual el firewall no tiene ninguna conexin entrante que filtrar

10

CONEXIN A UN SERVIDOR FTPSiguiendo el modelo cliente-servidor, una conexin FTP debe ser iniciada por un cliente hacia un servidor FTP, para poder transferir ficheros en ambos sentidos (subir y bajar ficheros). El proceso de conexin puede llevarse a cabo utilizando tres mtodos: - Cliente FTP (cuteFTP, smartFTP, etc) - Navegador web - Interfaz de comandos.11

CONEXIN FTP DESDE UN NAVEGADOR WEBEn la URL del navegador, habra que poner los datos referentes a la cuenta abierta en dicho servidor (usuario y password) y al protocolo a utilizar por el navegador: ftp://usuario:password@servidor/ Si el servidor permite las conexiones annimas (user:anonymous): ftp://servidor/ ftp://anonymous@servidor/ ftp://anonymous:@servidor/12

CONEXIN FTP DESDE UN CLIENTE FTP GRFICOEs una interfaz ms amigable y fcil. Evita conocer los comandos exactos para interactuar con el servidor FTP. Existen numerosos clientes grficos FTP.Programa SmartFTP FileZilla Cute FTP gFTP Igloo FTP Pro Captain FTP LifTPX Mac OS Plataforma Windows Windows Windows, Mac OS Unix Linux MacOS MacOS13

CONEXIN FTP DESDE CNSOLA DE COMANDOSLa mayora de los sistemas operativos lo traen por defecto. Windows XP permite utilizar su cliente FTP a travs de Interfaz de comandos, usando el comando ftp. Linux ofrece las mismas posibilidades desde cualquier terminalc:\>ftp servidor Usuario: Password:14

CONEXIN FTP DESDE CONSOLA DE COMANDOSftp user Pass asen binary put get ls/dir cd bye Establece una conexin con un servidor Permite introducir el nombre de usuario que se quiere utilizar para la conexin Permite introducir la contrasea que se quiere utilizar para la conexin Cambia la descarga o subida a modo texto plano. Cambia la descarga o subida a modo fichero binario Sube un fichero al servidor Descarga un fichero del servidor Realiza un listado de un directorio. Cambia de directorio Cierre conexin15

SERVIDORES FTPNumerosas aplicaciones en la red permiten configurar un servidor FTP. Pueden instalarse en un ordenador personal para mandar y recibir ficheros.Programa Gene6 FTP Server OFTPD Hotline FTP Server Serv-U Pure FTP Server ProFTPd Rumpus PureFTPd Manager Plataforma Windows Unix MacOS Windows Linux Linux MacOS MacOS16

ESTRUCTURA DIRECTORIOSAl montar un servidor FTP, es habitual definir dos directorios: Downloads (Descargas). Se hallar el material especifico que los usuarios pueden descargarse. Uploads (Subidas). Los usuarios puedan subir aquello que crean oportuno. Otro directorio importante: Home, donde el usuario accede al conectarse.17

TIPOS DE USUARIOEl servicio ofrecido por un servidor FTP depender del tipo de usuario conectado. Usuario annimo (anonymous). Usuario que se conecta al sistema sin disponer de una cuenta personalizada. Posee una cuenta pero es de carcter genrico. Usuario registrado. Usuario dado de alta en el servidor con un login personalizado (un nombre de usuario y una contrasea). Tendr privilegios superiores a los de un usuario annimo.18

PERMISOSSon funciones relativas a los ficheros y directorios del servidor FTP que el administrador del sistema puede permitir a los usuarios.Permisos de un archivo Lectura (read) Escritura (write) Ejecucin (execute) Borrado (delete) Continuacin (append)19

Permisos directorios Listado (list) Creacin (make) Borrado (remove) Herencia (inherit)

PRACTICA 1: INSTALACIN DEL SERVIDOR IIS-FTP DE WINDOWSPaso 1. En Windows XP Ir a Inicio / Panel de control/ Agregar o quitar programas. All activar la opcin Agregar o quitar componentes de Windows y marcar la entrada Servicios de Internet Information Server (US)

20

PRACTICA 1: INSTALACIN DEL SERVIDOR IIS-FTP DE WINDOWSPaso 1. En Windows 2003 Server Ir a Inicio / Panel de control/ Agregar o quitar programas. All activar la opcin Agregar o quitar componentes de Windows y marcar la entrada Servidor de Aplicaciones

21

PRACTICA 1: INSTALACIN DEL SERVIDOR IIS-FTP DE WINDOWSPaso 2. Hacer clic en Detalles y, a continuacin, seleccionar Servicio de Protocolo de transferencia de archivos (FTP), en subcomponentes de IIS. Se puede elegir instalar FTP independientemente del IIS?

22

PRACTICA 1: INSTALACIN DEL SERVIDOR IIS-FTP DE WINDOWSPaso 3. A continuacin realizaremos la instalacin, por defecto, para la cual necesitaremos insertar el CD de Windows XP Professional.

23

PRACTICA 1: INSTALACIN DEL SERVIDOR IIS-FTP DE WINDOWSPaso 4. Para comprobar la configuracin del servidor FTP, hay que abrir el panel de configuracin de IIS Inicio/Panel de control/Herramientas administrativas/ Administrador de IIS.

Debajo de extensin de servicios web, aparece una carpeta con el nombre Sitios FTP

24

PRACTICA 1: INSTALACIN DEL SERVIDOR IIS-FTP DE WINDOWSPaso 5. Hacemos clic en Sitios FTP y sealizamos Sitio FTP predeterminado. Existen unos botones en la parte superior: Play, Stop y Pause.Si el botn de reproduccin es un poco difuso, significa que el servidor FTP est activo. Nos podemos conectar a l a travs de su software de cliente FTP.

25

PRACTICA 1: INSTALACIN DEL SERVIDOR IIS-FTP DE WINDOWSPaso 6. Abrir un cliente FTP (por ejemplo en modo consola) y clickar: ftp localhost como el nombre del host anonymous como usuario para el inicio de sesin. como password Conectar y vers una carpeta vaca. Las archivos que visualiza se encuentran generalmente dentro de la carpeta C:\inetpub\ftproot\.

26

PRACTICA 1: INSTALACIN DEL SERVIDOR IIS-FTP DE WINDOWSPaso 7. Para ver el funcionamiento del servidor FTP, poner ficheros en el directorio c:\Inetpub\ftproot.

Abrir una consola y ejecutar: ftp localhost

27

PRACTICA 1: INSTALACIN DEL SERVIDOR IIS-FTP DE WINDOWSPaso 8. Dentro de las Propiedades de Sitio FTP Predeterminado, se encuentra as mismo la opcin de Nuevo /Directorio Virtual. Con ella se puede aadir cualquier directorio del sistema al servidor ftp sin tener que copiarlo en un directorio concreto. Bastar con indicar cul es el directorio original al que apunta el virtual que se ha creado. As se logra que cualquier contenido est rpidamente accesible sin tener que estar en el directorio por defecto, C:\inetpub\ftproot\ Crear un directorio virtual de alias pepe, que apunte al directorio fsico c:\pepedirectorio.

28

PRACTICA 1: INSTALACIN DEL SERVIDOR IIS-FTP DE WINDOWSPaso 8. Aadir Directorio Virtual.

29

PRACTICA 1: INSTALACIN DEL SERVIDOR IIS-FTP DE WINDOWSPaso 9. Poner ficheros en ambos directorios: -c:\Inetpub\ftproot -c:\pepedirectorio Si desde un navegador ponemos:URL ftp://localhost ftp://localhost/pepe Nos conectamos a c:\Inetpub\ftproot c:\pepedirectorio

30

PRACTICA 2: INSTALACIN DEL FILEZILLA FTP SERVERPaso 1. Descargarse de la pgina web el programa Filezilla FTP Server. Obtener 2 o 3 capturas. Paso 2. Instalar el Filezilla FTP Server con la configuracin por defecto. Obtener 2 o 3 capturas. Paso 3. Conectarse al servidor FTP en modo administracin. Paso 4. Buscar por Internet diferentes formas de mirar los puertos abiertos de un PC: http://www.upseros.com/portscan.php netstat a Advanced Port Scanner, etc Paso 5. Apagar el servidor si est activo mediante Ctrl+Alt+Supr. Eliminar el proceso activo del Filezilla FTP Server. Indicar los puertos abiertos del PC y a que programas cree que pertenece cada uno.31

PRACTICA 2: INSTALACIN DEL FILEZILLA FTP SERVERPaso 6. Estn los puertos 20 y/o 21 abiertos? A qu aplicacin pertenecen por defecto estos puertos? En qu fichero de windows se guarda la informacin de los puertos usados? Paso 7. Si estuviera abierto el puerto 21, comprueba a que programa se deba y desactvelo (pudiera ser debido al servidor FTP de IIS) Paso 8. Cree la carpeta con el nombre c:\ftp\anonymous y guarde algn documento. Arranque el servidor con la configuracin por defecto y asocie la carpeta definida como directorio para el usuario anonymous. No cree ninguna cuenta de usuario ms. Paso 9. Qu puerto se ha abierto? A qu tipo de aplicacin y tipo de conexin pertenece este puerto? Por qu no est abierto el puerto 20? Paso 10. Abra el navegador y realice una conexin FTP contra su propia mquina. Con qu usuario cree que se ha validado? A qu carpeta de su mquina cree que ha accedido? Cmo se ha conectado?32

PRACTICA 2: INSTALACIN DEL FILEZILLA FTP SERVERPaso 11. En qu modo cree que funciona el canal de datos, activo o pasivo? Por qu? En cul de los dos modos no utiliza el servidor el puerto 20? Paso 12. Configure el servidor para que abra slo el puerto 3000 en el modo en el que trabaja. Detalle el procedimiento Paso 13. En modo activo, quin inicia la conexin del canal de datos, el servidor o el cliente y con qu puerto? Paso 14. En modo pasivo, quin inicia la conexin del canal de datos, el servidor o el cliente y con qu puerto? Paso 15. Modifique el puerto 21 por defecto del canal de conexiones de control al puerto 33. Cmo deber conectarse desde el cliente si utiliza un navegador web? Detalle el procedimiento.

33

PRACTICA 2: INSTALACIN DEL FILEZILLA FTP SERVERPaso 16. Deshabilite el usuario anonymous y cree dos nuevos usuarios con sus respectivos password, segn la siguiente configuracin: Usuario user1 user2 Pasword user1 user2 Directorio c:\ftp\user1 c:\ftp\user2

Paso 17. Poner ficheros en cada directorio de los usuarios de manera que se identifiquen a cada usuario Paso 18. Realizar una conexin FTP utilizando cada usuario y comprobar con la instruccin dir que verdaderamente nos hemos conectado al directorio base de cada usuario.

34

PRACTICA 3. INSTALACIN SERVIDORES FTP-SFTP EN LINUXPaso 1. Arrancar un Linux Desktop o Server dentro del Vmware. Paso 2. Editar el archivo con la instruccin: gedit /etc/apt/apt.conf.d/70debconf Poner las siguientes lneas al final de este archivo para que la aplicacin APT-GET pueda acceder a los resposItorios a travs del PROXY de upc Acquire::http::Proxy "http://192.168.2.4:3128"; Fijos Acquire::http::Proxy "http://172.16.255.121:3128"; Porttiles Paso 3. Abrir un terminal y ejecutar los siguientes comandos para instalar los servidores FTP y SFTP: sudo i (pasamos a usuario administrador) apt-get update (actualizacin herramienta descarga aplicaciones) apt-get install vsftpd (instalacin del servidor ftp) apt-get install openssh-server (instalacin del servidor sftp)35

PRACTICA 3. INSTALACIN SERVIDORES FTP-SFTP EN LINUXPaso 4. Visualizar el fichero de configuracin del servidor FTP: gedit /etc/vsftpd.conf. Modificaremos sus lneas ms importantes: - Deshabilitar el acceso FTP a usuarios annimos anonymous_enable=NO - Permitir el acceso de usuarios locales a sus respectivas carpetas privadas, utilizando su propio login y password para acceder al servidor FTP local_enable=YES - Permitir el modo escritura a los usuarios write_enable=YES - Mascara del directorio local_umask=022 - Mensaje de bienvenida del servidor FTP ftpd_banner=Bienvenidos al Servidor FTP de nombre alumno. - Enjaula a los usuarios dentro de su propio directorio personal, para que no pueda navegar por el rbol completo de directorios del sistema, mejorando la seguridad chroot_local_user=YES36

PRACTICA 3. INSTALACIN SERVIDORES FTP-SFTP EN LINUX- Habilita la lista de usuarios que slo puedan acceder a sus respectivas carpetas personales al hacer el FTP y no a todo sistema chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list Paso 5. Visualizar el fichero de configuracin del servidor SFTP: gedit /etc/ssh/sshd_config. Modificaremos las siguientes lneas: - Impedir que se pueda acceder con una cuenta root PermitRootLogin no - Buscar la lnea Subsystem sftp /usr/lib/openssh/sftp-server, comentarla y dejar en su lugar Subsystem sftp internal-sftp - Aadir al final del archivo: Match user mysftp Permitimos que el usuario sftp pueda acceder a su ChrootDirectory /home/mysftp directorio /home/sftp ForceCommand internal-sftp37

PRACTICA 3: INSTALACIN SERVIDORES FTP-SFTP EN LINUXPaso 6. Usuario para el servidor FTP. Ahora cada usuario del sistema puede acceder a su carpeta personal con FTP. Crear un usuario para el servicio FTP con las siguientes caractersticas:Forma grfica Usuario: miftp Perfil: Usuario de escritorio Contrasea: miftp Directorio: /home/miftp (entorno chroot) Interprete de comandos: /bin/bash Forma texto groupadd miftp mkdir /home/miftp chmod 777 /home/miftp useradd -g ftp s /bin/bash -d /home/miftp/ -c miftp miftp chown root:miftp /home/miftp passwd miftp38

PRACTICA 3. INSTALACIN SERVIDORES FTP-SFTP EN LINUXPaso 7. Crear el fichero de usuarios: gedit /etc/vsftpd.chroot_list Y aadir el usuario miftp: miftp Paso 8.Usuario para el servidor SFTP. El usuario mysftp es el nico que podr acceder al sistema, puesto que ha sido el nico que ha sido habilitado en el fichero /etc/ssh/sshd_config. - useradd mysftp - mkdir /home/mysftp - chmod 755 /home/mysftp - chown mysftp /home/mysftp - usermod d /home/mysftp s bin/false mysftp - passwd mysftp

39

PRACTICA 3. INSTALACIN SERVIDORES FTP-SFTP EN LINUXPaso 9. Configurar la direccin IP del servidor Linux, editando el fichero /etc/network/interfaces, mediante el editor gedit gedit /etc/network/interfaces

OJO!!! Averiguar el nombre que Linux le ha puesto a vuestra interficie Ethernet, mediante el comando ifconfig NOTA: De esta manera cada vez que arranque el equipo, la interficie eth2 estar configurada por defecto con esta direccin IP Paso 10. Reiniciar el servicio de red ejecutando: /etc/init.d/networking restart40

PRACTICA 3. INSTALACIN SERVIDORES FTP-SFTP EN LINUXPaso 11. Iniciar el servidor de FTP y SFTP mediante los comandos sudo /etc/init.d/vsftpd restart (Para iniciar servidor FTP) sudo /etc/init.d/ssh restart (Para iniciar servidor SFTP) Paso 12. Comprobar el funcionamiento de los servidores FTP y SFTP, ejecutando desde un terminal: ftp localhost y sftp localhost Qu usuario pondrs? Obtener captura una captura cuando logres entrar. Paso 13. Cambiar la subred del Vmware a la que pertenece el equipo Linux; cambiar a la Vmnet 2. Paso 14. Iniciar una mquina cliente Windows XP. Poner la siguiente configuracin de red: Direccin IP: 192.168.1.2 Mscara de subred: 255.255.255.0 Servidor DNS preferido: 192.168.1.141

PRACTICA 3. INSTALACIN SERVIDORES FTP-SFTP EN LINUXPaso 15. Comprobar que hay conectividad a nivel IP entre la mquina Linux y la mquina Windows, haciendo un ping entre ambas mquinas. NOTA: Cambiar el equipo Windows XP a la Vmnet 2, la misma que el equipo Linux. Paso 16. Descargar e instalar el programa SmartFTP Cliente para conectarnos a la mquina Linux, mediante el protocolo FTP, indicando la direccin IP 192.168.1.1. Cuando pida login y password poner el usuario creado en el paso 6. Paso 17. Cuando est conectado, realizar un listado (ls) del sistema de archivos. Subir un fichero y comprobar su existencia en el equipo Linux. Paso 18. Descargar e instalar e programa WinScp, para conectarnos a la mquina Linux a travs del protocolo SFTP. Entrar en la sesin con el usuario creado en el paso 8. Subir un fichero y comprobar su existencia yendo al equipo Linux42