instalación y configuración servidor ftp y ssh

22
Francisco José Cruz Jiménez 2º ASIR SRI SERVIDORES FTP Y SSH

Upload: francisco-jose-cruz-jimenez

Post on 12-Jun-2015

2.693 views

Category:

Education


4 download

DESCRIPTION

Trabajo de como instalar y configurar Servidor FTP y SSH

TRANSCRIPT

Page 1: Instalación y configuración Servidor FTP y SSH

Francisco José Cruz Jiménez 2º ASIR

SRI SERVIDORES FTP Y SSH

Page 2: Instalación y configuración Servidor FTP y SSH

Servidores FTP y SSH

Francisco José Cruz Jiménez

2

INDICE :

Descripción del escenario ..................................................................................................... 3

Instalación y configuración del servicio FTP en Debian .................................................... 3

Clientes FTP .......................................................................................................................... 5

Configuración segura de FTP ............................................................................................... 7

Instalación y configuración de un servidor NAS con OPENMEDIAVAULT ............... 11

Configuración de un sistema RAID 1 ............................................................................ 11

Gestión de credenciales (usuarios y grupos) ................................................................. 13

Compartición de carpetas y gestión de permisos (ACL) .............................................. 14

Configuración del servicio FTP ..................................................................................... 16

Instalación y configuración del servicio SSH ................................................................... 19

Cliente SSH ......................................................................................................................... 20

Creación de túneles SSH..................................................................................................... 22

Page 3: Instalación y configuración Servidor FTP y SSH

Servidores FTP y SSH

Francisco José Cruz Jiménez

3

Descripción del escenario

En esta práctica no se requiere un escenario en sí, sino que tenemos una máquina

virtual con Debian, la cual usaremos como servidor FTP (tanto como para VSFTPD,

como para usar OpenMediaVault) y SSH, para comprobar el funcionamiento de estos

servicios nos basta con probar desde la máquina real, sea cual sea su Sistema Operativo.

La configuración de red que hay que establecer en Debian será Adaptador Puente, para

incluirlo como otro equipo más de la red en la que estamos. Para el apartado de

OpenMediaVault habrá que agregar dos discos duros más, que luego se explicará.

Instalación y configuración del servicio FTP en Debian

Para instalar el servicio FTP en nuestra máquina usaremos VSFTPD como

servidor FTP. Lo primero es instalarlo desde los repositorios:

# apt-get install vsftpd

Ahora comprobamos que la instalación ha sido satisfactoria observando que se

ha creado un proceso de este y que el puerto 21 está a la escucha.

# ps aux | egrep ftp

# netstat –natup | egrep ftp

También podemos probar si está funcionando el servidor FTP utilizando

cualquier cliente, por ejemplo un navegador, solo tenemos que poner en la barra de

direcciones la IP del servidor y nos mostrará lo siguiente:

f tp://192.168.1.15

Page 4: Instalación y configuración Servidor FTP y SSH

Servidores FTP y SSH

Francisco José Cruz Jiménez

4

La configuración de VSFTPD se encuentra en el archivo vsftpd.conf, situado en

/etc, si lo editamos podemos ver las diferentes directivas que incluye (cada una con su

descripción correspondiente).

# nano /etc/vsftp.conf

Ahora explicaré algunas directivas importantes:

local_enable=YES Permite a los usuarios de la máquina loguearse.

chroot_local_user=YES Restringe a los usuarios locales para que solo

puedan visualizar su correspondiente /home.

write_enable=YES Permite a los usuarios escribir o modificar archivos.

anonymous_enable=YES Permite conectarse a usuarios anónimos.

ftp_banner=Bienvenido Contiene el mensaje de bienvenida que se mostrará

al cliente.

chroot_list_enable=YES Permite desenjaular a un usuario (imprescindible

que el nombre del usuario aparezca en el siguiente archivo).

chroot_list_file=/etc/vsftpd.chroot_list Indica la ruta del archivo donde

aparecen los nombres de usuarios que queremos desenjaular.

xferlog_enable=YES Permite mantener un control detallado sobre cargas y

descargas escribiendo en un archivo de registros.

xferlog_file=/var/log/vsftpd.log Es el nombre del archivo en el que se

escribe el registro de transferencias. El registro de transferencia sólo se escribe si

se establece la opción anterior está activada.

Para aplicar las directivas deseadas basta con descomentar la opción deseada.

Para esta práctica vamos a aplicar las directivas adecuadas para que los usuarios solo

puedan ver su /home y que puedan “escribir” en él.

Page 5: Instalación y configuración Servidor FTP y SSH

Servidores FTP y SSH

Francisco José Cruz Jiménez

5

Para que los cambios en la configuración surtan efecto debemos reiniciar el

servicio.

# service vsftpd restart

Una vez hecho esto ya tenemos configurado el servidor FTP, para probarlo con un

usuario que no sea root, creamos un usuario.

# useradd fran

# passwd fran

También tenemos que crear el /home del usuario sino se lo hemos pasado por

parámetros al comando useradd y darle permiso para todo para el usuario.

# mkdir /home/fran

Clientes FTP

Para probar esta vez si nos podemos conectar al servicio usando nuestro usuario

lo vamos a hacer con Filezilla, que es un cliente FTP que admite logueos entre otras

muchas cosas. Una vez iniciado el programa, le damos la dirección IP del servidor,

usuario y contraseña, si todo va bien y está configurado correctamente, nos mostrará el

/home del usuario.

Page 6: Instalación y configuración Servidor FTP y SSH

Servidores FTP y SSH

Francisco José Cruz Jiménez

6

Ya podemos agregar archivos y carpetas al /home desde FTP, tan solo hay que

arrastrar los archivos que queramos añadir a la parte derecha de la pantalla, y por

supuesto también podemos descargar. Podemos probarlo creando un archivo en

/home/fran (hay que tener en cuenta los permisos si lo hacemos como root).

$ echo “HOLA” > /home/fran/prueba

Page 7: Instalación y configuración Servidor FTP y SSH

Servidores FTP y SSH

Francisco José Cruz Jiménez

7

Configuración segura de FTP

Un problema que acarrea el uso de FTP es que no es seguro, la comunicación se

hace en texto plano sin ningún tipo de cifrado (tanto los datos para loguearse, como las

transferencias), es decir, si cuando nos logueamos al servidor somos víctima de un

MitM, el atacante capturará nuestro usuario y contraseña. Para solucionar este problema

haremos una configuración segura de FTP usando TLS, para ello necesitamos openssl.

# apt-get install openssl

Una vez instalado, crearemos el certificado SSL que algo necesario para poder

usar TTS, primero tenemos que crear la carpeta donde se ubicará este.

# mkdir -p /etc/ssl/private

# chmod 700 /etc/ssl/prívate

# openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout

/etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Al ejecutar esto último nos pedirá una serie de datos, los contestamos conforme

como queramos.

Page 8: Instalación y configuración Servidor FTP y SSH

Servidores FTP y SSH

Francisco José Cruz Jiménez

8

Ahora en el archivo de configuración de vsftpd tenernos que habilitar o añadir

las siguientes opciones (algunas ya estaban habilitadas del paso anterior).

# nano /etc/vsftpd.conf

ssl_enable=YES

allow_anon_ssl=YES

force_local_data_ssl=YES

force_local_logins_ssl=YES

ssl_tlsv1=YES

ssl_sslv2=NO

ssl_sslv3=NO

require_ssl_reuse=NO

ssl_ciphers=HIGH

rsa_cert_file=/etc/ssl/private/vsftpd.pem

local_enable=YES

write_enable=YES

local_umask=022

chroot_local_user=YES

Page 9: Instalación y configuración Servidor FTP y SSH

Servidores FTP y SSH

Francisco José Cruz Jiménez

9

A continuación reiniciamos el servicio y probamos en Filezilla si podemos

conectarnos usando esta configuración segura.

# service vsftpd restart

Seleccionamos Gestor de sitios… Nuevo sitio

Aceptamos el certificado y ya estamos conectados:

Page 10: Instalación y configuración Servidor FTP y SSH

Servidores FTP y SSH

Francisco José Cruz Jiménez

10

Page 11: Instalación y configuración Servidor FTP y SSH

Servidores FTP y SSH

Francisco José Cruz Jiménez

11

Instalación y configuración de un servidor NAS con

OPENMEDIAVAULT

Para esta parte de la práctica usaremos una máquina virtual con Debian que

tenga montado OpenMediaVault, la máquina estará configurada como la anterior, en

Adaptador Puente, para que se sitúe en la misma red que la máquina real.

Una vez que tengamos iniciada la máquina Debian, nos vamos a un navegador

en la máquina real y ponemos en la barra de direcciones la IP del servidor.

192.168.1.15

Configuración de un sistema RAID 1

Para configurar un RAID 1 necesitamos dos discos duros más, para ello lo

agregamos en la configuración de la máquina en VirtualBox.

Page 12: Instalación y configuración Servidor FTP y SSH

Servidores FTP y SSH

Francisco José Cruz Jiménez

12

Una vez dentro de OpenMediaVault, nos vamos a Almacenamiento Gestión de RAID

Crear y seleccionamos lo siguiente:

Ahora vamos a Almacenamiento Sistemas de archivos Crear y

seleccionamos el RAID. Posteriormente los montamos.

Page 13: Instalación y configuración Servidor FTP y SSH

Servidores FTP y SSH

Francisco José Cruz Jiménez

13

Ya tenemos el RAID 1 configurado y funcionando.

Gestión de credenciales (usuarios y grupos)

A continuación crearemos unos usuarios y un grupo para posteriormente

compartir una carpeta por FTP. Para ello nos vamos a Administracion de permisos de

acceso Grupos Añadir y creamos nuestro grupo.

Posteriormente creamos los usuarios (es indiferente el orden) Administracion de

permisos de acceso Usuarios Añadir

Page 14: Instalación y configuración Servidor FTP y SSH

Servidores FTP y SSH

Francisco José Cruz Jiménez

14

Compartición de carpetas y gestión de permisos (ACL)

Ahora crearemos una carpeta compartida, para ello vamos a Administracion de

permisos de acceso Carpeta compartidas Añadir

Page 15: Instalación y configuración Servidor FTP y SSH

Servidores FTP y SSH

Francisco José Cruz Jiménez

15

Ahora en Administracion de permisos de acceso Carpeta compartidas

Privilegios (no hace falta dar privilegios a usuarios, ya que pertenecen al grupo).

También modificamos en Administracion de permisos de acceso Carpeta

compartidas ACL

Page 16: Instalación y configuración Servidor FTP y SSH

Servidores FTP y SSH

Francisco José Cruz Jiménez

16

Configuración del servicio FTP

Ahora configuraremos el servicio FTP, pero antes hay que crear un certificado

para utilizarlo para conexiones seguras. Para ello vamos a Sistema Certificados

Añadir.

Luego en Servicios FTP seleccionamos habilitar FTP y en SSL/TLS

habilitamos lo siguiente:

Page 17: Instalación y configuración Servidor FTP y SSH

Servidores FTP y SSH

Francisco José Cruz Jiménez

17

Tras esto solo nos queda configurar una cosa en la máquina de openmediavault,

porque si no nos dará error al conectar. Ir al directorio /etc/proftpd y editar el fichero

proftpd.conf y añadir la siguiente directiva:

TLSOptions NoSessionReuseRequired

Luego en Filezilla nos conectaremos como un usuario de los creados.

Aceptaremos el certificado y ya nos hemos conectado.

Page 18: Instalación y configuración Servidor FTP y SSH

Servidores FTP y SSH

Francisco José Cruz Jiménez

18

Page 19: Instalación y configuración Servidor FTP y SSH

Servidores FTP y SSH

Francisco José Cruz Jiménez

19

Instalación y configuración del servicio SSH

Para instalar el servidor SSH voy a utilizar la misma máquina que donde instalé

el servicio FTP con VSFTPD. La configuración de red que tenemos de esta nos vale, no

hay que realizar ningún cambio.

Para empezar instalaremos SSH

# apt-get install ssh

Para comprobar si está activo y a la escucha, hacemos lo de siempre:

# ps aux | egrep ssh

# netstat –natup | egrep 22

En SSH nos encontramos dos archivos de configuración, uno del servidor y otro de

cliente, se pueden encontrar en esta dirección: /etc/ssh/shhd_config ----- archivo de configuración servidor /etc/ssh/shh_config -----archivo de configuración cliente

En la configuración del cliente existen estas directivas, que son las mas importes:

listen address Interfaz /ces donde está escuchando.

Port Indica el puerto de conexión.

Permitrootlogin Permite la conexión de root.

Protocol 2 Indica versión ssh2. También existe un archivo que guarda todos los servidores a donde se aconectado el

cliente, es este: ~/.ssh/known_hosts Para usar certificados debemos habilitar las siguientes directivas:

# nano /etc/ssh/sshd_config

Page 20: Instalación y configuración Servidor FTP y SSH

Servidores FTP y SSH

Francisco José Cruz Jiménez

20

Luego en el cliente generamos una key con:

$ ssh-keygen

Y las copiamos al servidor en /home/usuario/.shh/autorized_keys (ubicación por

defecto, se puede cambiar en la configuración).

$ ssh-copy-id -i [email protected]

Cliente SSH

Como cliente SSH podemos usar el cliente que SSH en la terminal de Ubuntu o

cualquier SO Linux. En Windows tenemos la opción de conectar con PuTTY, se trata

de un .exe que no requiere instalación. Para conectarnos hacemos lo siguiente:

Page 21: Instalación y configuración Servidor FTP y SSH

Servidores FTP y SSH

Francisco José Cruz Jiménez

21

Para realizar la conexión con Ubuntu basta con ejecutar:

$ ssh [email protected]

También existe una herramienta para copiar archivos, esta es scp y la usamos

así:

$ scp <archivo_a_copiar> [email protected]:<ubicación_destino>

Page 22: Instalación y configuración Servidor FTP y SSH

Servidores FTP y SSH

Francisco José Cruz Jiménez

22

Creación de túneles SSH

Un túnel SSH nos permite encriptar la conexiones que se realice por el puerto

que queramos, por ejemplo si lo hago con el 80, navegaré sin importar, por ejemplo, si

entro a una página https o http, siempre será seguro (encriptado).

Para crear un túnel SSH ejecutamos lo siguiente (siendo 3000 el puerto que

elegimos para la conexión):

$ ssh -L 3000:127.0.0.1:80 [email protected]