Buscaremos fortalecer la seguridad de nuestra institución y simplificar el intercambio de archivos mediante la implementación de un servidor FTP vsftpd. Asimismo, habilitaremos el acceso remoto al sistema a través de SSH.
En primer lugar, procederemos a actualizar el sistema mediante la ejecución de "apt update". Este comando se encarga de obtener la información más reciente sobre los paquetes disponibles en los repositorios y un "apt upgrade", este comando se utiliza para actualizar los paquetes instalados en el sistema a las versiones más recientes disponibles
INSTALACION Y CONFIGURACION DEL SERVIDOR VSFTPD
Un servidor vsftpd se utiliza para facilitar la transferencia de archivos a través de FTP, FTP es un protocolo estándar que permite la subida y bajada de archivos entre computadoras en una red, como internet. Procederemos a su instalación mediante:
"apt install vsftpd"
El archivo destinado a la configuración se localiza en la ruta /etc/vsftpd.conf, y nos disponemos a ajustar un conjunto de parámetros específicos:
anonymous_enable= Determina si se permite el acceso anónimo al servidor FTP. Si está configurado como "YES", los usuarios pueden acceder al servidor sin proporcionar credenciales de inicio de sesión
anon_root= Especifica el directorio raíz al que se redirige un usuario anónimo al acceder al servidor. Se nos pide que cuando se conecte de forma anónima, se acceda a los documentos del centro
local_enable= Determina si se permite o no el acceso a usuarios locales (usuarios del sistema) al servidor FTP.
write_enable= Controla si se permite o no la escritura de archivos por parte de los usuarios. Si está configurado como "YES", los usuarios tienen permisos para cargar o modificar archivos en el servidor.
Y reiniciaremos el servicio
Aprovecharemos además la ocasión para instalar FileZilla, una aplicación que actúa como cliente FTP, diseñada para facilitar la transferencia de archivos entre sistemas, es esencial prestar atención al hecho de que FileZilla se instalará en nuestro cliente. La instalación se llevará a cabo mediante la ejecución del comando
"apt install filezilla"
Ahora procederemos a habilitar una conexión mediante FTPS en Filezilla, en la cual se nos solicitará un certificado de seguridad.
Comenzaremos con la creación del certificado digital autofirmado mediante la ejecución de un comando de bastante extenso:
Con el certificado debidamente generado, procederemos a finalizar la configuración del archivo vsftpd.conf. Para ello, adicionaremos los siguientes parámetros:
Los dos primeros parámetros indican las ubicaciones predeterminadas de las claves.
ssl_enable= Determina si el SSL está habilitado en el servidor vsftpd. Si se establece como "YES", se activa la comunicación segura mediante SSL.
ssl_tlsv1= Controla el uso de la versión 1 de TLS en el servidor. Si se configura como "YES", se permite la comunicación mediante TLS versión 1
ssl_sslv2= Regula el uso de la versión 2 de SSL en el servidor. Si se configura como "YES", se permite la comunicación mediante SSL versión 2.
ssl_sslv3= Similar al parámetro anterior, este controla la utilización de la versión 3 de SSL en el servidor.
force_local_data_ssl y force_local_logins_ssl= se utilizan con el propósito de imponer la condición de que los usuarios locales solo puedan establecer conexiones mediante el protocolo SSL
allow_anon_ssl= Determina si se permite o no la conexión SSL para usuarios anónimos en un servidor FTP. Se nos pidió específicamente que esto no fuera posible
-----------------------------------------------------------------------------------------------------------------------
CLAVES PUBLICAS MEDIANTE SSH
En primer lugar, procederemos a la instalación del paquete SSH tanto en el servidor como en el cliente.
Estamos buscando establecer una conexión de cliente a servidor; por lo que, llevaremos a cabo todas las configuraciones en el cliente. Iniciaremos este proceso editando el archivo de configuración del cliente, ubicado en "/etc/ssh/sshd_config".
En primer lugar, habilitaremos una conexión segura a través del puerto 2222. Esta tarea se lleva a cabo de manera sencilla mediante la adición de la línea "Port 2222" al archivo.
Deberemos prohibir que el usuario root inicie sesión directamente a través de SSH, tan sencillo como escribir la linea correspondiente, "PermitRootLogin no"
El comando "ssh-keygen" nos permitirá la generación de las claves públicas deseadas. No especificaremos un directorio personalizado, ya que buscamos que se almacene en el directorio predeterminado, y tampoco proporcionaremos una contraseña, con el objetivo de permitir el acceso al administrador sin la necesidad de una clave de acceso adicional.
Transferimos las claves generadas al servidor para habilitar la conexión. Este procedimiento se realiza mediante el comando "ssh-copy", especificando tanto la ubicación del archivo como el destino, que consiste en el nombre de usuario y la dirección IP del servidor.
Y como hemos finalizado, reiniciamos el servidor
-----------------------------------------------------------------------------------------------------------------------
PRUEBAS DE FUNCIONAMIENTO
Como se puede apreciar, al iniciar sesión con el usuario "profesor", se recibe la notificación del certificado
Se permite la visualización de los archivos contenidos en su carpeta personal.
Y se posibilita la transferencia de archivos.
Se observa que al iniciar sesión como usuario anónimo, se produce un error. Este inconveniente se atribuye a la restricción previamente establecida en parámetros anteriores, concretamente en la configuración de "allow_anon_ssl", la cual impide la funcionalidad de acceso anónimo mediante SSL.
Se procederá a modificar el parámetro a "YES" únicamente en el momento en que se desee iniciar sesión, lo cual permitirá el acceso sin restricciones en ese momento específico.
Si no queremos que el usuario anónimo suba ficheros, que cree directorios o que borre o
renombre ficheros se editarán las directivas:
anon_upload_enable= NO
anon_mkdir_write_enable= NO
anon_other_write_enable= NO
No hay comentarios:
Publicar un comentario