¿Vale la pena verificar el nombre de host de la solicitud en las comunicaciones de API a API?

5

Al autenticar desde una aplicación del navegador a una capa API, puede verificar el origen de la solicitud para las solicitudes CORS. Soy consciente de que esto es principalmente para prevenir los ataques CSRF. No impide que un atacante acceda al punto final por sí mismo, pero sí evita que el atacante secuestre el navegador de un usuario desprevenido sin saberlo con una solicitud AJAX, cuando el usuario está en un dominio bajo el control del atacante.

Mi pregunta es, ¿hay algún beneficio en la verificación del origen de la solicitud cuando se implementa una comunicación API a API? Por ejemplo, digamos que se construyen dos API para tramitar las solicitudes entre sí, usando un secreto compartido (por simplicidad, una clave API, pero, según las necesidades de acceso, podría ser aplicable un enfoque más avanzado como OAuth). Además de verificar la clave de la API, ¿debería el servidor verificar el host de la solicitud para confirmar que se originó en un servidor de API confiable? ¿O es un host de solicitud fácilmente falsificable (ya que la solicitud vendría de otro servidor con control completo de los encabezados que envía en la solicitud HTTP) y, por lo tanto, tal comprobación sería inútil?

    
pregunta M Miller 10.12.2017 - 20:49
fuente

1 respuesta

1

La verificación del nombre de host no le proporciona ninguna garantía adicional de autenticidad. Si se asume que, además de usar un secreto compartido, las API pueden verificar las claves privadas de cada uno, se obtiene una garantía bastante sólida de que son quienes dicen ser. Cualquiera que sea capaz de robar dichas claves privadas para suplantar completamente a uno de los hosts podrá alterar de forma trivial el nombre de host.

    
respondido por el forest 19.12.2017 - 05:26
fuente

Lea otras preguntas en las etiquetas