ftp funcionamiento de ftp funcionamiento de cliente ftp instalacion y configuracion de servidor...
TRANSCRIPT
FTP
Funcionamiento de FTP Funcionamiento de Cliente FTP
Instalacion y Configuracion de Servidor VSFTPD VSFTPD + SSL
FTP
FTP (FILE TRASFER PROTOCOL)
FTP es un programa que se utiliza para transferir información, almacenada en ficheros, de una
máquina remota a otra local, o viceversa (RFC 959). Para poder realizar esta operación es
necesario conocer la dirección IP (o el "nombre") de la máquina a la que nos queremos
conectar para realizar algún tipo de transferencia.
Al igual que HTTP, FTP se basa en el envío de comandos codificados mediante ASCII, es
decir, en texto plano.
FTP
Esquema de funcionamientoEsquema de funcionamiento
FTP es un servicio orientado a conexión concurrente que funciona sobre dos puertos 21 para el
intercambio de comandos y 20 para los datos.
FTP
FTP
Los elementos que componen el sistema son los Los elementos que componen el sistema son los siguientes:siguientes:
Servidor FTP:Servidor FTP: Máquina a la que nos queremos conectar y que debe aceptar sesiones FTP.
Debe ser una máquina en la que esté activo el servicio FTP.
A su vez se compone de:A su vez se compone de:
Servidor PIServidor DTP
FTP
Servidor PI (Protocol Interpreter): Servidor PI (Protocol Interpreter):
El intérprete de protocolo del servidor “escucha” en el puerto 21 los comandos que le envía el intérprete de protocolo del cliente y controla el proceso de transferencia de datos del servidor.
FTP
Servidor DTP (Data Transfer Protocol):Servidor DTP (Data Transfer Protocol): El protocolo de transferencia de datos del servidor se
utiliza para transmitir los datos entre el servidor y el protocolo de transferencia de datos del cliente. Puede estar en modo “pasivo” a la escucha de conexiones en el puerto 20 de datos.
FTP
Cliente FTP:Cliente FTP:
Máquina con la que nos conectamos al servidor FTP. Está compuesta por los siguientes elementos:
Interfaz de UsuarioCliente IP
Cliente DTP
FTP
Interfaz de usuario:Interfaz de usuario:
CConjunto de comandos de “alto nivel” que el usuario puede memorizar más fácilmente que los comandos FTP que se envían entrecliente y servidor.
FTP
Cliente PI:Cliente PI:
El intérprete de protocolo de usuario inicia el control de la conexión a través del puerto 21 con el servidor FTP, envía los comandos FTP una vez codificados por la interfaz de usuario y los envía al intérprete de protocolo del servidor, y controla el proceso de transferencia de los archivos (DTP).
FTP
Cliente DTP: Cliente DTP:
El proceso de transferencia de datos “escucha” el puerto de datos (20) aceptando conexiones para la transferencia de ficheros.
FTP
En el modelo descrito en la figura anterior, el PI del cliente inicia la conexión TCP por el puerto 21. Al iniciarse, se envían los comandos mediante dicho PI al PI del servidor y si éste acepta la conexión, solicita una identificación al usuario, pudiéndose realizar un acceso anónimo (no aceptado por todos los servidores). Cuando se solicita un archivo del servidor, se establece una conexión TCP por el puerto 20 para entre el DTP del cliente y el servidor para la transmisión de datos.
FTP
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.
FTP
FTP
FTP
Conectarse al servidor de FTPConectarse al servidor de FTP
[restauracion@/home/crond1 $] ftp www.cabresto.com.arConnected to www.cabresto.com.ar (46.105.246.169).
220 Welcome to blah FTP service.Name (www.cabresto.com.ar:crond1): ubftp
331 Please specify the password.Password:
230 Login successful.Remote system type is UNIX.
Using binary mode to transfer files.ftp>
FTP
FTP posee varios comandos para obtener ayuda de FTP posee varios comandos para obtener ayuda de cómo utilizarlo.cómo utilizarlo.
FTP
Desconectarse servidor de FTPDesconectarse servidor de FTP
Para salir de una sesión de FTP, se pueden utilizar los siguientes comandos:
close: termina la sesión de FTP, pero no sale del programa.
bye o quit: termina la sesión de FTP y sale del programa.
FTP Archivos y directoriosArchivos y directorios
A continuación se da una relación de comandos del A continuación se da una relación de comandos del FTP referentes al manejo de archivos yFTP referentes al manejo de archivos y
directorios.directorios.
FTP Transferencia de informaciónTransferencia de información
Con FTP se puede realizar la transferencia de información en Con FTP se puede realizar la transferencia de información en dos formatos diferentes: dos formatos diferentes: ascii y binarioascii y binario. Por defecto, la . Por defecto, la transferencia se hace en transferencia se hace en modo ascii.modo ascii.
FTP
Clientes:Clientes:
Existen diferentes clients de ftp por linea de Existen diferentes clients de ftp por linea de comando:comando:
Ftp, lftp,sftp,gftp,ncftp
Existen diferentes clientes de ftp por grafica:Existen diferentes clientes de ftp por grafica:
filezillafilezilla
FTP
Instalando Servidor FTP Instalando Servidor FTP
VSFTPD
FeaturesFeaturesVirtual IP configurationsVirtual IP configurationsVirtual usersVirtual usersStandalone or inetd operationStandalone or inetd operationPowerful per-user configurabilityPowerful per-user configurabilityBandwidth throttlingBandwidth throttlingPer-source-IP configurabilityPer-source-IP configurabilityPer-source-IP limitsPer-source-IP limitsIPv6IPv6Encryption support through SSL integrationEncryption support through SSL integrationetc...etc...
VSFTPD
Documentacion:Documentacion:
Opciones BooleanasOpciones NumericasOpciones de Strings
VSFTPD
Archivo de Configuracion:Archivo de Configuracion:/etc/vsftpd/vsftpd.conf
VSFTPD
Usuarios Anonimos:Usuarios Anonimos:
Una forma de utilizar este tipo de servicio es de forma anónima, permitiendo el uso para subir o bajar archivos de el utilizando como autenticacion el usuario anonymous y como password una dirección de email.
VSFTPD
Por defecto viene configurado el usuario ftp como anonymous
[root@jmr1 vsftpd]# cat /etc/passwd| grep ftp [root@jmr1 vsftpd]# cat /etc/passwd| grep ftp ftp:x:14:50:FTP User:/var/ftp:/sbin/nologinftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
VSFTPD
Parametros para Anonymous
Anonymous_enable=nofpt_username=user
no_anon_password=YESdeny_email_enable=YES
banned_email_file=/etc/vsftpd/banned_emails
VSFTPD
Escritura Anonymous
anon_upload_enable=YESchown_upload_mode=0600 (default)
anon_umas=077 (default)chown_uploads=YES
Chown_username=adecidiranon_mkdir_write_enable=YES
nopriv_user=ftpsecureanon_umask=077 (default)
ascii_download_enable=NO(default)ascii_upload_enable=NO(default)
VSFTPD
Escritura en Gralwrite_enable=YESlocal_umask=022
file_open_mode=0770
VSFTPD
Habilitar Usuarios Locales
local_enable=YES
Solo acceden los que no estan en el archivouserlist_enable=YES(default)userlist_file=archivo(user_list)
Solo acceden los que estan en la listauserlist_deny=YES(default)usa archivouserlist_deny=YES(default)usa archivo
VSFTPD
Enjaunlado Usuarios
chroot_list_enable=YESchroot_local_user=YESchroot_list_file=archivo
VSFTPD
Mensajes
dirmessage_enable=YESmessage_file=.message(default)
banner_file=archivoftpd_banner=string con datos
VSFTPD
DISPLAY
hide_idshide_ids=NOuse_localtime=NO(default)ls,mls usa UTC
ls_recurse_enable=NO(default)
VSFTPD
LOGS
syslog_enable=YESlog_ftp_protocol=YES
xferlog_enable=YES (default)xferlog_std_format=YES(default)
xferlog_file=/var/log/vsftpd.log
VSFTPD
Valores de Conexion
listen=NO(default)sten=NO(default)listen_address=iplisten_address=ip
listen_port=21(default)listen_port=21(default)max_clients=0(default,sin limite)max_clients=0(default,sin limite)max_per_ip=0(default,sin limite)max_per_ip=0(default,sin limite)
VSFTPD
Timeouts
accept_timeout=60(default,tiempo espera pasv)connect_timeout=60(default, tiempo espera port)data_connection_timeout=300(default, stalled )
idle_session_timeout=300(default)local_max_rate=0(default,transferencia)
anon_max_rate=0(default)
VSFTPD
OtrosOtros
user_config_dir=/etc/vsftpd/user_conf pam_service_name=vsftpd(default)
tcp_wrapper=YES(default)
VSFTPD
Timeouts
accept_timeout=60(default,tiempo espera pasv)connect_timeout=60(default, tiempo espera port)data_connection_timeout=300(default, stalled )
idle_session_timeout=300(default)local_max_rate=0(default,transferencia)
anon_max_rate=0(default)
VSFTPD
Ejecutar dos FTP en distintas ip's
Crear otro archivo de configuracionEjecutar el binario pasandole la ruta del archivo
de configuracion
VSFTPD + SSL
Creacion de Certificados
VSFTPD + SSL
[root@jmr1 vsftpd]# cd /etc/pki/tls/certs
[root@jmr1 certs]# openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/vsftpd.pem -out /etc/pki/tls/certs/vsftpd.pem
[root@jmr1 certs]# chmod 600 vsftpd.pemAgregar lo siguiente en /etc/vsftpd/vsftpd.conf
rsa_cert_file=/etc/pki/tls/certs/vsftpd.pemssl_enable=YES
force_local_data_ssl=YES force_local_logins_ssl=YES
Reiniciar --> /etc/rc.d/init.d/vsftpd restart
FTP
Bibliografia:
Manual VSFTPDPdf
Wikipedia FTPvsftp + ssl