¿Cuál es el enfoque más moderno para asegurar una API de back-end?

2

Ámbito de aplicación

Actualmente estamos desarrollando una API REST de back-end que es consumida por varias aplicaciones MVC. En este caso, solo estamos hablando de comunicación servidor-servidor y la API no será consumida directamente por ningún usuario. El entorno es puramente en Windows Server y es para mencionar que no hay planes en este momento para usar el directorio activo.

¿Cuál es la mejor manera de autenticar una aplicación de servidor (MVC) a la API de backend?

Teniendo en cuenta que todo se hace a través de https, en el momento en que estamos considerando  Certificado de cliente o autenticación basada en token (a través de Basic / Bearer).

Con ambos enfoques surgen muchos pros y contras y realmente lo haría  Me gusta tu ayuda para verificar, corregir y tal vez complementarlas.

Autenticación basada en token

  • Escala bien en caso de que decidamos usarlo para otras partes también
  • Sin certificados de cliente (instalación, renovación)

Autenticación de certificado de cliente

  • Amplia difusión en el entorno empresarial
  • Bien establecido
  • Cantidad manejable de clientes
  • Considerado por muchos como una de las opciones más seguras
  • No hay un punto único de falla (servidor de identidad auto hospedado)

Conclusión

Estoy bastante seguro de haber olvidado algunas importantes y aprecio cualquier tipo de aportación.

Además, dado el alcance anterior, ¿qué enfoque optaría?

    
pregunta HansMusterWhatElse 26.06.2017 - 10:08
fuente

1 respuesta

1

Mi consejo sería no preocuparse por la autenticación entre los servidores frontend y el servidor backend, sino configurar un canal seguro entre ellos. Desde un punto de vista arquitectónico, esto significa configurar todos los servidores en la misma zona de seguridad y evitar cualquier acceso externo al servidor. De ahí en adelante, si un servidor de aplicaciones para el usuario envía una solicitud al backend, simplemente pasa el ID de usuario y el backend confiará en que la solicitud solo puede provenir de un servidor confiable.

Esto es común en el centro de cómputo mediano a grande: la autenticación del usuario se realiza mediante los servidores MVC o en el caso de la autenticación del certificado X509 mediante proxies inversos, y los otros servidores solo confían en lo que el primer servidor ha puesto en la solicitud. que hizo la autenticación.

    
respondido por el Serge Ballesta 26.06.2017 - 11:34
fuente

Lea otras preguntas en las etiquetas