Ft py ssh_fco_javier_mejías_fernández

19
Autor: Fco Javier Mejías Fernández FTP y SSH 2013 [Status]

Transcript of Ft py ssh_fco_javier_mejías_fernández

Page 1: Ft py ssh_fco_javier_mejías_fernández

Autor: Fco Javier Mejías Fernández

FTP y SSH

2013

[Status]

Page 2: Ft py ssh_fco_javier_mejías_fernández

Fco Javier Mejías Fernández 2

-FTP y SSH -

FTP y SSH

Índice FTP ........................................................................................................................................................................ 3

Instalación y configuración del servicio FTP en Linux con VSFTPD. ................................................................. 3

Cliente FTP ........................................................................................................................................................ 4

Configuración segura de FTP ............................................................................................................................ 6

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

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

Crear usuario grupos y carpetas compartidas. ...............................................................................................12

Configuración del servicio FTP (tanto sin certificado como con certificado) .................................................14

SSH ......................................................................................................................................................................17

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

Cliente SSH ......................................................................................................................................................17

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

Page 3: Ft py ssh_fco_javier_mejías_fernández

Fco Javier Mejías Fernández 3

-FTP y SSH -

FTP

Instalación y configuración del servicio FTP en Linux con VSFTPD. -Configuramos la red como adaptador puente:

-Una vez iniciado el sistema procedemos a la instalación del servicio FTP, para ello utilizamos el

siguiente comando:

apt-get install vsftpd

-Para iniciar FTP utilizamos el siguiente comando, con el comando ps comprobamos que está en

proceso:

service vsftpd start

ps aux|grep ftp

-Para poder configurar FTP, tenemos el fichero de configuración /etc/vsftpd.conf, en el podemos

habilitar o deshabilitar las directivas, en las que podemos encontrar las siguientes. Cada vez que

cambiemos una directiva tendremos que reiniciar el servicio que lo haremos con este comando:

service vsftpd restart

Para poder conectarnos al servidor con usuarios del sistema y poder escribir,

descomentamos las siguientes líneas.

Page 4: Ft py ssh_fco_javier_mejías_fernández

Fco Javier Mejías Fernández 4

-FTP y SSH -

Para permitir que los usuarios anónimos se conecten, pueden ser anonymous o ftp y sin

contraseña. Por defecto esta activada, en caso de que no queramos poner NO:

Para que los usuarios puedan ver solo su directorio personal y no el de los demás usuarios, esto lo

hacemos por motivos de seguridad, en ese caso descomentamos la siguiente directiva :

Para cambiar el mensaje de bienvenida, que será mostrado al usuario cuando se conecte. El

comentario lo introducimos después del igual. Para ello descometamos la siguiente directiva:

Para enjaular a usuario, esto significa que los usuarios que metamos en la carpeta descrita en esa

directiva puedan ver las carpetas personales de los demás usuarios. Para ello tendremos que realizar

lo siguiente:

La el fichero que asignamos en la directiva chroot_list_file tendremos que crearlo, al fichero lo podemos

llamar de la forma que queramos siempre y cuando en la directiva se llame de la misma manera, en este

caso sería:

nano /etc/vsftpd.chroot_list

Cliente FTP

Primero creamos un usuario:

adduser usuario

Posteriormente nos conectamos y nos dirigimos al directorio personal del usuario:

su usuario

Page 5: Ft py ssh_fco_javier_mejías_fernández

Fco Javier Mejías Fernández 5

-FTP y SSH -

Luego para mostrar un ejemplo creamos una carpeta en el directorio personal del usuario:

mkdir ejemploFTP

Una vez credo el usuario y la carpeta, haremos la comprobación mediante un cliente, en este caso

será FileZilla, para ello tenemos que saber la IP del servidor FTP, el nombre del usuario y la

contraseña. Realizándolo de esta manera:

Ahora podemos también meter contenido en la carpeta ejemploFTP,un ejemplo para ello es desde el

servidor FTP crear un fichero:

nano /home/usuario/ejemploFTP/ejemplo.txt

Posteriormente no dirigimos al fileZilla, para comprbar si en el contenido de la carpeta ejemplo se

crea el fichero:

Page 6: Ft py ssh_fco_javier_mejías_fernández

Fco Javier Mejías Fernández 6

-FTP y SSH -

También podemos pasar contenido desde nuestra maquina al servidor FTP, lo haremos desde

FileZilla de esta manera y estando conectado en la cuenta mejias. Para ello solo tendremos que

arrastrar el contenido hacia la carpeta creada:

Luego comprobamos en el servidor que sea realizado bien la transferencia del archivo:

Configuración segura de FTP Como estamos en un equipo Windows para que nos sea mas fácil la copia de los comandos de esta

parte de la práctica la realizaremos desde el Putty, para ello tendremos que instalar SSH en el

servidor FTP. Lo realizaremos siguiendo los siguientes pasos:

En el servidor FTP:

apt-get install ssh

Una vez instalado SSH iniciamos el Putty y metemos la IP del servidor FTP, de esta manera:

Luego pulsamos en open, y nos pedirá el usuario y la contraseña:

Page 7: Ft py ssh_fco_javier_mejías_fernández

Fco Javier Mejías Fernández 7

-FTP y SSH -

Una vez conectados pasamos a instalar el siguiente comando, ya que OpenSSL es necesario para TLS:

apt-get install vsftpd openssl

Para utilizar TLS, debemos crear una carpeta private donde también le daremos unos permisos,

con los siguientes comando:

mkdir -p /etc/ssl/private

chmod 700 /etc/ssl/private

Después generamos el certificado SSL, de la siguiente manera:

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Luego nos pedirá la siguiente información, que tendremos que rellenar:

Nombre del país (código de 2 letras) [AU]: <- Introduce el nombre del país (por ejemplo, "DE").

Estado o Provincia Nombre (nombre y apellidos) [Some-Estado]: <- Ingrese tu Estado o

Nombre Provincia.

Nonbre de la localidad: <- Ingrese tu localidad

Nombre de la organización <- Introduce el nombre de la organización (por ejemplo, el nombre de su

empresa).

Nombre de la organización de la unidad <- Ingrese su nombre Unidad administrativa (por ejemplo,

"Departamento de IT").

Nombre común: <- Introduzca el nombre de dominio completo del sistema (por ejemplo,

"server1.example.com").

Dirección de correo electrónico: <- Introduce tu correo electrónico.

Para habilitar TLS habrá que añadir las siguientes directivas en el fichero vsftpd.conf:

nano /etc/vsftpd.conf

# Turn on SSL

ssl_enable=YES

# Allow anonymous users to use secured SSL connections

allow_anon_ssl=YES

# All non-anonymous logins are forced to use a secure SSL

connection in order to

# send and receive data on data connections.

force_local_data_ssl=YES

Page 8: Ft py ssh_fco_javier_mejías_fernández

Fco Javier Mejías Fernández 8

-FTP y SSH -

# All non-anonymous logins are forced to use a secure SSL

connection in order to send the password.

force_local_logins_ssl=YES

# Permit TLS v1 protocol connections. TLS v1 connections are

preferred

ssl_tlsv1=YES

# Permit SSL v2 protocol connections. TLS v1 connections are

preferred

ssl_sslv2=NO

# permit SSL v3 protocol connections. TLS v1 connections are

preferred

ssl_sslv3=NO

# Disable SSL session reuse (required by WinSCP)

require_ssl_reuse=NO

# Select which SSL ciphers vsftpd will allow for encrypted SSL

connections (required by FileZilla)

ssl_ciphers=HIGH

Luego reiniciamos el servicio:

Service vsftpd restart

Posteriormente nos vamos al FleZilla para comprobar que ha creado el certificado, donde nos

tendremos que conectar mediante un gestor de sitio, con un cifrado sobre TLS, tendremos que

poner la IP del servidor FTP y el usuario y contraseña creado en el certificado SSL:

Luego solo tendremos que aceptar el certificado:

Page 9: Ft py ssh_fco_javier_mejías_fernández

Fco Javier Mejías Fernández 9

-FTP y SSH -

Instalación y configuración de un servidor NAS con OPENMEDIAVAULT Para ello necesitamos una maquina con el openmediavaultinstalado, en este caso utilizaremos un

debian.

Luego para poder conectar openmediavaultinstalado mediante la web, tenemos que introducir la IP

der servidor debian.

Posteriormente nos aparecerá un login, donde pondremos usuario:admin y

contraseña:openmediavault:

Page 10: Ft py ssh_fco_javier_mejías_fernández

Fco Javier Mejías Fernández 10

-FTP y SSH -

Configuración de un sistema RAID 1 Para poder realizar esta práctica tenemos que agregar dos disco sata a la máquina virtual, lo

realizamos de la siguiente manera:

Seleccionamos nuevo disco, y lo configuramos:

Quedando así:

Una vez tenemos dos disco en la máquina, nos dirigimos al openmediavaultinstalado, y

seleccionamos la opción Gestión de RAID, y luego en crear:

Page 11: Ft py ssh_fco_javier_mejías_fernández

Fco Javier Mejías Fernández 11

-FTP y SSH -

Luego ponemos nivel espejo, y seleccionamos los discos:

Una vez creado pasaremos a montar, que lo haremos de la siguiente manera, nos iremos a

sistema de archivos y pulsaremos en crear:

Posteriormente en dispositivo seleccionamos el RAID creado y le damos un nombre:

Por último, lo seleccionamos y pulsamos en montar:

Page 12: Ft py ssh_fco_javier_mejías_fernández

Fco Javier Mejías Fernández 12

-FTP y SSH -

Crear usuario grupos y carpetas compartidas. Para ello primero crearemos los usuarios, seleccionando la opción usuario y a la opción

añadir:

Metemos la información del usuario que vamos a crear, en este caso crearemos dos

usuarios:

Ahora creamos el grupo, para ello seleccionamos la opción grupo y añadir:

Page 13: Ft py ssh_fco_javier_mejías_fernández

Fco Javier Mejías Fernández 13

-FTP y SSH -

Introducimos la información para crear el grupo y seleccionamos a los usuarios :

Una vez creado los usuarios y los grupos, crearemos la carpeta compartida, seleccionando la

opción carpeta compartida y añadir:

Luego ponemos la información, en volumen ponemos el RAID creado:

Page 14: Ft py ssh_fco_javier_mejías_fernández

Fco Javier Mejías Fernández 14

-FTP y SSH -

Luego para darle los permisos a la carpeta, la seleccionamos la carpeta y pulsamos en

privilegios:

Y por último le podemos dar los permisos deseados:

Configuración del servicio FTP (tanto sin certificado como con certificado) Sin certificado : Para probar la práctica, primero tendremos que tener un usuario creado

posteriormente, en la pestaña FTP hacemos lo siguiente:

Page 15: Ft py ssh_fco_javier_mejías_fernández

Fco Javier Mejías Fernández 15

-FTP y SSH -

Una vez finalizado esto desde FileZilla lo probamos, introduciendo la IP del servidor FTP , el

usuario y la contraseña:

Con certificado: Para ello nos vamos a la pestaña certificado y añadimos uno nuevo:

Y posteriormente introducimos la información:

Page 16: Ft py ssh_fco_javier_mejías_fernández

Fco Javier Mejías Fernández 16

-FTP y SSH -

Una vez creado el certificado nos dirigimos a la pestaña FTP y ya dentro al SSL/TSL, y

añadamos el certificado y seleccionamos las siguientes pestañas:

Luego lo probamos mediante el fileZilla, siguiendo estos pasos:

Y aceptamos el certificado:

Page 17: Ft py ssh_fco_javier_mejías_fernández

Fco Javier Mejías Fernández 17

-FTP y SSH -

SSH

Instalación y configuración del servicio SSH El comando de instalación de SSH es el siguiente:

apt-get install ssh

La dirección del fichero de configuración en SSH es el siguiente:

nano /etc/ssh/sshd_config

En el podemos configurar las siguientes cosas, como por ejemplo:

-Para asignar a una interface para que entren por ella las peticiones,Primero tener dos

interfaces en el PC. Posteriormente descomentamos la siguiente directiva:

- Para denegar el acceso a los uusrios root, poner No en la siguiente directiva:

-Para poder identificarnos con claves asimétricas:

Cliente SSH Primero creamos un usuario en el servidor SSH:

adduser usuario

Una vez creado el usuario nos conectamos por ejemplo desde putty, de esta manera:

-Primero metemos la ip del servidor SSH:

-Luego meter usuario creado y la contraseña:

Page 18: Ft py ssh_fco_javier_mejías_fernández

Fco Javier Mejías Fernández 18

-FTP y SSH -

-Por último introducimos el siguiente comando para poder conectarnos:

ssh usuario@ip_servidor_ssh

-Luego nos pedirá la contraseña del usuario creado y nos conectaremos.

Creación de túneles SSH Primero nos iremos a un cliente_SSH que en este caso utilizaremos Ubuntu, y ejecutamos el

siguiente comando para crear tanto la contraseña pública como la privada:

ssh-keygen –t rsa

-El primer dato a rellenar es la dirección donde se guardara los dos ficheros.

-y luego la contraseña.

Luego nos creara dos ficheros que se lo debemos pasar al servidor_ssh, con el siguiente

comando. Este fichero se crea en el servidor_ssh en la carpeta:

nano /etc/.ssh/authorized_keys

-El comando que utilizamos en el cliente para pasar la clave pública al servidor es el

siguiente:

ssh-copy-id –i usuario_root_ssh@ip_servidor_ssh

Page 19: Ft py ssh_fco_javier_mejías_fernández

Fco Javier Mejías Fernández 19

-FTP y SSH -

Por último para poder conectarnos desde el cliente poner el siguiente comando:

ssh root@ip_servidor_ssh

-luego en esta ventana tendremos que meter la clave que hemos creado en el certificado que será la

clave pública: