Francisco José Cruz Jiménez 2º ASIR
SRI SERVIDORES 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
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
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.
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.
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
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.
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
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:
Servidores FTP y SSH
Francisco José Cruz Jiménez
10
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.
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.
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
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
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
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:
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.
Servidores FTP y SSH
Francisco José Cruz Jiménez
18
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
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:
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>
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]
Top Related