Configuriamo l'ambiente prima di venire alla mia domanda.
- Abbiamo un'applicazione web che sarà accessibile dai browser / client su HTTPS.
- Monstly accessibile solo nella intranet (raramente su Internet)
- Frontend utilizzando Angolare
- Backend utilizzando Java-EE
Ora sono venuto a discutere con i miei colleghi per una mia preoccupazione.
La comunicazione tra il frontend e il backend è completamente non criptata, con il risultato che le credenziali di un utente che effettua l'accesso inviano tramite il testo completamente trasparente della intranet / internet. Inoltre inseriranno dati sensibili che sono un segreto dell'azienda (ingredienti, proporzioni, ecc.).
Aggiungendo il fatto che abbiamo integrato la possibilità di accesso LDAP alla nostra applicazione, questo fatto mi sembra molto rischioso, probabilmente risultante in un punto di accesso per ottenere maggiori informazioni dall'intranet (ottenere credenziali LDAP e accedere a più servizi e macchine).
I miei colleghi hanno detto che non c'è nulla di cui preoccuparsi poiché la comunicazione tra client e server è stabilita su HTTPS.
Tuttavia, non sono riusciti a convincermi di aver fornito un solo argomento, soprattutto perché ci sono problemi noti come Stripping SSL, MITM o persino analisi del traffico. So che dovrei preoccuparmi solo di quelli se non configuriamo tutto correttamente, ma questo è anche un mio problema.
Sono sul punto che dovremmo criptare la comunicazione tra client e server in aggiunta a qualcosa come Jose4J . Ciò garantirebbe che anche in caso di violazione della Intranet o di problema HTTPS i dati sensibili sarebbero ancora segreti. Sarebbe anche più difficile analizzare il traffico.
Ora volevo ottenere una risposta che fornisse più fatti e una conclusione migliore rispetto a "ma stiamo usando https".
L'utilizzo di HTTPS solo per un'applicazione web che si occupa di dati sensibili è "sicuro" sufficiente?