Las APIs se han convertido en una necesidad estratégica para las empresas, con un 96% de los equipos informando que actualmente utilizan APIs. Sin embargo, las APIs también pueden representar un riesgo para las organizaciones si los datos que atraviesan están expuestos. Gartner predice que las vulnerabilidades a las APIs se convertirán en el tipo más común de filtración de datos de aplicaciones web, lo que resultará en un costo anual de $600 mil millones para las organizaciones.

A medida que las empresas avanzan hacia medios digitales de operación y aumentan la complejidad de sus redes, el riesgo de ataques a APIs aumenta, convirtiendo la seguridad de las APIs en una prioridad clave para quienes deban tomar las decisiones dentro de IT.

¿Qué es la seguridad de API?

La seguridad de API abarca los programas y procedimientos que una organización lleva a cabo para garantizar que las APIs existentes cuenten con los controles de seguridad más recientes y que las nuevas APIs se construyan según los estándares de seguridad empresarial. A medida que las APIs se convierten en el estándar para conectar sistemas y desbloquear datos para consumo interno y externo, la seguridad de API se ha vuelto cada vez más importante.

Una API segura es aquella que puede garantizar la confidencialidad de la información que procesa haciéndola visible solo para los usuarios, aplicaciones y servidores autorizados para consumirla. Asimismo, debe garantizar la integridad de la información que recibe de los clientes y servidores con los que colabora, de modo que solo procese información que sabe que no ha sido modificada por un tercero.

3 principios de seguridad de API

Hay tres componentes principales que aseguran que una API sea segura.

Gestión de identidad y acceso (IAM)

La gestión de identidad y acceso asegura que todas las aplicaciones, servidores y usuarios que consumen tu API sean aquellos con los permisos adecuados para hacerlo. Los dos principales medios de gestión de identidad y acceso son la autenticación y la autorización. La autenticación significa entender quién es alguien, mientras que la autorización se ocupa de lo que esa persona puede hacer. El control de acceso utiliza tanto la autenticación como la autorización para hacer cumplir el control dentro de un sistema dado.

Un tipo de gestión de acceso es la autenticación multifactor, donde una aplicación solicita un token de un solo uso al usuario después de haber autenticado las credenciales del usuario. Otro método para asegurar el acceso a aplicaciones y datos es mediante credenciales basadas en tokens. La primera vez que un usuario accede a un proveedor de identidad con sus credenciales de nombre de usuario/contraseña, se emite un token. A partir de ahí, en lugar de que los usuarios compartan sus credenciales a través de la red, lo cual puede representar un riesgo de seguridad, la aplicación solo necesita enviar el token.

Integridad y confidencialidad del contenido

Después de garantizar el acceso adecuado a los sistemas, el siguiente paso es asegurar cualquier comunicación entrante con tu API. La integridad del mensaje o contenido asegura que el mensaje no fue comprometido después de la transmisión. Cuando un mensaje es íntegro, significa que no fue interceptado por un tercero después de que el remitente transmitió el mensaje antes de enviarlo a una API. La confidencialidad del contenido o mensaje asegura que el mensaje recibido esté verificado y que el viaje desde el remitente hasta la API no haya sido presenciado por espías no deseados que vieron los detalles del mensaje.Una forma de garantizar la integridad del mensaje es mediante firmas digitales, que se utilizan para registrar la autenticidad de una transacción. En este caso, una aplicación crea una firma utilizando un algoritmo y un código secreto. La API aplica el mismo algoritmo con un nuevo código secreto para producir su propia firma y la compara con la firma entrante. Otro método para garantizar la integridad del mensaje es la criptografía. La criptografía de clave pública es el método de producir un cifrado de un mensaje que es casi imposible de descifrar sin una clave correspondiente.

Fiabilidad y disponibilidad de la API

Las aplicaciones actuales existen en la nube con integraciones a innumerables servicios en la nube y locales. Los datos fluyen de un servicio o microservicio a otro, y de un usuario a otro, creando una multitud de superficies de ataque. Tu API debe garantizar que siempre esté disponible para responder a llamadas y que, una vez que comienza la ejecución de la llamada, pueda completar el manejo del mensaje recibido inmediatamente sin perder datos y dejarlos vulnerables a un ataque.

Esto se puede lograr escalando horizontalmente la API en múltiples servidores y transfiriendo el procesamiento del mensaje a un intermediario de mensajes, que retendrá el mensaje hasta que la API haya completado su procesamiento. La comprensión en este último escenario es que otro proceso está suscrito a esta publicación de mensajes y, por lo tanto, continúa el procesamiento de manera asíncrona.

Seguridad mediante diseño

Las APIs construidas con la Plataforma Anypoint permiten que los equipos de seguridad apliquen seguridad automatizada, estratificada e inteligente en dominios, microservicios y APIs en una plataforma unificada, y permiten que los equipos de desarrollo construyan nuevas aplicaciones y experiencias para el cliente con seguridad y cumplimiento habilitados por defecto.