PDF de programación - FTP

Imágen de pdf FTP

FTPgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 3 de Enero del 2018)
852 visualizaciones desde el 3 de Enero del 2018
290,6 KB
8 paginas
Creado hace 9a (20/11/2014)
Ciclo: Sistemas Microinformáticos y Redes
Módulo: Aplicaciones Web



FTP

1. Introducción

UT 2 –FTP

FTP (sigla en inglés de 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.

Los servidores FTP se usan principalmente para tres cosas:

1. subir las páginas web al hosting.

2. como servidor de archivos de libre acceso (denominado FTP anónimo). Los FTP

anónimos son servidores FTP a los que puede conectarse cualquiera empleando como usuario

anonymous y como password cualquier dirección de correo.

3. hacer backup (copia de seguridad).

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, o

apropiarse de los archivos transferidos.



2. 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.

AW – UT 2 – FTP















Página 1 de 8

Ciclo: Sistemas Microinformáticos y Redes
Módulo: Aplicaciones Web



2.1. Modo Activo

UT 2 –FTP



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.

2.2. Modo Pasivo

AW – UT 2 – FTP















Página 2 de 8



Ciclo: Sistemas Microinformáticos y Redes
Módulo: Aplicaciones Web



UT 2 –FTP

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).



3. Instalación de un servidor ftp en Linux

Existen numerosos servidores de ftp, (vsftpd, ftpd, proftpd...), nosotros usaremos el

último, Professinal FTP Daemon, uno de los más potentes y versátiles con licencia GPL.

// Instalación de servidor ftp

usuario@server:$ sudo aptitude install proftpd-basic

Durante la instalación nos preguntará si queremos ejecutar ProFTPd como demonio

independiente o mediante inetd (escogeremos independiente) y se creará el usuario ftp, con

directorio personal /home/ftp (en las últimas versiones: Se crea el directorio personal /srv/ftp

para el usuario ftp con permisos drwxr-xr-x o lo que es lo mismo 755 el usuario ftp tendría

permisos de lectura, escritura y ejecución, los miembros de su grupo sólo tendrían permisos de

lectura y ejecución y el resto de los usuarios solo se les permitiría la ejecución.), shell /bin/false

y sin contraseña.

El directorio /home/ftp directorio personal /srv/ftp sólo contiene el archivo welcome.msg, cuyo

contenido se muestra al conectarse.

Nada mas instalado, cada usuario del sistema podrá acceder al sistema de ficheros del

servidor con su usuario y contraseña, con los mismos permisos que tendría en local. Por

defecto aparece en su home.

Si queremos que alguno usuario que tiene cuenta local no entre en el ftp, existe un

archivo /etc/ftpusers, donde están los usuarios locales que no pueden entrar por ftp.

Si queremos dar de alta nuevos usuarios, tendremos que hacerlo con adduser, pero si

queremos que sólo sean usuarios para el ftp, hay que cambiarles la ruta de Shell por /bin/false.





AW – UT 2 – FTP















Página 3 de 8

Ciclo: Sistemas Microinformáticos y Redes
Módulo: Aplicaciones Web


4. Arranque y parada manual del servidor FTP

UT 2 –FTP

El servidor ftp, al igual que todos los servicios en Debian, dispone de un script de

arranque y parada en la carpeta /etc/init.d.

// Arranque del servidor FTP

# /etc/init.d/proftpd start

// Parada del servidor FTP

# /etc/init.d/proftpd stop

// Reinicio del servidor FTP

# /etc/init.d/proftpd restart

5. Configuración del servidor FTP

El fichero de configuración está en /etc/proftpd/proftpd.conf

Al principio del fichero encontramos un montón de directivas que configuran los

aspectos generales del servidor:

 ServerName. Nombre del Servidor que verán los clients.

 Port. Establece el puerto de control, por el que se establecen las conexiones.

 DisplayLogin. Mensaje de bienvenida al servidor

 ….. otras muchas

 Limitando un directorio

Si queremos aplicar directivas sólo a un directorio, las pondremos dentro de un bloque

Directory:

<Directory [directorio]>

Directivas…

</Directory>

Una de ellas puede ser:

AllowOverwrite on

#Permitir sobreescritura de los ficheros.



Ftp anónimo

AW – UT 2 – FTP















Página 4 de 8

Ciclo: Sistemas Microinformáticos y Redes
Módulo: Aplicaciones Web



UT 2 –FTP

Existe una modalidad muy usada en los directorios de ftp, es el de acceso anónimo y

que está implantada en todos los clientes ftp. Los usuarios entran al servidor con el usuario

anonymous y con cualquier contraseña, normalmente una dirección de correo. Esto se usa

para poner ficheros para descarga pública.

Para indicarle a ProFTPd que un directorio debe ser tratado como un directorio de

acceso anónimo y aplicarle directivas específicas, usaremos:

<Anonymous [directorio]>

directivas...

</Anonymous>

Al instalar ProFTPd viene ya comentada una posible configuración de un directorio

anónimo por ftp. Este sería el directorio /etc/ftp, se ha creado un usuario sólo para ftp (sin

acceso a Shell), con este fin y luego se le crea un alias en la configuración para que se use

anonymous, una configuración simple puede ser:

<Anonymous ~ftp>

User



ftp

Group

nogroup

UserAlias

anonymous ftp

MaxClients

10

<Limit WRITE>

DenyAll

</Limit>

</Anonymous>

 Limitando permisos

Podemos limitar y especificar quién puede hacer qué a cualquier directorio y usuario

que queramos. Esta directiva se puede poner de manear general o dentro de un directorio en

particular.

<Limit [LOGIN] [READ] [WRITE] [ALL]…>

<Quien o quienes>

</Limit>

AW – UT 2 – FTP















Página 5 de 8

Ciclo: Sistemas Microinformáticos y Redes
Módulo: Aplicaciones Web


Limitar el acceso a 10.1.X.X y 192.168.1.7, a cualquier otra máquina se le denegará el acceso.

UT 2 –FTP

<Limit LOGIN>

Order Allow, Deny

Allow from 10.1., 192.168.1.7

Deny from all

</Limit>

Permitir la escritura a juanito, alberto y a cualquiera que se conecte desde 10.0.0.15 a cualquier

otra máquina se le denegará el acceso.

<Limit WRITE>

AllowUser juanito,alberto...

Allow 10.0.0.15

Deny all

</LIMIT>

Permitir un directorio de subida pero no de lectura

<Directory subida/*>

<Limit READ>

DenyAll

</Limit>

<Limit STOR>

AllowAll

</Limit>

</Directory>

 Más configuración

Con ProFTPd se pueden realizar muchas otras cosas, se pueden extender por medio

de módulos que le permiten añadir una nueva funcionalidad, se pueden crear directorios

virtuales (Virtual host) que consiste en no responder de la misma manera según quién y cómo

se conecte, y también admite ficheros .ftpaccess, similares a los .htaccess de Apache, para

AW – UT 2 – FTP















Página 6 de 8

Ciclo: Sistemas Microinformáticos y Redes
Módulo: Aplicaciones Web


que

los usuarios sin

UT 2 –F
  • Links de descarga
http://lwp-l.com/pdf8160

Comentarios de: FTP (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad