La seguridad de las APIs es un tema crítico para las empresas y su reputación, que no debe ser subestimado en una época en la que los ciberataques van en aumento. Por lo tanto, es importante que los desarrolladores de APIs tomen medidas adecuadas para proteger sus endpoints públicos de estos ataques.
En este artículo, exploraremos cómo securizar los endpoints públicos de las APIs. ¡Sigue leyendo!
¿Se puede securizar los endpoints públicos desde la web?
En la mayoría de aplicaciones, nos vemos obligados a dejar endpoints públicos para realizar login o bien para obtener información sobre nuestros productos, países..
En la mayor parte de webs, estos endpoints los dejan totalmente públicos, lo que hace que sea inseguro y bastante atacable por un DoS.
Para empezar debemos seleccionar la seguridad de dicho endpoint, sabiendo que será pública y obtenible por cualquier consumidor. Tenemos dos opciones:
1) Oauth2. Implicit. Este es el grant type recomendado por Oauth para este tipo de seguridad.
2) Apikey. Este apikey sería público, por lo que sólo debería valer para estos endpoints públicos.
3) Basic. No lo recomendaría en estos casos, puesto que debería no utilizarse la password.
Cómo securizar el endpoint
La seguridad que se ha descrito en el punto anterior sólo sirve para desarrollar un control de cuota por consumidor, pero no mitiga que una atacante nos haga DoS y deje sin cuota al consumidor. ¿Cómo podríamos mitigarlo?
Captcha de backend. La generación de captchas es muy popular en el lado front, sin embargo, no protege a las APIs y es uno de los mayores errores en seguridad. Para poder asegurarnos que hay un usuario web detrás de la API, debemos llevarnos el código que genera el captcha al backend, y allí, validarlo con el sistema consumidor. Sólo así estaremos protegidos ante ataques hacia nuestros endpoints públicos.
Esperamos que este post te ayude a la hora de asegurar la máxima protección de los endpoints públicos de tus APIs.
¿Qué otros consejos de seguridad añadirías? Te leemos en los comentarios.
