Cómo mejorar la seguridad de las API

Las API se han convertido en una necesidad estratégica para las empresas, pues un 96% de los equipos utiliza estas interfaces actualmente. No obstante, las API también pueden suponer un riesgo para las organizaciones si los datos que canalizan se ven comprometidos. Gartner predice que en 2022 los ataques a las API se convertirán en la vulneración de datos más común en las aplicaciones web, dando lugar a un coste anual de 600.000 millones de dólares para las organizaciones.

A medida que las empresas adoptan medios digitales de operación e incrementan la complejidad de sus redes, el riesgo de ataques sobre las API aumenta, lo que hace de la seguridad de las API una prioridad para los responsables de tomar decisiones en materia de TI.

¿Qué es la seguridad de APIs?

La seguridad de APIs comprende los programas y procesos que pone en marcha una organización para garantizar que las API existentes cuenten con los últimos controles de seguridad y las nuevas se diseñen de acuerdo con estándares de seguridad empresarial. Ahora que las API se están convirtiendo en el estándar para conectar sistemas y destrabar datos para consumo interno y externo, su seguridad es cada vez más importante.

Una API segura es aquella que puede garantizar la confidencialidad de la información que procesa, haciéndola visible únicamente para los usuarios, aplicaciones y servidores autorizados a consumirla. Asimismo, debe asegurar la integridad de la información que recibe de los clientes y servidores con los que colabora, es decir, procesar únicamente información verificada que no ha sido modificada por un tercero.

Los 3 principios de la seguridad de APIs

Existen tres componentes principales que garantizan la seguridad de una API. En la sección siguiente se analizan estos principios y algunas prácticas recomendadas para implementarlos:

Gestión de accesos e identidades (IAM)

La gestión de accesos e identidades garantiza que todas las aplicaciones, servidores y usuarios que utilizan una API tengan los permisos adecuados para hacerlo. Los dos principales medios de gestión de accesos e identidades son la autenticación y la autorización. La autenticación consiste en saber quién es un usuario, mientras que la autorización tiene que ver con las acciones que esa persona puede realizar. El control de acceso utiliza tanto la autenticación como la autorización para aplicar el control en un sistema determinado.

Un tipo de gestión de acceso es la autenticación multifactor. La autenticación multifactor es cuando una aplicación solicita un token de uso único al usuario después de que este ya se haya autenticado mediante sus credenciales. Otro método para proteger el acceso a las aplicaciones y los datos son las credenciales en forma de token. La primera vez que un usuario accede a un proveedor de identidad con su nombre de usuario y contraseña, se emite un token. De esta manera, los usuarios no tienen que compartir sus credenciales con la red, algo que puede suponer un riesgo de seguridad; la aplicación solo necesita enviar el token.

Integridad y confidencialidad de contenido

Tras asegurar un acceso adecuado a los sistemas, el siguiente paso es proteger todas las comunicaciones entrantes que recibe la API. La integridad de mensajes o contenido garantiza que los mensajes no sean comprometidos después de la transmisión. Cuando un mensaje es íntegro, significa que no ha sido interceptado por un tercero en ningún momento desde su transmisión hasta su reenvío a la API. La confidencialidad de mensajes o contenido garantiza que el mensaje recibido se verifica y que el trayecto desde el remitente a la API no ha sido espiado por agentes externos no autorizados que han visto los detalles del mensaje.

Una forma de velar por la integridad de los mensajes son las firmas digitales, que se utilizan para registrar la autenticidad de una transacción. En este caso, una aplicación crea una firma mediante un algoritmo y un código secreto. La API aplica el mismo algoritmo con nuevo código secreto para producir su propia firma, y la compara con la firma entrante. Otro método para garantizar la integridad de los mensajes es la criptografía. La criptografía de clave pública es un método que produce un cifrado de mensaje casi imposible de descodificar sin la clave correspondiente.

Fiabilidad y disponibilidad de APIs

Las aplicaciones actuales se alojan en la nube y se integran con innumerables servicios, localmente o en la nube. Los datos fluyen desde un servicio o microservicio a otro, y desde un usuario a otro, dando lugar a una amplia variedad de superficies de ataque. Una API debe estar siempre disponible para responder a las llamadas y, una vez ha iniciado los trámites de una llamada, ser capaz de finalizar la gestión del mensaje recibido inmediatamente, sin que se produzcan pérdidas de datos ni se generen vulnerabilidades a ataques.

Ello se puede conseguir escalando horizontalmente la API en varios servidores y confiando el tratamiento del mensaje a un intermediario que lo retenga hasta que la API haya completado su tratamiento. En esta situación, otro proceso se suscribe a la publicación del mensaje y, por tanto, continúa con el tratamiento de forma asíncrona.

Diseño seguro

Descubre por qué adoptar un enfoque API-led para la integración permite seguir las prácticas recomendadas para la seguridad y la gobernanza de datos. Las API creadas por Anypoint Platform permiten que los equipos de seguridad apliquen una seguridad inteligente, por capas y automatizada en diferentes dominios, microservicios y APIs; así, los equipos de desarrollo pueden crear nuevas aplicaciones y experiencias para el cliente con garantía de seguridad y cumplimiento.