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.