Cargar archivos a través de una aplicación web HTTPS

2

Tenemos un sitio web orientado al cliente. Se requiere un certificado para aterrizar en la página de inicio de sesión, donde luego necesitará un username y un password para iniciar sesión. El sistema tiene servidores Apache que actúan como equilibradores de carga por adelantado y luego los servidores Tomcat que sirven la aplicación. Todo está bien hasta ahora, pero ahora queremos proporcionar la capacidad de carga de archivos para que los usuarios carguen de forma masiva los cambios de configuración en la configuración dentro de la aplicación.

¿Alguna idea sobre el mejor enfoque? ¿Es posible establecer una verdadera conexión SFTP sobre el enlace HTTPS ya establecido y autenticado de alguna manera? Si no, ¿cómo? ¿Pensamientos?

    
pregunta ninky-nonk 04.07.2013 - 15:06
fuente

3 respuestas

2
  

¿Es posible establecer una verdadera conexión SFTP a través del enlace https ya establecido y autenticado de alguna manera?

Sí, si reescribe la implementación de HTTPS en el servidor y el cliente, escribe un cliente SFTP personalizado y resuelve el problema de compartir un socket a través de diferentes procesos ...

¿Por qué no solo usas HTTP (sobre SSL) para subir el archivo ?

    
respondido por el symcbean 04.07.2013 - 15:23
fuente
1

SFTP es otro protocolo. SFTP se basa en SSH (precisamente, sobre el protocolo de transporte utilizado también por SSH). Puede pensar en FTPS , que es FTP-with-SSL. Sin embargo, no hay una manera fácil (ni difícil) de mezclar el tráfico HTTP y FTP en la misma sesión SSL.

Si se tomó la molestia de establecer una sesión HTTPS autenticada y segura, mi consejo sería utilizarla y proporcionar un sistema de carga basado en la Web. Subir archivos individuales es lo suficientemente fácil . Para las cargas masivas, querrá una interfaz de usuario más rica (para seleccionar muchos archivos, cargar directorios de forma recursiva, ...) y, para eso, necesitará algo de código en el lado del cliente (no Javascript, pero el código está completo). acceso a los archivos locales). Es un poco difícil reutilizar una sesión web existente (por ejemplo, si el código local es un applet de Java firmado, ese applet debe entregar el contenido del archivo a un código Javascript, que luego se cargará a través del navegador). Algunos puntos básicos de Google apuntan a CuteUpload , que es un control ActiveX (por lo tanto, limitado a Windows + IE). Alternativamente, distribuya a sus usuarios alguna aplicación (que puede ser un applet de Java firmado) que abrirá la conexión al servidor y realizará la autenticación por sí misma (en lugar de usar el navegador), momento en el que haga lo que quiera. Si esto es aplicable para usted realmente depende de su contexto exacto.

    
respondido por el Tom Leek 04.07.2013 - 17:32
fuente
0

Si ya tiene un sistema de autenticación de cliente basado en certificados, ya tiene un canal seguro. Agregar SFTP a esa mezcla no mejoraría la seguridad, pero aumentaría la complejidad y expandiría su superficie de ataque.

Sin embargo, tengo una pregunta: ¿por qué necesita un nombre de usuario y una contraseña después de solicitar un inicio de sesión basado en certificados?

    
respondido por el Stephane 04.07.2013 - 15:23
fuente

Lea otras preguntas en las etiquetas