Caricamento di file tramite un'applicazione Web HTTPS

2

Abbiamo un sito Web rivolto al cliente. È necessario un certificato per atterrare sulla pagina di accesso, dove su di te occorre quindi un username e un password per un ulteriore accesso. Il sistema ha server Apache che agiscono come load balancers in primo piano e quindi server Tomcat che servono l'applicazione. Tutto OK finora, ma ora vogliamo fornire agli utenti la capacità di caricare i file per caricare in massa le modifiche alla configurazione delle impostazioni all'interno dell'applicazione.

Qualche idea sul miglior approccio? È possibile stabilire una vera connessione SFTP sul collegamento HTTPS già stabilito e autenticato in qualche modo? Se no, come? Pensieri?

    
posta ninky-nonk 04.07.2013 - 15:06
fonte

3 risposte

2

Is it possible to establish a true SFTP connection over the already established and authenticated https link somehow?

Sì, se riscrivi l'implementazione HTTPS nel server e nel client e scrivi un client SFTP personalizzato e risolvi il problema della condivisione di un socket tra diversi processi ....

Perché non usi semplicemente HTTP (su SSL) per carica il file ?

    
risposta data 04.07.2013 - 15:23
fonte
1

SFTP è un altro protocollo. SFTP è costruito su SSH (precisamente, sul protocollo di trasporto utilizzato anche da SSH). Potresti pensare a FTPS , che è FTP-con-SSL. Tuttavia, non esiste un modo semplice (o persino difficile) per mescolare il traffico HTTP e FTP sulla stessa sessione SSL.

Se ti sei preso la briga di stabilire una sessione HTTPS sicura e autenticata, il mio consiglio sarebbe di usarlo e fornire un sistema di caricamento basato sul Web. Il caricamento di singoli file è abbastanza facile . Per i caricamenti collettivi, vorrai un'interfaccia utente più ricca (per selezionare molti file, caricare le directory in modo ricorsivo, ...) e, per questo, avrai bisogno di un codice sul lato client (non Javascript, però, ma codice che ha pieno accesso ai file locali). È un po 'complicato riutilizzare una sessione Web esistente (ad esempio, se il codice locale è un'applet Java firmata, l'applet deve consegnare il contenuto del file a un codice JavaScript, che poi effettuerà il caricamento attraverso il browser). Alcuni punti googling di base per CuteUpload , che è un controllo ActiveX (quindi limitato a Windows + IE). In alternativa, distribuire agli utenti alcune applicazioni (che possono essere applet Java firmate) che aprono la connessione al server e eseguono l'autenticazione stessa (invece di utilizzare il browser), a quel punto si esegue ciò che si desidera. Se questo è applicabile a te in realtà dipende dal tuo contesto esatto.

    
risposta data 04.07.2013 - 17:32
fonte
0

Se hai già un sistema di autenticazione client basato su certificati, hai già un canale sicuro. L'aggiunta di SFTP a quel mix non migliorerebbe la sicurezza ma aumenterebbe la complessità ed espanderebbe la superficie di attacco.

Tuttavia, ho una domanda: perché hai bisogno di un nome utente e una password dopo aver richiesto un accesso basato su certificato?

    
risposta data 04.07.2013 - 15:23
fonte

Leggi altre domande sui tag