Non sono un esperto di sicurezza, ma conosco alcuni concetti.
Abbiamo un'applicazione Web che attualmente utilizza applet Java per eseguire alcune operazioni sui file nel file system del client (sfoglia, crea, carica e scarica). Poiché il supporto dell'applet Java è stato rimosso. Stiamo progettando di andare per il server websocket lato client. Che verrà installato sul lato client quando viene tentata la prima volta tale operazione.
Sono preoccupato per la sicurezza di tale sistema. Fondamentalmente avremo 3 entità coinvolte.
- WebServer
- Browser
- Server Websocket client (noto anche come LocalServer)
Alcuni punti che sto considerando:
- Il plug-in dovrebbe accettare solo le connessioni da localhost
- Logica di autenticazione
- WebServer invierà qualche chiave di identificazione univoca al browser
- Il browser invierà lo stesso a LocalServer
- LocalServer inoltra lo stesso a WebServer per l'autenticazione.
- Accetterà la connessione dal browser solo se autenticato da WebServer.
Un punto importante è che il furto di dati non dovrebbe accadere quando il browser visita una pagina malevola. In pratica, LocalServer dovrebbe connettersi solo alle websocket della pagina WebServer.
Quali ulteriori punti devo considerare per rafforzare questo?
Se possibile, informa altri punti di considerazione per questo sistema.
Aggiornamento 1: LocalServer: può caricare, scaricare file solo dal server Web specifico.