OpenAPI es una especificación que no está ligada al lenguaje, por lo que permite a los clientes comprender y utilizar los servicios sin necesidad de acceder al código fuente del servidor ni tener conocimientos sobre la implementación de este.
Los documentos de OpenAPI se escriben normalmente en lenguaje JSON o YAML y son comprensibles tanto por humanos como por máquinas. Los equipos de DevOps pueden automatizar la documentación y asegurarse de que sus API cumplen con los estándares del sector gracias a OpenAPI. A su vez, esto permite que sus aplicaciones se integren fácilmente con otros software y servicios.
Esto también favorece la seguridad, ya que ofrece a los desarrolladores la oportunidad de implementar esquemas de seguridad, es decir, un estándar global de seguridad que designa un método para autenticar las credenciales de los clientes y conceder permisos para la API.
¿Qué es una API?
Una interfaz de programación de aplicaciones (API) es un conjunto de protocolos y definiciones que hace posible la comunicación entre diferentes programas y componentes de software para intercambiar datos y compartir funciones. Las API definen la forma en que las aplicaciones pueden solicitar e intercambiar información para que los sistemas de software interactúen y sean compatibles con una amplia gama de funciones y transacciones, que abarcan desde el comercio electrónico y los pagos móviles hasta las redes sociales y los servicios en la nube.
¿Qué es la seguridad de API?
Las API son esenciales para el desarrollo de la informática moderna, como los servicios en la nube, los microservicios y los marcos que carecen de servidor. Dado que exponen la lógica y los recursos de las aplicaciones y es probable que transmitan información confidencial y valiosa, las API son las principales afectadas por los ataques de los ciberdelincuentes. Las soluciones de seguridad de API contribuyen a evitar que los hackers aprovechen las vulnerabilidades de las API y las utilicen para obtener acceso no autorizado a los recursos y sistemas informáticos. Para garantizar la seguridad de las API es necesario contar con un enfoque de varias capas que incluya autenticación, protección basada en firmas, limitación y regulación de velocidad, un firewall de aplicaciones webe implementación de políticas de seguridad.
¿Qué compromete la seguridad de las API?
Hay varios tipos de principales amenazas de seguridad que afectan a las API.
- La explotación de vulnerabilidades aprovecha cualquier defecto de una API para permitir que los hackers obtengan acceso no autorizado a dicha API.
- Los procesos de autenticación pueden verse comprometidos por los ciberdelincuentes, lo que lleva a las API a aceptar solicitudes de fuentes ilegítimas o maliciosas.
- Los errores de autorización permiten a los clientes que interactúan con una API acceder a información confidencial, lo que podría ocasionar una filtración de datos.
Los ataques distribuidos de denegación de servicio o los ataques de denegación de servicio se producen cuando los perpetradores saturan las operaciones de la API con demasiadas solicitudes simultáneas. De esta forma, consiguen que la API se ralentice o no responda.
¿Qué es la seguridad de API?
La especificación OpenAPI (OAS) es un marco utilizado por los desarrolladores de software para crear aplicaciones que puedan interactuar con las API basadas en REST. La OAS, anteriormente conocida como especificación Swagger, describe cómo comunicarse con una API, qué tipo de información se puede solicitar y qué información se devolverá posteriormente. Los documentos de OpenAPI se escriben normalmente en lenguaje JSON o YAML y son comprensibles tanto por humanos como por máquinas. Los equipos de DevOps pueden automatizar la documentación y asegurarse de que sus API cumplen con los estándares del sector gracias a OpenAPI. A su vez, esto permite que sus aplicaciones se integren fácilmente con otros software y servicios.
Los desarrolladores definen los aspectos esenciales de una API en un documento de OpenAPI. Entre ellos se incluyen:
- La presencia y las operaciones de cada terminal.
- Los parámetros de entrada y de salida de cada operación.
- Las técnicas de autenticación.
- Lista de contactos, metadatos, información sobre condiciones de uso, licencias, documentos disponibles y mucho más.
Como marco de código abierto, OpenAPI es independiente del lenguaje utilizado para crear una API. De esta forma, tanto los equipos como los usuarios pueden identificar y comprender fácilmente las funciones que ofrece una API sin necesidad de consultar documentación adicional ni de acceder al código fuente. Además, la OAS simplifica los procesos de desarrollo en los que intervienen varios protocolos, entornos e interfaces.
¿Qué es la seguridad de OpenAPI?
OpenAPI contribuye a mejorar la protección de API y la seguridad de la puerta de enlace de API al ofrecer documentos fácilmente accesibles y comprensibles de cada API. Si los equipos de DevOps comprenden cada terminal de API y sus capacidades, podrán anticiparse mejor a los riesgos de seguridad y evitar que las vulnerabilidades se conviertan en el objetivo de los ataques. La documentación de seguridad de OpenAPI también ayuda a los equipos de seguridad a determinar si una API cumple o infringe la política de seguridad interna.
OpenAPI favorece la seguridad, ya que ofrece a los desarrolladores la oportunidad de implementar esquemas de seguridad, es decir, un estándar global de seguridad que designa un método para autenticar las credenciales de los clientes y conceder permisos para la API.
Si bien OpenAPI ayuda a documentar los requisitos de seguridad e informar al respecto, la labor de implementar medidas de seguridad es responsabilidad del servidor y la infraestructura de API.
¿Cuáles son los cinco tipos de seguridad de OpenAPI que existen?
OpenAPI 3.0 es compatible con cinco tipos de esquemas de seguridad:
- El esquema de seguridad de clave de API utiliza una clave de API, un token de acceso que proporciona el cliente al realizar llamadas de API.
- La autenticación HTTP ofrece dos tipos de esquemas de autenticación. La autenticación básica utiliza el encabezado de autorización HTTP estándar. Por otro lado, la autenticación del portador se sirve de un token de seguridad denominado “token del portador”, una cadena críptica generada por el servidor como respuesta a una solicitud de inicio de sesión.
- El esquema de seguridad OAuth2 es un protocolo de autorización que otorga a los clientes de API un acceso limitado a los datos de los usuarios en un servidor web. Este esquema de seguridad de OpenAPI lo utilizan organizaciones como Facebook, Google y GitHub.
- MutualTLS es un esquema de seguridad que utiliza autenticación bidireccional o mutua o código de autorización entre servidores y clientes. Es necesario que el cliente presente un certificado fiable para las solicitudes de API.
- OpenID Connect se basa en el protocolo OAuth 2.0 y define un flujo de inicio de sesión que permite a una aplicación de cliente autenticar a un usuario y obtener información sobre este. La información de identidad del usuario se codifica en un token web JSON (JWT) o en un token de ID seguros.
¿Qué retos implica la seguridad de OpenAPI?
Es probable que las organizaciones y los equipos de seguridad que dependan exclusivamente de OpenAPI no puedan hacer frente a muchos de los riesgos y amenazas que crean las API.
- OpenAPI no garantiza la seguridad contra muchas amenazas comunes. En un archivo de definición de OpenAPI no es posible crear políticas que impidan ataques dirigidos a la lógica de API, en la que se incluyen muchas de las amenazas definidas en 10 principales riesgos de seguridad de API según OWASP.
- Cabe la posibilidad de que las herramientas de seguridad de OpenAPI no reconozcan a un ciberdelincuente que intente burlar la validación del esquema de seguridad de OpenAPI en reiteradas ocasiones y, por lo tanto, no impidan que perpetre el ataque.
- La documentación de seguridad de OpenAPI puede denegar el acceso al tráfico legítimo al aplicar una técnica de validación estricta que bloquee cualquier llamada anómala a la API.
- También es probable que las herramientas de seguridad de OpenAPI validen diferentes tipos de llamadas maliciosas a la API cuando se utilizan técnicas de validación poco fiables.
Preguntas frecuentes
OpenAPI formaba parte del marco de Swagger. Se convirtió en un proyecto independiente en 2016.
La especificación OpenAPI cuenta con el respaldo de un gran número de líderes del sector y una comunidad de decenas de miles de desarrolladores. Este apoyo por parte de la industria pone de manifiesto la estabilidad de una importante base de código. OpenAPI es ampliamente reconocido como el mejor marco de código abierto para definir y crear API RESTful.
Por qué los clientes eligen Akamai
Akamai potencia y protege la vida online. Las empresas líderes de todo el mundo eligen Akamai para crear, proteger y ofrecer sus experiencias digitales, ayudando así a millones de personas a vivir, trabajar y jugar cada día. Akamai Connected Cloud, plataforma de nube distribuida de forma masiva en el Edge, acerca las aplicaciones y las experiencias a los usuarios y mantiene las amenazas más alejadas.