Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Tema 4, Servidores FTP, Apuntes de Informática

Tema 4: Servidor FTP. 4.1. Introducción. 1 4.2. Servidor FTP. 2 4.3. Cliente FTP. 3 4.4. Protocolo FTP. 3 4.5. Tipos de acceso. 4 4.6. Conexiones. 4 4.7. Modos de trabajo. 5 4.7.1. Modo activo. 5 4.7.2. Modo pasivo. 6 4.8. Cortafuegos y encaminadores/NATP. 7 4.9. Seguridad. 9 4.10. Otros protocolos. 10 4.11. Ejercicios. 11 Anexos: 15 Comandos FTP. 15 Filezilla. 16 Instalación. 16 Configuración. 16 Configuración general del servidor. 16 Configuración de usuarios y grupos. 17

Tipo: Apuntes

2022/2023

Subido el 22/11/2022

uwu437
uwu437 🇪🇸

5 documentos

1 / 22

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Examen temas 3 y 4: Miércoles 16 1ª y 2ª horas
4.1. Introducción.
Las redes TCP/IP permiten transferir información entre equipos de distintas formas:
adjuntando en correos, mediante hipervínculos, arrastrar-soltar vía Web (moodle),..
FTP: File Transfer Protocol. (RFC 959)
FTP es un servicio especialmente diseñado para transferencia de ficheros, abstrayéndose de
los Sistemas Operativos utilizados. Por lo que, optimiza los recursos y facilita el trabajo.
FTP es un protocolo de la capa Aplicación, el servicio que ofrece es estándar entre los
sistemas conectados en red TCP/IP.
Permite:
Acceso remoto y listar directorios y ficheros.
Transferencia de ficheros: subida (upload) o bajada (download).
Operaciones remotas sobre los archivos: renombrar, borrar, crear y borrar carpetas,..
Funciona según el modelo cliente – servidor. Sus componentes son:
a) Cliente FTP: Permite a cualquier equipo acceder al servidor para subir, bajar o modificar
archivos.
b) Servidor FTP: En el residen los ficheros a descargas o donde se suben. Permite identificar
a los usuarios, personalizar los privilegios en el sistema (en cuanto a subida, bajada acceso
a carpetas,..), gestión de tiempos de acceso y velocidades,..
c) Protocolo FTP: Normas y reglas que permiten la comunicación entre cliente y servidor.
Ejemplos de servidores FTP públicos: ftp.rediris.es ftp.debian.com ftp.sites.org
Para acceder a ellos (tanto desde linux como windows):
$ftp ftp.rediris.es Se entra en modo comando.
Usuario: anonymous Usuario anónimo disponible.
Contraseña: Dejar la contraseña en blanco (como norma de
netiquette se solía dejar el email del usuario que accedía).
>ls Desde en entorno del
servidor FTP visualizamos los archivos disponibles.
>quit Para salir del entorno del
servidor FTP
También se puede acceder desde un navegador (parece que ya no): ftp://ftp.rediris.es
ftp - 1/22
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16

Vista previa parcial del texto

¡Descarga Tema 4, Servidores FTP y más Apuntes en PDF de Informática solo en Docsity!

Examen temas 3 y 4: Miércoles 16 1ª y 2ª horas

4.1. Introducción.

Las redes TCP/IP permiten transferir información entre equipos de distintas formas: adjuntando en correos, mediante hipervínculos, arrastrar-soltar vía Web (moodle),.. FTP: File Transfer Protocol. (RFC 959) FTP es un servicio especialmente diseñado para transferencia de ficheros, abstrayéndose de los Sistemas Operativos utilizados. Por lo que, optimiza los recursos y facilita el trabajo. FTP es un protocolo de la capa Aplicación, el servicio que ofrece es estándar entre los sistemas conectados en red TCP/IP. Permite: Acceso remoto y listar directorios y ficheros. Transferencia de ficheros: subida (upload) o bajada (download). Operaciones remotas sobre los archivos: renombrar, borrar, crear y borrar carpetas,.. Funciona según el modelo cliente – servidor. Sus componentes son: a) Cliente FTP: Permite a cualquier equipo acceder al servidor para subir, bajar o modificar archivos. b) Servidor FTP: En el residen los ficheros a descargas o donde se suben. Permite identificar a los usuarios, personalizar los privilegios en el sistema (en cuanto a subida, bajada acceso a carpetas,..), gestión de tiempos de acceso y velocidades,.. c) Protocolo FTP: Normas y reglas que permiten la comunicación entre cliente y servidor. Ejemplos de servidores FTP públicos: ftp.rediris.es ftp.debian.com ftp.sites.org Para acceder a ellos (tanto desde linux como windows): $ftp ftp.rediris.es Se entra en modo comando. Usuario: anonymous Usuario anónimo disponible. Contraseña: Dejar la contraseña en blanco (como norma de netiquette se solía dejar el email del usuario que accedía).

ls Desde en entorno del servidor FTP visualizamos los archivos disponibles. quit Para salir del entorno del servidor FTP También se puede acceder desde un navegador (parece que ya no): ftp://ftp.rediris.es

4.2. Servidor FTP.

Servidor FTP: programa que atiende a los clientes FTP dando acceso al sistema de archivos que gestiona el FTP. Ofrece diferentes configuraciones para los usuarios: privilegios, limitaciones (en subidas, descargas, tiempos de conexión),... Hay gran variedad de servidores FTP, podemos destacar los siguientes: Sistemas Linux // Unix. vsftpd http://vsftpd.beasts.org proftpd http://www.proftpd.ord pure-ftp http://www.pureftpd.org/project/pure-ftpd wu-ftpd http://www.landfield.com/wu-ftpd Sistemas Windows. FTP incluido en http://www.iis.net Filezilla serverhttp://filezilla-project.org Serv-U http://www.serv-u.com

4.3. Cliente FTP.

Programas que acceden al sistema de ficheros del servidor FTP. Se pueden distinguir: En línea de comando. Aplicaciones dedicadas en entornos Gráficos. Navegador. La mayoría de los sistemas operativos tienen integrados el cliente ftp en línea de comando, se invoca: ftp servidor. Se entra en modo comando, según el SO ofrecerá un listado de los posibles comandos a usar. Se pueden acceder a ese listado con: “help” o “?”. Y para solicitar ayuda de un comando específico se pone el comando detrás: “help comando” // “? comando”. Para ejecutar un comando del equipo local, pero dentro del entorno FTP, se pone delante el símbolo “!”. Ej: !dir , si estamos ejecutando el cliente en un equipo windows nos mostrará el directorio actual del equipo windows. ls mostrará el contenido del directorio actual del servidor ftp (si es un servidor linux). Excepto para el comando cd , que en caso de querer ejecutarlo para el equipo cliente: lcd. Clientes gráficos más utilizados: Filezilla client http://filezilla-project.org WinSCP http://winscp.net

put subida ls lista directorio … y recibe una respuesta de la evolución de la petición. Esta conexión se mantiene hasta que se cierra la sesión bien por el usuario cliente FTP o por time out previsto en el servidor. El servidor puede atender a más de un cliente, teniendo más de una conexión de control simultánea, tantas como se configuren en el servidor sin llegar a la saturación por sobrecarga. Conexión de datos. Cuando se solicita una transferencia se abre una conexión de datos, que se cerrará cuando termine la transmisión. Asociadas a una conexión de control puede haber más de una conexión de datos, tantas como se programe en el servidor. Se ha de cuidar de no sobrecargar el sistema. Por una conexión de datos nunca se envían comandos de control. Por una conexión de control nunca se envían datos: Siempre hay una conexión de control y una de datos. Los clientes utilizan puertos dinámicos (que habitualmente son superiores al 1024).

4.7. Modos de trabajo.

El cliente FTP puede iniciar una conexión de dos formas distintas: Modo activo. Modo pasivo (El cliente lo inicia enviando la palabra clave PASV). 

4.7.1. Modo activo.

Es el modo nativo de FTP. En él se utilizan los puertos TCP-20 para datos y TCP-21 para control (servicio fuera de banda). El procedimiento de funcionamiento es el siguiente:

  1. El cliente establece una conexión de control.  Cliente abre un puerto (aleatorio) (superior a 102 4 )....................El servidor oye por el puerto 21.
  2. El cliente solicita una transferencia de fichero.  El cliente envía el comando PORT con su IP y el puerto (aleatorio +1) que abrirá para la conexión de datos, también superior al 102 4.  El servidor inicia la conexión de datos desde su puerto 20 al puerto que le ha indicado el cliente.  Se realiza la transmisión.

Cuando inicia el servidor la conexión de datos, previamente el cliente ha debido abrir el puerto por el que recibirá los datos. Esto genera una vulnerabilidad en la seguridad del equipo cliente , que se corrige con el uso de un firewall o si está detrás de un NATP (la parte del NAT que estamos acostumbrados a ver, es abreviatura de NAT Port). Pero en ambos casos, se rechazará el intento de conexión desde el servidor:  Firewall situado delante del cliente evitará intentos de conexiones desde el exterior al cliente por puertos superiores al 102 4.  Si el cliente está detrás de NATP, este descartará las conexiones que vienen desde el exterior (en este caso del servidor) al puerto que abre el cliente. Los cortafuegos y NATP actuales implementan FTP-ALG (Application Level Gateway) ayuda1 ayuda2. (ALG explicado de una forma muy sencilla (en este contexto) funciona así: Un dispositivo de interconexión, típicamente el Router sobre el que se realiza el NAT-> (que en este caso es NATP), revisa el interior de los paquetes del nivel de FTP para redireccionarlos a la ip y puerto adecuados de manera que de facto se permita, en este caso, la conexión a un puerto superior a 1024 en el cliente desde el puerto 20 del servidor) -> que sí permitirán la conexión. Su funcionamiento es el siguiente:  Analiza las conexiones FTP y se fija en los comandos PORT y registra IP privada y puerto cliente.  Modifica el comando PORT a la IP pública y un puerto del equipo NATP.  Cuando el servidor responde: lo hace a la IP pública y al puerto NATP, que lo cambia a la IP privada y al puerto que indicó el cliente.

4.7.2. Modo pasivo.

En este caso, el cliente siempre empieza las conexiones, el puerto 20 del servidor no se utiliza. El procedimiento sería el siguiente:

  1. El cliente inicia una conexión de control.  Abre un puerto local superior a 102 4  Establece una conexión de control con el servidor al puerto 21.
  2. El cliente solicita una transferencia de ficheros.

b) Conexión en modo pasivo (nunca hay conexión entrante en el cliente): i) El cortafuegos ha de permitir conexiones salientes al puerto 21: conexión control. ii) El cortafuegos ha de permitir conexiones salientes a puertos mayor 1024 para las conexiones de datos. B) Servidor. a) Conexión en modo activo: i) Trivial: El cortafuegos ha de permitir entrada al puerto 21. Conexión de control. ii) Trivial: El cortafuegos ha de permitir conexiones salientes del puerto 20 hacia puertos mayores de 1024. Conexión de datos. b) Conexión en modo pasivo: i) Trivial: Se han de permitir conexiones TCP entrantes al puerto 21. Conexiones de control. ii) No es trivial: Habilitar el mecanismo para que se permitan conexiones TCP entrantes a puertos mayores de 1024. Conexiones de datos. C) Actuaciones que hay que realizar a) Evitar el Hijacking: Es importante que el cortafuegos haga un seguimiento de las entradas pasivas: asegurar que el cliente que inicia la conexión por un puerto mayor que 1024 es el cliente al que se le indicó dicho puerto. b) Protección del servidor: El encaminador, NATP y/o cortafuegos de red. i) Permitir conexiones entrantes al puerto 21. ii) Redirigir el puerto 21 del NATP al puerto 21 del servidor. iii) Configurar la IP externa del NATP y un rango de puertos para aceptar las conexiones de datos. iv) El cortafuegos de red debe permitir conexiones entrantes hacia los puertos definidos. v) Hay que redirigir el rango de puertos del encaminador al servidor FTP. Resumiendo: Modo activo Cliente Servidor Puerto > 1024 Puerto = 21 Conexión de control Puerto > 1024 Puerto = 20 Conexiones de datos El cliente queda expuesto en la conexión de datos. Si el cliente está detrás de un cortafuegos o NATP requiere FTP-ALG Configuración de cliente compleja, configuración de servidor fácil. Modo pasivo Cliente Servidor Puerto > 1024 Puerto = 21 Conexión de control Puerto > 1024 Puerto > 1024 Conexiones de datos Servidor queda expuesto y requiere una configuración más compleja. El cliente es fácil de configurar.

4. 8. Seguridad.

FTP no es un protocolo seguro. Se diseñó buscando eficacia y velocidad en la transmisión de datos. Se caracteriza por tener como mínimo estas vulnerabilidades intrínsecas: ● Tiene mecanismo de identificación de usuarios. Permite privilegios de acceso, transferencia, escritura, listado de directorios, etcétera.. ● No garantiza la legitimidad de los equipos involucrados. Se puede hacer suplantación de identidad: spoofing. ● Todas las comunicaciones incluidas las contraseñas y usuarios van en texto plano. Se puede sufrir ataques por análisis de tráfico de red: sniffing. Además de las vulnerabilidades extrínsecas que pueda haber en clientes y servidores. Al igual que FTP en su diseño, otros protocolos TCP/IP no tuvieron en cuenta problemas de seguridad: HTTP, SMTP, Telnet, POP, IMAP, DNS,.. Como respuesta a esas deficiencias en seguridad surge: FTPS (SSL/TLS). Permiten encapsular FTP en SSL (Secure Sockets Layer) o en TLS (Transport Layer Security). Mediante criptografía y certificados digitales se garantiza la confidencialidad e integridad de la información transmitida y de los servidores. Se implementa de forma implícita o explícita.  FTPS Implícito. ◦ Cliente establece conexión de control SSL/TLS. ◦ Si el servidor no soporta FTPS se cierra la conexión. ◦ Todas las comunicaciones son cifradas: control y datos. ◦ Para mantener compatibilidad con FTP que no soporte SSL/TLS se usan los puertos: control TCP-990 y datos TCP- ◦ No hay negociación entre cliente y servidor.  FTPS Explícito (FTPES). ◦ El cliente establece la conexión por el puerto 21 y solicita explícitamente que sea segura, mediante los comandos: AUTH SSL ó AUTH TLS. ◦ Si el servidor soporta una conexión SSL/TLS se establece y si no ofrece una conexión FTP normal, “no segura”. ◦ Cliente y servidor pueden negociar que parte es cifrada: datos / control. No confundir con: SFTP: ssh File Transfer Protocol. FTP basado en ssh. (considerar el uso de SCP) https://geekflare.com/es/sftp-command-examples/ Secure FTP: FTP a través de una conexión ssh, túnel FTP sobre ssh. Tanto FTPS (seguridad dentro de la aplicación), SFTP (tunelización ya preparada), Secure FTP ( tunelización manual ) son técnicas diferentes.

SCP.

Medio de transferencia seguro de archivos entre ordenador local y remoto; o entre dos ordenadores remotos. Utiliza el protocolo SSH. SCP: Secure Copy Protocol. SCP permite:  Copia de fichero entre equipos remotos.  Hay clientes SCP gráficos. Los servidores SSH atienden peticiones de transferencia de ficheros desde clientes SFTP y/o SCP. Algunos servidores SSH:  OpenSSH http://www.openssh.com  WinSSHD http://www.bitvise.com/winsshd Encapsulado SSH (otra alternativa) La mayoría de los clientes gráficos FTP pueden actuar como clientes SFTP ó SCP.

4.1 0. Ejercicios.

Vamos a centrarnos en el cliente, para ahorrar tiempo lectivo prescindiremos de las prácticas de servidor que dejaremos como voluntarias. TUNELIZACIÓN Investigación: Documenta con bibliografía y ejemplos propios como tunelizar un servicio (propongo mysql, aunque no necesariamente tiene que ser este) y acceder a él de forma segura desde un cliente Windows y un cliente Linux. PRÁCTICAS CON CLIENTES FTP (OBLIGATORIOS)

  1. FTP Anónimo: Accede al servidor ftp.rediris.com desde la línea de comandos y lista el contenido de alguno de los subdirectorios.
  2. Utiliza el explorador de Windows en lugar de la línea de comandos para el ejercicio anterior
  3. Utiliza el navegador de Windows para el ejercicio anterior.
  4. Práctica comandos FTP: Transferencia de ficheros entre equipos haciendo uso de FTP. Utilizaremos el trabajo FTP en modo comandos con el servidor FTP: FTP URL: ftp.dlptest.com or ftp://ftp.dlptest.com/ FTP User: dlpuser Password: rNrKYTX9g7z3RgJRmxWuGHbeu https://dlptest.com/ftp-test/ a) Inicia la sesión en el servidor FTP b) Usa cada uno de estos comandos y recoge un pantallazo de cada uno: !, bell, binary, cd, delete, dir, get, hash, lcd, mkdir, mget, mput, put, pwd, rename, rmdir
  5. Instala un servidor vsftpd (podríamos usar entre otros proftpd que es similar pero mejor homogeneizamos el trabajo para ahorrar tiempo en la corrección) en linux y prueba el acceso anónimo.
  6. Voluntaria: Usuarios virtuales (usuarios sólo del servicio FTP que acceden a carpetas personales). (En contraposición, o históricamente, teníamos FTP con usuarios reales de la máquina y acceso a alguna subcarpeta colgando del home)

PRÁCTICAS VOLUNTARIAS CLIENTE/SERVIDOR

Los trabajos hechos de instalación de servidor han de estar en una máquina virtual que tenga al menos una tarjeta puente: 192.168.10.xx, donde xx es el número de posición de la clase multiplicado por 10. Igual que en el los trabajos de DNS.

  1. Obtener un listado de comandos de ftp y su función.
  2. Entrar en los servidores ftp.rediris.es y ftp.debian.com hacer un esquema de la estructura de archivos, y probar a descargar algún fichero.
  3. Buscar servidores ftp en Internet que tengan acceso anónimo y hacer como el ejercicio anterior.
  4. Cliente FTP en línea de comando. Con este ejercicio, se contactará con un servidor FTP público y se realizarán las siguientes tareas desde el entorno de FTP. − Conectarse al servidor: ftp.rediris.es Usuario anonymous, no necesita contraseña. A partir de ahora todas las operaciones ha de hacerse desde ese entorno. − Mostrar los comandos disponibles. − Mostrar la ruta del directorio del servidor y la del ordenador cliente. − Crear un directorio “FTP_prb” en el home/Misdocumentos del equipo local, y situarse en él. − Descargar el fichero welcome.msg − Cámbiale el nombre e intenta subirlo. ¿Ha sido posible? ¿Por qué? − Termina la conexión. Comandos que pueden ser útiles: cd, pwd, lcd, !mkdir, !dir, !ren, get, put, bye, quit,..
  5. Cliente FTP gráfico. Instalar Filezilla y probarlo tanto en Windows 7/XP como en Debian. Como servidor sólo está disponible para Windows, pero como cliente hay versión de linux y de windows. Hacer el ejercicio con los dos sistemas operativos. http://filezilla-project.org  Instalar Filezilla.org y realizar una conexión a ftp.rediris.es con el usuario anonymous.  Describe las distintas partes que aparecen en la pantalla que aparece.  ¿Que tipo de conexión ha realizado el cliente?  Descargar el fichero welcome.msg en la carpeta FTP_prb.  Crea un fichero saludo.txt con un procesador de texto plano e intenta subirlo al serivdor. ¿Es posible?  Comenta las la evolución de las acciones ejecutadas.  Cierra el cliente Filezilla.
  6. Cliente FTP desde el navegador.  Utilizar la url: ftp://ftp.rediris.es para realizar una conexión con anonymous.  Descargar welcome.msg en FTP_prb.
  7. Otros accesos de cliente FTP:  Explorador de Windows: “Inicio/Equipo” y en la barra de direcciones poner la url:

fichero: ejercicio_nombrealumno a pub y a alumnos.  Entrar como anonymous. Descargar tema3 y publico2. Subir un fichero llamado opinion1 al directorio pub.  Conectarse con alumno2 desde XP y alumno3 desde Debian. Alternativamente un usuario y otro: descargan algún fichero y suben algún otro.  Estudiar el fichero logs. C:\Archivos de programa\Filezilla server\logs. Comenta las anotaciones.  ¿Se pueden hacer todas las cosas propuestas?

  1. Instalar vsftpd en Debian. Realiza la siguiente configuración:  Crea tres usuarios en el sistema operativo: profesor, alumno1 y alumno2.  Se debe permitir acceso anónimo (anonymous o ftp).  Los usuarios del sistema autorizados pueden escribir. Además profesor puede salir del directorio Home y escribir en la carpeta anónimo. El alumno1 quedará confinado a su directorio.  Alumno2 no tiene acceso al servicio ftp registrado.  Prepara pruebas que confirmen la configuración.  Observa el fichero de logs. /var/log/vsftpd.log
  2. Instala FTP – IIS de Windows 2008. Realiza una configuración que:  Los usuarios no estén confinados  Admita usuarios anónimos.  Personaliza los mensajes.
  3. Configura el servidor Windows 2008 con los siguientes requerimientos.  Admita usuarios anónimos que solo puedan leer en su directorio público.  Dar de alta tres usuarios del sistema y que tengan acceso confinado a sus respectivos directorios en forma de lectura y escritura.  Cada usuarios ha de realizar subidas y bajadas de ficheros.  Cada usuario tendrá una cuota de disco limitada.  Personaliza los mensajes de conexión y des-conexión de forma que: en conexión se haga referencia al usuario y en cierre se muestren la cantidad de información transferida.  Conecta simultáneamente al menos tres usuarios y observa en el servidor las conexiones que hay establecidas.  Estudia el fichero de logs. Reto:
  4. Montar un servidor sftp seguro. SSH con vsftp/Filezilla. Probar ha hacer capturas con wireshark antes de hacerlo seguro y después.
  5. Montar un servidor vsftp con usuarios virtuales.

Anexos:

Comandos FTP.

! Permite ejecutar comandos del sistema operativo en la máquina local. ? Muestra los comandos que se pueden ejecutar en el cliente ftp. Append Concatena un archivo. Ascii Configura y transfiere archivos de tipo ascii. Bell Sonido de campanilla cuando el comando se ha realiza con éxito. Binary Configura y transfiere archivos de tipo binarios. Bye Finaliza la sesión ftp. Cd Se sitúa dentro del directorio indicado. Close Finalizar la sesión ftp. Debug Configura el modo de supresión de errores. Delete Borra el archivo especificado de la computadora remota. Dir Nos muestra los archivos y directorios en el servidor FTP. Disconnect Finalizar la sesión ftp. Get Descarga un archivo desde el servidor ftp. Glob Transponer el nombre de archivo local con un metacarácter. Hash Imprime el metacarácter “#” por cada buffer transferido. Help Imprime información de ayuda local. Lcd Cambiarse de directorio en el equipo local. Literal Envía argumentos literales al servidor ftp remoto. Ls Lista el contenido de un directorio remoto. Mdelete Borrar varios archivos. Mdir Lista los contenidos de varios directorios remotos. Mget Descarga varios archivos. Mkdir Crea un directorio en la máquina remota. Mls Lista el contenido de varios directorios remotos. Mput Envía varios archivos. Open Abre conexión remota. Prompt Fuerza la ejecución de múltiples comandos. Put nombredearchivo.txt Sube al servidor ftp el archivo.txt. Pwd Nos indica el directorio en que nos encontramos en el servidor FTP. Quit Cierra la sesión con el servidor ftp. Quote Envía comando ftp arbitrario. Recv Recibe archivo desde máquina remota. Remotehelp Nos da ayuda sobre los comandos de la máquina remota. Rename Cambia el nombre de un archivo en la computadora remota. Rmdir Borra un directorio de la máquina remota. Send Envía un archivo al servidor remoto. Status Muestra el status local. Trace Activa/desactiva trazado de transferencia de paquetes. Type Configura el tipo de archivo a transferir. User Envía información de usuario nuevo.

Configuración de usuarios y grupos.

Filezilla sólo permite usuarios virtuales, es decir, son usuarios establecidos en Filezilla y no del Sistema Operativo. Los usuarios están confinados al directorio al que acceden por defecto. Primero se crea la estructura de directorios. Segundo desde Edit/Users se configuran los usuarios y sus privilegios.  Add. Para añadir un usuario.  Se especifica si pertenece a algún grupo o no. Si pertenece a un grupo toma por defecto todas las características del grupo, en caso contrario habría que dar las especificaciones para él: directorio por defecto, velocidad de acceso,..  Borrar.  Renombrar. Edit/groups. Para gestionar los grupos de usuarios.  Add. Añadir un grupo nuevo.  Shared folder. Permite establecer los privilegios sobre los directorios que se indiquen del grupo de usuarios. En el caso del grupo alumnos, ha de tener como home (H) c:\ftp\alumnos y acceso de lectura a c:\ftp\pub. Para permitir el acceso a directorios distintos del home (H) se ha de crear un alias. Para crear el alias: primero se añade el directorio c:\ftp\pub y botón derecho elegir crear alias. Se especifica dentro de la estructura que tenga el home donde se creará el enlace o alias, ej: /pub, esto hará que cuando entre el usuario en su home vea un directorio “\pub” que lo llevará a “c:\ftp\pub”.  Speed limit. Limitaciones de velocidad, por hora y días (añadiendo reglas).  IP Filter. Serían IPs de las que no pueden acceder los usuarios pertenecientes a ese grupo.

Configuración del Firewall 2008server.

Hay que configurar el Firewall del Windows2008 para que permita las conexiones de Filezilla.  Inicio / Panel de control / Seguridad / Permitir un programa a través de Firewall.  Si no aparece en el listado de programas “Filezilla server”, entonces: botón “Permitir otro programa” y se busca, debe estar en: c:\Archivos de programa\Filezilla server\Filezilla server.exe  Se marca y se salva.

vsftpd.

Instalación.

Very Secure FTP Daemon, la página principal: http://vsftpd.beast.org Servidor que se distribuye con licencia GNU para sistemas Linux. Para instalarlo desde cuenta root: #apt-get update #apt-get install vsftpd #apt-get install ftp Si no está disponible algún cliente ftp modo terminal. Con esto se crearán:

 Archivos de configuración.  Usuario ftp, que pertenece al grupo ftp.  Directorio /srv/ftp, cuyo propietario es root y grupo ftp. Será el directorio predeterminado para usuarios anónimos. Comprobar:  Se ha creado el usuario ftp: #cat /etc/passwd #cat /etc/group  Está creado el directorio /srv/ftp cuyo propietario es root y grupo ftp. #ls -l /srv La configuración del servidor se hace a través de ficheros de configuración. El principal fichero de configuración y que se crea en la instalación es: /etc/vsftpd.conf. Su contenido tiene el siguiente formato:  El archivo contiene una serie de directivas que determinan el comportamiento del servidor. Estas directivas tienen el formato: = (no puede haber espacio en blanco ni antes ni después del =).  Tres tipos de directivas: booleanas (YES/NO), numéricas y de cadena.  Comentarios son a nivel de línea y se definen con #.  Las directivas que no se utilizan, quedan con su valor por defecto.  Todas las directivas disponibles se pueden consultar en: man vsftpd.conf Antes de modificar la configuración, no es mala idea hacer una copia para poder volver al estado inicial si no se consiguen los resultados esperados. Otros ficheros de configuración, su nombre y ubicación se pueden definir en /etc/vsftpd.conf:  /etc/ftpusers Recoge los usuario que no tienen acceso al servicio ftp.  /etc/vsftpd.user_list (no creado por defecto)  /etc/vsftpd.chroot_list (no creado por defecto) El fichero de logs: /var/log/vsftpd.log para comprobar los logs será útil usar el comando tail: #tail -f /var/log/vsftpd.log Muestras las últimas líneas del fichero que se le indique. Y con la opción “f” queda abierto y muestrará las siguientes líneas que se añadan en tiempo real. Para comprobar que está funcionando el servidor y abierto el puerto 21: #ps -ef | grep vsftpdp #netstat -ltn Por defecto, utilizará todo el ancho de banda disponible. El demonio se gestiona: arranca, para, reinicia, ver el estado: #/etc/init.d/vsftpd start/stop/restart/status Hay versiones que la gestión del comando se hace con: #service vsftpd start/stop/restart Es necesario reiniciarlo cada vez que se modifique la configuración.

Gestión de usuarios.

Vsftpd permite la conexión de usuarios anónimos, locales del sistema y virtuales. a) Anónimos son: anonymous o ftp. Directiva: anonymous_enable Al conectarse un usuario anónimo tiene como directorio por defecto: /srv/ftp. Queda especificado en /etc/passwd para el usuario ftp. El usuario anónimo está confinado a este directorio con permiso de lectura y no escritura.

Para resolverlo hay que eliminar el permiso de escritura en el home del usuario (555) y crear dentro una carpeta en que tenga permiso de escritura (755) y en ella si podrá escribir. Esa carpeta nueva ha de pertenecer al usuario y a su grupo (supongamos que el home de los usuarios ftp está dentro de una carpeta ftp): #chown nombre_usuario:ftp /home/ftp/nombre_usuario/carpeta_nueva

  1. Desde el cliente windows en modo comando (ftp) hay una incompatibilidad al atacar al servidor vsftpd: 500 Ilegal port command 425 use PORT or PASV first Se puede usar otro cliente como puede ser: FileZilla-client

Algunas consideraciones:

  1. Los usuarios que tengan acceso ftp han de estar en el grupo de ftp. Si el usuario ya existe: #adduser nombre_usuario grupo Si se crea el usuario se puede usar el comando useradd y ponerle contraseña (passwd). Especificar el grupo ftp y el directorio home. Por ejemplo: #mkdir /home/ftp #mkdir /home/ftp/nombre_usuario #useradd -g ftp -d /home/ftp/nombre_usuario -m /bin/bash nombre_usuario #passwd nombre_usuario
  2. Puede haber usuarios que sólo tengan acceso a ftp y no tengan desde consola. Para ello creamos un shell ficticio o fantasma y se lo asignamos. a. Se crea un directorio en para el shell ficticio: #mkdir /bin/ftp b. Editar la lista de shells disponibles y añadirlo: #nano /etc/shells Se añade al final “/bin/ftp” c. Poner el shell ficticio al usuario que sólo queremos que tenga acceso ftp: #usermod -s /bin/ftp nombre_usuario Alternativa para crear usuarios sin acceso shell: añadir al comando “adduser” el parámetro: - s /sbin/nologin; o con el comando: #usermod -s /sbin/nologin /sbin/nologin evita la entrada por consola y ssh, pero no por ftp. Además /sbin/nologin muestra el mensaje "This account is currently not available". Este mensaje se puede configurar creando el archivo de texto /etc/nologin.txt.

Windows2008 – IIS – FTP.

Instalación.

Para instalar el servicio FTP en Windows 2008 debemos seguir los siguientes pasos: ● Inicio / Herramientas administrativas / Administrador del servidor. ● Roles – Agregar roles. ● Servidor web (IIS). ● Marcar: − Herramientas de administración.

◌ Consola de administración IIS. − Servidor FTP. ● Instalar.

Preparación del sitio FTP.

Se trata de crear una carpeta que será el origen del sitio ftp, es decir, a partir de donde se colgarán todas las carpetas de los usuarios y la estructura ftp. Será la raíz FTP. Ej: c:\ftp Dentro de esa carpeta origen o raíz ha de haber:  Una carpeta para los usuarios locales del sistema operativo llamada localuser. Ej: c:\ftp\localuser  Una carpeta para los usuarios anónimos llamada public. Ej: c:\ftp\localuser\public  Una carpeta para los usuarios del dominio con el nombre del dominio. Ej: c:\ftp\nombre_dominio Para cada uno de los usuarios locales o del dominio que tengan acceso ftp, se ha de crear una carpeta con su nombre dentro de localuser o nombre_dominio según el caso, en la que por seguridad solo puedan leer y escribir ellos.

Agregar un sitio FTP.

Una vez creada la infraestructura de carpetas dentro de la raíz ftp para los usuarios locales o del dominio que tengan acceso FTP: Menú contextual del servidor / Agregar sitio FTP. En las siguientes pantallas se pide:  Nombre del sitio, ej: ftp-iis  Ruta física. La que se ha preparado como origen o raíz del sitio, ej: c:\ftp  Dirección IP y puerto se deja con los datos que vienen por defecto. Se pueden crear más de un sitio FTP en el mismo servidor, para ello cada uno ha de tener un puerto distinto. Los clientes, según al sitio con el que van a actuar tendrán que especificar el puerto, por defecto irán al 21.  SSL. En principio se indica: sin SSL. Como reto se puede hacer con SSL.  Identificación: se marca anónima y básica. Los usuarios anónimos son: anonymous y ftp.  Permitir acceso a todos los usuarios en forma lectura / escritura.

Configuración del servidor FTP.

Por defecto, los usuarios no están enjaulados y se pueden mover libremente al igual que el anónimo y pueden leer/escribir en cualquier sitio. Al hacer clic sobre el sitio creado, aparecen una serie de iconos que permiten la configuración:  Aislamiento de usuario FTP. Permite confinar o no a los usuarios. Independientemente que por las propiedades de las carpetas se impidan que puedan escribir en las que no están autorizados. Se debe marcar la opción: “Directorio de nombre de usuario”. No deja acceder a los usuarios que no tengan un directorio con su nombre dentro de la raíz ftp: “Raíz FTP/ localuser/nombre_usuario ”.  Identificación FTP. Se puede modificar la aceptación o no de usuarios anónimos.