Para proteger su API HTTP pública (denominada REST), mi cliente me pide que implemente un proxy HTTP inverso simple que verifique (OAuth 2.0) tokens de acceso y reenvíe las solicitudes HTTP a los servicios web internos para su procesamiento.
La idea es que mi cliente tenga una seguridad de nivel de red "fuerte": las diversas aplicaciones web que se encuentran detrás del proxy no tendrían restricciones de seguridad ya que no se puede acceder a ellas desde el exterior. Quieren mantener la depuración fácil cuando múltiples servicios internos se llaman entre sí. Http simple para llamadas internas, no TLS.
Pienso que es una idea terrible dejar las aplicaciones internas "abiertas" porque cualquier atacante que logre ingresar dentro de la red tiene básicamente acceso gratuito a datos confidenciales (texto claro) del cliente ... y el historial parece probar que pasa mucho Desde un punto de vista operativo, será difícil aplicar restricciones de grano fino como ACL desde un proxy (OAuth scopes / URL matching), y mantener la configuración actualizada cuando se implementen nuevos servicios.
¿Ves algo que me estoy perdiendo? ¿Algún argumento adicional para implementar la seguridad a nivel de la aplicación?
EDITAR: Algunos detalles importantes que no mencioné / expliqué claramente:
- Las aplicaciones web de las que estoy hablando aquí (que se esconden detrás de un proxy de seguridad) son servicios web.
- Las aplicaciones web con interfaces de usuario ("sitios" públicos / internos) están en otra zona de red y tienen cierta seguridad decente en el nivel de la aplicación en comparación con los servicios web en cuestión.
La seguridad de red "sólida" que mencioné se refiere a zonas, usuarios finales (y usuarios no autorizados) en teoría no pueden acceder a los servicios web directamente (solo a través del proxy). Supongo que las operaciones aún podrían ofrecer algún tipo de ruta cuando acceden a las máquinas, como se indica en las respuestas.