Es probable que haya oído hablar sobre el Internet de las cosas (IoT), en que la potencia informática está integrada a los objetos cotidianos. Gracias al IoT, puede conectar el teléfono al refrigerador, para que cuando se detenga en una tienda de camino a casa, sepa exactamente qué necesita para la cena improvisada que preparará dentro de una hora.
Por otro lado, tal vez forma parte de un equipo de DevOps y utiliza microservicios y contenedores para diseñar e implementar aplicaciones heredadas y nativas de la nube de forma iterativa y rápida. Las API son una de las formas más comunes en las que los microservicios y los contenedores se comunican, al igual que los sistemas y las aplicaciones. A medida que la integración y la interconectividad se vuelven más importantes, también aumenta la importancia de las API.
¿Por qué es importante la seguridad de las API?
Las empresas utilizan las API para conectar los servicios y transferir datos. Las API dañadas, expuestas o pirateadas son la causa de las principales vulneraciones de la seguridad de los datos. Exponen datos médicos, financieros y personales que entonces quedan disponibles al público. Dicho esto, no todos los datos son iguales ni se deberían proteger de la misma manera. La forma de abordar la seguridad de las API dependerá del tipo de datos que se transfiera.
Si su API se conecta a una aplicación de terceros, necesitará saber cómo dicha aplicación transfiere la información a Internet. Si tomamos el ejemplo anterior, tal vez no le importe que alguien sepa qué hay en su refrigerador, pero si esa persona utiliza la misma API para rastrear su ubicación, podría ser motivo de preocupación.
¿Qué es la seguridad de las API web? La seguridad de las API de REST frente a la de las API de SOAP
La seguridad de las API web se ocupa de la transferencia de datos a través de las API que están conectadas a Internet. OAuth (Open Authorization) es el estándar abierto para la delegación del acceso. Permite que los usuarios otorguen acceso a los recursos web a terceros, sin necesidad de compartir contraseñas. OAuth es el estándar de tecnología que le permite compartir el video Corgi belly flop compilation en sus redes sociales con el botón «compartir».
La mayoría de las implementaciones de API son de transferencia de estado representacional (REST) o de protocolo simple de acceso a objetos (SOAP).
Las API de REST utilizan HTTP y admiten el cifrado de seguridad de la capa de transporte (TLS). TLS es un estándar que mantiene privada la conexión a Internet y verifica que los datos enviados entre dos sistemas (entre dos servidores, o un servidor y un cliente) estén cifrados y no se modifiquen. Eso significa que, si un pirata informático intenta obtener la información de su tarjeta de crédito desde un sitio web de compras, no podrá leer ni modificar sus datos. Para saber si un sitio web está protegido con TLS, solo necesita verificar que la URL comience con «HTTPS» (Protocolo seguro de transferencia de hipertexto).
Las API de REST también utilizan notación de objetos JavaScript (JSON), que es un formato de archivo que facilita la transferencia de datos a través de los navegadores web. Al utilizar HTTP y JSON, las API de REST no necesitan almacenar o volver a agrupar los datos, lo cual las vuelve mucho más rápidas que las API de SOAP.
Las API de SOAP utilizan protocolos integrados conocidos como Seguridad en Servicios Web (WS Security). Esos protocolos definen un conjunto de reglas que se basa en la confidencialidad y la autenticación. Las API de SOAP son compatibles con los estándares establecidos por los dos principales organismos internacionales: la Organización para el avance de estándares de información estructurada (OASIS) y el Consorcio World Wide Web (W3C). Utilizan una combinación de cifrado XML, firmas XML y tokens SAML para verificar la autenticación y la autorización. En general, las API de SOAP reciben un gran reconocimiento por sus medidas de seguridad más integrales, pero también necesitan una mayor gestión. Por eso se recomiendan las API de SOAP para las empresas que manejan datos confidenciales.
¿Cuáles son las prácticas recomendadas más comunes de la seguridad de las API?
Seguramente usted no guarda sus ahorros debajo del colchón. La mayoría de las personas guarda su dinero en un entorno confiable (el banco) y usa distintos métodos para autorizar y autenticar los pagos. La seguridad de las API es similar. Necesita un entorno confiable con políticas la autenticación y autorización.
Estas son algunas de las formas más comunes en las que puede fortalecer la seguridad de sus API:
- Utilice tokens. Configure identidades confiables y controle el acceso a los servicios y a los recursos utilizando los tokens asignados a dichas identidades.
- Utilice métodos de cifrado y firmas. Cifre sus datos mediante un método como TLS (consulte la información que se presentó anteriormente). Solicite el uso de firmas para asegurar que solamente los usuarios adecuados descifren y modifiquen sus datos.
- Identifique las vulnerabilidades. Mantenga actualizados sus elementos de API, sus controladores, redes y su sistema operativo. Manténgase al tanto de cómo funciona todo en conjunto, e identifique las debilidades que se podrían utilizar para entrar en sus API. Utilice analizadores de protocolos para detectar los problemas de seguridad y rastrear las pérdidas de datos.
- Utilice cupos y límites. Establezca un cupo en la frecuencia con la que se puede recurrir a su API, y dé seguimiento a su historial de uso. Encontrar más solicitudes a una API puede indicar un abuso. También podría ser un error de programación, como una solicitud a la API en un bucle sin fin. Establezca reglas de limitación para proteger sus API de ataques de denegación de servicio y picos de uso.
- Utilice una puerta de enlace de API. Las puertas de enlace de API funcionan como el principal punto de control para el tráfico de las API. Una buena puerta de enlace le permitirá autenticar el tráfico, así como controlar y analizar cómo se utilizan sus API.
Gestión y seguridad de las API
Finalmente, la seguridad de las API a menudo radica en gestionarlas bien. Muchas plataformas de gestión de las API admiten tres tipos de esquemas de seguridad que son los siguientes:
- Clave de API: una cadena de un solo token (es decir, un dispositivo de hardware pequeño que brinda información de autenticación única).
- Autenticación básica (id. o clave de aplicación): una solución de cadena de dos tokens (es decir, nombre de usuario y contraseña).
- OpenID Connect (OIDC): una capa de identidad simple sobre el marco OAuth conocido (es decir, verifica al usuario obteniendo información básica del perfil y utilizando un servidor de autenticación).
Cuando seleccione un administrador de API, conozca cuáles y cuántos de estos esquemas de seguridad puede manejar, y diseñe un plan para que pueda incorporar las prácticas de seguridad de las API descritas anteriormente.
Fuente: RedHat