Nuestro servidor tendrá que contar con los siguientes requisitos:
- Mensaje de bienvenida de nuestro servidor al conectarse
- Conexión anónima habilitada con las cargas de archivos deshabilitadas (anonymous)
- Los usuarios deben estar enjaulados
- Crear 3 usuarios con permisos diferentes de descarga
- Implementar seguridad utilizando SSH (sftp), también conocido como "Hardening"
Ubuntu 14.04 desktop
Empezaremos instando la aplicación vsftp (todo desde nuestra terminal)
Una vez instalado, antes de empezar a configurar todo, haremos una copia del fichero de configuración
Después procederemos a configurar el fichero, en el cual cambiaremos nuestro mensaje de bienvenida cuando alguien se conecte a nuestro servidor
Y este es el resultado
Configuramos el acceso a usuarios anónimos, y le especificamos el directorio en el que queremos que esté el usuario
En el directorio creado, añadiremos diferentes ficheros para hacer las pruebas de descarga desde el usuario anónimo
Probamos a conectarnos poniendo en el usuario anonymous y sin ingresar contraseña, e intentamos bajarnos los 3 archivos que hemos creado
Vemos que la acción se completa correctamente, y ahora intentamos subir archivos al servidor desde el mismo usuario
Y el servidor no nos deja subir archivos.
Ahora vamos a habilitar la conexión de usuarios locales, dándole su directorio (al cual le asignaremos los permisos convenientes) y activaremos que puedan subir archivos al servidor.
A continuación crearemos los usuarios (useradd), y le asignaremos sus respectivas contraseñas (passwd)
Y le añadimos archivos a la carpeta de usuarios
Hacemos las pruebas convenientes, para probar que los usuarios pueden descargar y cargar archivos del servidor
Vemos que los usuarios no están enjaulados, ya que pueden cambiar de directorio
Y para enjaularlos (no dejar que cambien de directorio) vamos al fichero /etc/vsftpd.conf y cambiamos los valores a las siguientes líneas
Probamos otra vez, a ver si ya no nos deja cambiar el directorio
Y efectivamente, así es.
Lo que ahora queremos, es que cada usuario esté en su propio directorio, y no en uno conjunto, lo conseguiremos creando sus carpetas, y asignándoselas a cada usuario.
Probamos si de verdad cumple con su función
Y cada uno está enjaulado en su directorio, sin poder cambiar a otro.
Para probar la seguridad del servidor, nos conectamos con una máquina virtual de Windows7, con el Wireshark escaneando, y vemos los datos que van sin cifrar
Para solucionar este fallo de seguridad, implementamos el servidor con FTP a SFTP, que consiste.
Para empezar, instalamos la aplicación openssh-server
Añadimos un directorio para los usuarios, chown root /srv/ftp/usuarios
Y antes de configurar, realizamos una copia del fichero de configuración
Y entramos en el fichero de configuración con el comando gedit /etc/ssh/sshd_config
Creamos el grupo de lo usuarios de FTP, y le asignamos los usuarios que queremos que pertenezcan a ese grupo
Vemos que cada carpeta tiene los propietarios convenientes.
Ahora procedemos a hacer las pruebas desde nuestra máquina virtual con Windows7 desde el FileZilla, con el Wireshark escaneando
Vemos que ahora, todos los paquetes de datos están encriptados, y ya no se ve el contenido.
También podemos probar a conectarnos desde la terminal de otro ubuntu, vía sftp, para comprobar que verdaderamente funciona nuestro servidor.
Excelente!
ResponderEliminarme podrias pasar el archivo vsftpd.conf antes de configurarlo
ResponderEliminarBuenas Eduardo,
EliminarComo te explico en el punto de configuración del fichero vsftpd.conf, solamente tienes que tener esas variables modificadas. (Para tener un FTP sencillo y funcional. Si quieres más configuraciones, en eso ya tendrás que indagar por tu cuenta).
Las variables a modificar son las siguientes:
- chroot_local_user=YES
- allow_writeable_chroot=YES
#
#
#
- chroot_local_user=YES
- chroot_list_enable=NO
Espero que te sirva de ayuda. No te puedo pasar ningun fichero, ya que esos servidores estaban hechos en máquinas virtuales, que ya han sido destruídas.
Saludos,
Raúl
Perdona por la demora en responder.
EliminarSaludos,
Raúl