• No se han encontrado resultados

Es un protocolo de transferencia de archivos en redes TCP/IP de forma fiable y rápida.

N/A
N/A
Protected

Academic year: 2021

Share "Es un protocolo de transferencia de archivos en redes TCP/IP de forma fiable y rápida."

Copied!
14
0
0

Texto completo

(1)

Configuración de VSFTPd.

Es un protocolo de transferencia de archivos en redes TCP/IP de forma fiable y rápida.

1. Objetivos

A. Aprender a utilizar el servidor FTP como puente para el establecimiento de conexiones anónimas.

B. Evidenciar que seguridad tiene el protocolo ftp a conseguir claves por el uso de Wireshark.

C. Repasar el uso de la herramienta de Wireshark y la aplicación de filtros correspondientes a este protocolo.

1. Introducción.

En la actividad de servidores se requiere del siguiente software:

Wireshark (The Wireshark Network Protocol Analyzer) Versión 1.12.4 o superior instalado o portable además de Clientes como: putty o su equivalente Versión 0.64 o superior, telnet activado en cliente y el servidor.

Sistema operativos centos 6.4 o superior para ser de servidor Sistema Windows 7 o superior en los clientes.

Nota: Se debe documentar todo el proceso de configuración de este servicio de telnet en Windows paso a paso

Se debe tener en cuenta los puertos de salida para los servicios que se usaran en estas prácticas iniciales son:

Emplea los siguientes puertos: 20 (ftp-data) transferir datos, 21 (ftp) control (envió de ordenes), 22 (ssh),y 23 (telnet). Al estar basado en la arquitectura cliente-servidor.

Se recomienda revisar, consultar y repasar los RFC de estos servicios para entender y comprender estas actividades como su funcionamiento. Comprometiéndonos en la actualización de la bibliografía del presente documento. Iniciamos con ftp.

(2)

1.1. Acerca del protocolo FTP.

Figura No1. Imagen tomada de http://wiki.elhacker.net/redes/teoria/teoria-ftp FTP (File Transfer Protocol) o Protocolo de Transferencia de Archivos es uno de los protocolos estándar más utilizados en Internet siendo el más idóneo para la transferencia de grandes bloques de datos a través de redes que soporten TCP/IP. El servicio utiliza los puertos 20 y 21, exclusivamente sobre TCP.

El puerto 20 es utilizado para el flujo de datos entre cliente y servidor. El puerto 21 es utilizando para el envío de órdenes del cliente hacia el servidor. Prácticamente todos los sistemas operativos y plataformas incluyen soporte para FTP, lo que permite que cualquier computadora conectada a una red basada sobre TCP/IP pueda hacer uso de este servicio a través de un cliente FTP.

Existen dos métodos, el modo activo y el modo pasivo.

(3)

1.1.1. Modo activo.

En este modo, el cliente crea una conexión de datos a través del puerto 20 del servidor, mientras que en el cliente asocia esta conexión desde un puerto aleatorio entre 1024 y 65535, enviando PORT para indicar al servidor el puerto a utilizar para la transferencia de datos. Tiene como desventaja que el cliente FTP debe estar Dispuesto a aceptar cualquier conexión de entrada asociada a puertos entre 1024 y 65535, lo que significa que el cliente tendría que estar detrás de un muro cortafuegos que acepte establecer conexiones entrantes en este rango de puertos o bien acceder hacia Internet sin un muro cortafuegos de por medio, lo que evidentemente implica un enorme riesgo de seguridad. El modo activo sólo es conveniente en la ausencia de un muro cortafuegos entre el servidor y el cliente, como ocurre en los escenarios de una red de área local.

1.1.2. Modo pasivo.

Fue creado como una alternativa al problema que representa el modo activo. A diferencia de éste último, el modo pasivo envía PASV en lugar PORT a través del puerto de control del servidor. Éste devuelve como respuesta el número de puerto a través del cual debe conectarse el cliente para hacer la transferencia de datos. El servidor puede elegir al azar cualquier puerto entre 1024 y 65535 o bien el rango de puertos determinado por el administrador del sistema. En el caso de Vsftpd, se puede definir un rango arbitrario de puertos para conexiones pasivas utilizando las opciones pasv_min_port y pasv_max_port. Éste es el método recomendado para servidores de acceso público.

1.2. Acerca del protocolo FTPS.

FTPS —también referido como FTP/SSL— es la forma de designar diferentes métodos a través de las cuales se pueden realizar transferencias de archivos seguras a través del protocolo FTP utilizando SSL o TLS. Son métodos muy diferentes a los del protocolo SFTP (SSH File Transfer Protocol).

Existen dos diferentes métodos para realizar una conexión SSL/TLS a través de FTP. La primera y más antigua es a través de FTPS Implícito (Implicit FTPS), que consiste en cifrar la sesión completa a través de los puertos 990 (FTPS) y 998 (FTPS Data), sin permitir negociación con el cliente, el cual está obligado a conectarse directamente al servidor FTPS con el inicio de sesión SSL/TLS. El segundo método, que es el recomendado por el RFC 4217 y el utilizado por vsftpd, es FTPS Explícito (Explicit FTPS o FTPES), donde el cliente realiza la conexión normal a través del puerto 21 y permitiendo negociar, de manera opcional, una conexión TLS.

1.3. Acerca de RSA.

RSA, acrónimo de los apellidos de sus autores, Ron Rivest, Adi Shamir y Len Adleman, es un algoritmo para cifrar claves públicas, el cual fue publicado en 1977

(4)

y patentado 1983, en EE.UU., por el Instituto Tecnológico de Michigan (MIT). RSA es utilizado en todo el mundo para los protocolos destinados para el comercio electrónico.

URL: http://es.wikipedia.org/wiki/RSA 1.4. Acerca de OpenSSL.

OpenSSL es una implementación libre, de código fuente abierto, de los protocolos SSL (Secure Sockets Layer o Nivel de Zócalo Seguro) y TLS (Transport Layer Security o Seguridad para Nivel de Transporte). Está basado sobre el extinto proyecto SSLeay, iniciado por Eric Young y Tim Hudson, hasta que éstos comenzaron a trabajar para la división de seguridad de EMC Corporation.

URL: http://www.openssl.org/ 1.5. Acerca de X.509.

X.509 es un estándar ITU-T (estandarización de Telecomunicaciones de la International Telecommunication Union) para infraestructura de claves públicas (PKI o Public Key Infrastructure). Entre otras cosas, establece los estándares para certificados de claves públicas y un algoritmo, para validación de ruta de certificación. Este último se encarga de verificar que la ruta de un certificado sea válida bajo una infraestructura de clave pública determinada. Es decir, desde el certificado inicial, pasando por certificados intermedios, hasta el certificado de confianza emitido por una Autoridad Certificadora (CA o Certification Authority).

URL: http://es.wikipedia.org/wiki/X.509 1.6. Acerca de vsftpd.

Vsftpd (Very Secure FTP Daemon) es un equipamiento lógico utilizado para implementar servidores de archivos a través del protocolo FTP. Se distingue principalmente porque sus valores predeterminados son muy seguros y por la sencillez para su configuración básica cuando se le es comparado con otras alternativas como ProFTPD y Wu-ftpd. En la actualidad se estima que vsftpd podría ser quizá el servidor FTP más seguro del mundo. Una de las decisiones de tomar este servidor para la clase de administración de servidores

(5)

2. Equipamiento lógico necesario. 2.1. Instalación a través de yum.

Se debe ejecutar lo siguiente desde una terminal si utiliza CentOS, Fedora™ o Red Hat™ Enterprise Linux:

yum -y install vsftpd (Enter)

Esperar que se instale Very Secure FTP Daemon

3. Archivos de configuración. /etc/vsftpd/chroot_list

Lista que definirá usuarios a enjaular o no a enjaular, dependiendo de la configuración.

/etc/vsftpd/vsftpd.conf

Veamos este archivo un poco más a fondo. vi /etc/vsftpd/vsftpd.conf (Enter)

# Example config file /etc/vsftpd/vsftpd.conf #

# The default compiled in settings are fairly paranoid. This sample file # loosens things up a bit, to make the ftp daemon more usable.

# Please see vsftpd.conf.5 for all compiled in defaults. #

# READ THIS: This example file is NOT an exhaustive list of vsftpd options. # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's # capabilities.

#

# Allow anonymous FTP? (Beware - allowed by default if you comment this out). anonymous_enable=YES

#

# Uncomment this to allow local users to log in. local_enable=YES

#

# Uncomment this to enable any form of FTP write command. write_enable=YES

#

# Default umask for local users is 077. You may wish to change this to 022, # if your users expect that (022 is used by most other ftpd's)

(6)

local_umask=022 #

# Uncomment this to allow the anonymous FTP user to upload files. This only # has an effect if the above global write enable is activated. Also, you will # obviously need to create a directory writable by the FTP user.

#anon_upload_enable=YES #

# Uncomment this if you want the anonymous FTP user to be able to create # new directories.

#anon_mkdir_write_enable=YES #

# Activate directory messages - messages given to remote users when they # go into a certain directory.

dirmessage_enable=YES #

# The target log file can be vsftpd_log_file or xferlog_file. # This depends on setting xferlog_std_format parameter xferlog_enable=YES

#

# Make sure PORT transfer connections originate from port 20 (ftp-data). connect_from_port_20=YES

#

# If you want, you can arrange for uploaded anonymous files to be owned by # a different user. Note! Using "root" for uploaded files is not

# recommended! #chown_uploads=YES #chown_username=whoever #

# The name of log file when xferlog_enable=YES and xferlog_std_format=YES # WARNING - changing this filename affects /etc/logrotate.d/vsftpd.log

#xferlog_file=/var/log/xferlog #

# Switches between logging into vsftpd_log_file and xferlog_file files. # NO writes to vsftpd_log_file, YES to xferlog_file

xferlog_std_format=YES #

# You may change the default value for timing out an idle session. #idle_session_timeout=600

#

# You may change the default value for timing out a data connection. #data_connection_timeout=120

#

# It is recommended that you define on your system a unique user which the # ftp server can use as a totally isolated and unprivileged user.

#nopriv_user=ftpsecure #

(7)

# recommended for security (the code is non-trivial). Not enabling it, # however, may confuse older FTP clients.

#async_abor_enable=YES #

# By default the server will pretend to allow ASCII mode but in fact ignore # the request. Turn on the below options to have the server actually do ASCII # mangling on files when in ASCII mode.

# Beware that on some FTP servers, ASCII support allows a denial of service # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd

# predicted this attack and has always been safe, reporting the size of the # raw file.

# ASCII mangling is a horrible feature of the protocol. #ascii_upload_enable=YES

#ascii_download_enable=YES #

# You may fully customise the login banner string: #ftpd_banner=Welcome to blah FTP service. #

# You may specify a file of disallowed anonymous e-mail addresses. Apparently # useful for combatting certain DoS attacks.

#deny_email_enable=YES # (default follows)

#banned_email_file=/etc/vsftpd/banned_emails #

# You may specify an explicit list of local users to chroot() to their home # directory. If chroot_local_user is YES, then this list becomes a list of # users to NOT chroot().

#chroot_local_user=YES #chroot_list_enable=YES # (default follows)

#chroot_list_file=/etc/vsftpd/chroot_list #

# You may activate the "-R" option to the builtin ls. This is disabled by # default to avoid remote users being able to cause excessive I/O on large # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume # the presence of the "-R" option, so there is a strong case for enabling it. #ls_recurse_enable=YES

#

# When "listen" directive is enabled, vsftpd runs in standalone mode and # listens on IPv4 sockets. This directive cannot be used in conjunction # with the listen_ipv6 directive.

listen=YES #

# This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6 # sockets, you must run two copies of vsftpd with two configuration files. # Make sure, that one of the listen options is commented !!

(8)

pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES

Archivo de configuración de VSFTPD.

Al leer y revisar el contenido del archivo nos damos cuenta que la mayoría de este se encuentra comentario con el carácter (#) al principio de cada línea. De manera que en el proceso de hardering se debe realizar los ajustes necesarios para su aseguramiento

El archivo /etc/vsftpd/chroot_list es inexistente, por lo cual es conveniente crearlo antes de comenzar a trabajar con la configuración. Por favor ejecute lo siguiente antes de continuar para poder crearlo:

touch /etc/vsftpd/chroot_list (Enter)

3.1. Activar, iniciar, detener y reiniciar el servicio dos formas para hacerlo. Ejecute lo siguiente para activar el servicio en todos los niveles de ejecución: chkconfig vsftpd on

Ejecute lo siguiente para iniciar por primera vez el servicio: service vsftpd start (Enter)

o

/etc/rc.d/init.d/vsftpd start (Enter)

Ejecute lo siguiente para reiniciar el servicio o bien hacer que los cambios hechos a la configuración surtan efecto de inmediato:

service vsftpd restart (Enter) o

/etc/rc.d/init.d/vsftpd restart (Enter)

Ejecute lo siguiente para detener el servicio: service vsftpd stop (Enter)

(9)

o

/etc/rc.d/init.d/vsftpd stop (Enter)

Ejecute lo siguiente para determinar el estado del servicio: service vsftpd status (Enter)

o

/etc/rc.d/init.d/vsftpd status (Enter)

Los pasos básicos de este servicio quedan hasta este punto, la fase que viene es aseguramiento.

3.2. Ubicación de los Archivos y directorios de descarga

En la ubicación /var/ftp/pub/ se encontraran los directorios y archivos que deseamos compartir bajo esta modalidad de transferencia y se podrán bajar a nuestros equipos desde cualquier navegador o utilizando un cliente ftp, simplemente cambiando el protocolo.

Desde Windows lazamos un cmd o un intérprete de comandos y luego desde esa consola digitamos ftp (Enter)

Estos son algunos de los comandos que podemos usar: Help (enter)

C:\Users\pepe >ftp

ftp> help

Los comandos se pueden abreviar. Y debemos complementar la segunda columna. Commando Descripcion ! ? append ascii bell binary bye cd close

(10)

delete debug dir disconnect get glob hash help lcd literal ls mdelete mdir mget mkdir mls mput open prompt put pwd quit quote recv remotehelp rename rmdir send status trace type user verbose

Tabla No.1 Lista de los comandos y funciones del FTP Cuestionamiento de la actividad.

1. Cuáles son los RFC del servidor FTP.

2. Cuanto tiempo mantiene activa una conexión FTP.

3. Esquematice o deje evidencias del paso a paso del socket de conexión del modelo C/S.

4. Realice el paso anterior pero con la ayuda de Wireshark.

5. En donde está ubicado (ruta absoluta) del cliente ftp en Linux y Windows. 6. ¿Se puede configurar un archivo de log en este tipo de servidor?

(11)

7. Que aplicación puedo obtener de este servidor.

(12)

Configuración de OpenSSH. 0. Objetivos

A. Aprender a utilizar el servidor OpenSSH como servicio para el establecimiento de conexiones seguras de cliente a servidor.

B. Evidenciar que seguridad tiene el protocolo OpenSSH al tratar de conseguir las claves de los usuarios del servidor cuando pretenden establecer conexión con el uso de Wireshark.

C. Repasar en la practica el uso del software de Wireshark y la aplicación de filtros a este protocolo.

1. Introducción. 1.1. Acerca de SSH.

SSH (Secure Shell) es un conjunto de estándares y protocolo de red que permite establecer una comunicación a través de un canal seguro entre un cliente local y un servidor remoto. Utiliza una llave pública para autenticar el servidor remoto y —de manera opcional— permitir al servidor remoto autenticar al usuario. SSH provee confidencialidad e integridad en la transferencia de los datos utilizando criptografía y MAC (Message Authentication Codes o Códigos de Autenticación de Mensaje). De modo predeterminado, escucha peticiones a través del puerto 22 por TCP.

Figura No1. Imagen tomada de katherynnparedes.blogspot.com

1.2. Acerca de SFTP.

SFTP (SSH File Transfer Protocol) es un protocolo que provee funcionalidad de transferencia y manipulación de archivos a través de un flujo confiable de datos.

(13)

Comúnmente se utiliza con SSH para proveer a éste de transferencia segura de archivos.

1.3. Acerca de SCP.

SCP (Secure Copy o Copia Segura) es una protocolo seguro para transferir archivos entre un anfitrión local y otro remoto, a través de SSH. Básicamente, es idéntico a RCP (Remote Copy o Copia Remota), con la diferencia de que los datos son cifrados durante la transferencia para evitar la extracción potencial de información a través de programas de captura de las tramas de red (packet sniffers). SCP sólo implementa la transferencia de archivos, pues la autenticación requerida es realizada a través de SSH.

1.4. Acerca de OpenSSH.

OpenSSH (Open Secure Shell) es una alternativa de código fuente abierto, con licencia BSD, hacia la implementación propietaria y de código cerrado SSH creada por Tatu Ylönen. OpenSSH es un proyecto creado por el equipo de desarrollo de OpenBSD y actualmente dirigido por Theo de Raadt. Se considera es más segura que la versión privativa Ylönen, gracias a la constante auditoría que se realiza sobre el código fuente por parte de una enorme comunidad de desarrolladores, una ventaja que brinda el Software Libre.

OpenSSH incluye servicio y clientes para los protocolos SSH, SFTP y SCP. URL: http://www.openssh.org/.

2. Equipamiento lógico necesario.

2.1. En CentOS y Red Hat™ Enterprise Linux.

Si realizó una instalación mínima, ejecute lo siguiente para instalar la paquetería necesaria:

yum -y install openssh openssh-server openssh-clients

3. Activar, desactivar, iniciar, detener y reiniciar el servicio ssh dos formas diferentes.

De modo predeterminado el servicio está activo en todos los niveles de ejecución. 3.1. En CentOS y Red Hat™ Enterprise Linux.

Ejecute lo siguiente para desactivar el servicio de todos los niveles de ejecución: chkconfig sshd off

(14)

Ejecute lo siguiente para iniciar por primera vez el servicio: service sshd start

o

/etc/rc.d/init.d/sshd start (Enter)

Ejecute lo siguiente para reiniciar el servicio y aplicar cambios en la configuración:: service sshd restart

o

/etc/rc.d/init.d/sshd restart (Enter)

Ejecute lo siguiente para detener el servicio: service sshd stop

o

/etc/rc.d/init.d/sshd stop (Enter)

Usar el putty, si no lo tiene bajarlo del servidor ftp o de internet. Cuestionamiento

1. Cuáles son los RFC del servidor SSH.

2. Cuanto tiempo mantiene activa una conexión SSH.

3. Esquematice o deje evidencias del paso a paso del socket de conexión del modelo C/S de este servicio.

4. Realice el paso anterior pero con la ayuda de Wireshark.

5. ¿Se puede configurar un archivo de log en este tipo de servidor? 6. Que aplicación puedo obtener de este servidor.

7. ¿Cómo puedo evidenciar las conexiones activas de este servicio? Conclusiones

Bibliografía

Configuración de Servidores con GNU/Linux Joel Barrios Dueñas 2014 http://wiki.elhacker.net/redes/teoria/teoria-ftp

Referencias

Documento similar

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

Esto viene a corroborar el hecho de que perviva aún hoy en el leonés occidental este diptongo, apesardel gran empuje sufrido porparte de /ue/ que empezó a desplazar a /uo/ a

En junio de 1980, el Departamento de Literatura Española de la Universi- dad de Sevilla, tras consultar con diversos estudiosos del poeta, decidió propo- ner al Claustro de la

por unidad de tiempo (throughput) en estado estacionario de las transiciones.. de una red de Petri

SVP, EXECUTIVE CREATIVE DIRECTOR JACK MORTON

Social Media, Email Marketing, Workflows, Smart CTA’s, Video Marketing. Blog, Social Media, SEO, SEM, Mobile Marketing,

Missing estimates for total domestic participant spend were estimated using a similar approach of that used to calculate missing international estimates, with average shares applied