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.