Configuremos el entorno antes de responder a mi pregunta.
- Tenemos una aplicación web a la que podrán acceder los navegadores / clientes a través de HTTPS.
- Sólo se puede acceder a Monstly en la intranet (rara vez a través de Internet)
- Frontend usando Angular
- Backend usando Java-EE
Ahora llegué a una discusión con mis colegas sobre una de mis preocupaciones.
La comunicación entre el frontend y el backend está completamente sin cifrar, lo que da como resultado que las credenciales de un usuario que inicia sesión envían a través de la intranet / internet un texto completamente claro. También ingresarán datos confidenciales, que es un secreto de la empresa (ingredientes, proporciones, etc.).
Agregando el hecho de que integramos la posibilidad de inicio de sesión LDAP a nuestra aplicación, este hecho me parece muy arriesgado, posiblemente resultando en un punto de entrada para obtener más información de la intranet (obtener credenciales LDAP y acceder a más servicios y máquinas). >
Mis colegas dijeron que no hay nada de qué preocuparse ya que la comunicación entre el cliente y el servidor se establece a través de HTTPS.
Sin embargo, no pudieron convencerme de que solo proporcionaran ese único argumento, especialmente porque existen problemas conocidos como SSL Stripping, MITM o incluso el análisis de tráfico. Sé que solo debería preocuparme por ellos si no configuramos todo correctamente, pero eso también es una preocupación mía.
Estoy en el punto de que debemos cifrar la comunicación entre el cliente y el servidor además con algo como Jose4J . Eso garantizaría que, incluso en una violación de la intranet o un Problema HTTPS, los datos confidenciales sigan siendo un secreto. También sería más difícil analizar el tráfico.
Ahora quería obtener una respuesta que proporcione más datos y una conclusión mejor que solo "pero estamos usando https".
¿El uso de HTTPS solo para una aplicación web que trata con datos confidenciales es lo suficientemente "seguro"?