Resumen
La seguridad de las API implica proteger la integridad de las que posee y de las que utiliza. ¿Pero y eso qué quiere decir?
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 lo hacen 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 tampoco deben protegerse de la misma manera. El método que utilice para abordar la seguridad de las API dependerá del tipo de datos que deba transferir.
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 la persona utiliza la misma API para rastrear su ubicación, eso sí podría ser motivo de preocupación.
¿Qué es la seguridad de las API web? Comparación entre la seguridad de las API de REST y las API de SOAP
La seguridad de las API web se ocupa de transmitir los 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 REST (transferencia de estado representacional) o SOAP (protocolo simple de acceso a objetos).
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 exploradores 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 la seguridad de los 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 los 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 en relación con 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 de 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
Por último, la seguridad de las API depende de que se las gestione bien. Muchas plataformas de gestión de las API admiten tres tipos de esquemas de seguridad:
- 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).
Al seleccionar un administrador de API, debe saber cuáles y cuántos de estos esquemas de seguridad puede manejar, y diseñar un plan para que pueda incorporar las prácticas de seguridad de las API descritas anteriormente.
¿Por qué conviene elegir Red Hat para la gestión y la seguridad de las API?
Las filtraciones de datos son una amenaza, pero puede tomar medidas para obtener mayor seguridad. Las API valen la pena, solo necesita saber qué buscar. Cada año, Red Hat publica un informe de riesgos de sus productos en el cual se describen los puntos vulnerables generales de la seguridad que afectan al software empresarial, así como las soluciones que ofrece Red Hat para nuestros productos.Lo más importante es tomar medidas de seguridad permanentes, hacer las preguntas correctas, estar al tanto de las áreas que requieren atención y contar con un administrador de API confiable. Estamos aquí para ayudarlo.
En Red Hat, recomendamos nuestra solución galardonada Red Hat 3scale API Management, la cual incluye:
- Un administrador de API que gestiona las API, las aplicaciones y las funciones de los desarrolladores.
- Un administrador de tráfico (puerta de enlace de API) que aplica las políticas del administrador de API.
- Un centro proveedor de identidad (IDP) que admite una amplia variedad de protocolos de autenticación.
En la puerta de enlace de API, Red Hat 3scale API Management decodifica los tokens con registro de hora que caducan; comprueba que la identificación del cliente sea válida y confirma la firma mediante una clave pública.