designsoliman - Fotolia

Gestionar Aprenda a aplicar las mejores prácticas y optimizar sus operaciones.

Por qué es tiempo de implementar mejores prácticas de APIs seguras

Las APIs están en todas partes, y esa es solo una de las razones por las que son tan difíciles de mantener seguras. El experto Tom Nolle describe una estrategia de seguridad detallada y multiparte.

Las aplicaciones, incluso las de terceros, dependen cada vez más de las APIs conectadas a la red para pasar el trabajo dentro y entre los elementos de la aplicación. Cada API representa una característica crítica y un posible problema de seguridad y cumplimiento. Aunque ha habido un montón de nuevos desarrollos en herramientas para proteger las APIs, el secreto de las mejores prácticas de seguridad para APIs es el proceso, y no las herramientas. El primer paso debe ser determinar los principales riesgos de seguridad a los que se exponen las APIs, aplicar remedios en un orden específico para evitar perder algunos puntos mientras se sobrevalúan otros, e integrar la seguridad en la gestión del ciclo de vida de las aplicaciones para evitar que sus precauciones se caigan.

El concepto de APIs ha cambiado radicalmente desde los primeros días de la programación. Hoy en día, las APIs son conexiones de red a las características de la aplicación o la información de la base de datos, y este nuevo rol significa que las APIs requieren una protección cada vez más estricta de seguridad y cumplimiento para salvaguardar la información de abajo. La mayoría de las empresas lo saben y se mueven para proteger sus APIs, pero pocos realmente logran cerrar todas las vías de riesgo implementando las mejores prácticas de API seguras.

Abordar los riesgos de seguridad de las APIs

Estamos en el comienzo de una nueva era en el uso de la API, y esos riesgos ahora necesitan ser abordados. Las APIs modernas presentan tres distintivos riesgos de seguridad: cambios no autorizados en la información, fugas de información e interferencia con la actividad legítima. Los tres son problemáticos, y todos surgen de la misma fuente, ya que las APIs en red están a menudo –por defecto– en red para todos.

Una API tiene hoy una dirección de red para permitir que sea tejida en un flujo de trabajo, y cualquier persona que sabe –o adivina– esa dirección puede enviar algo a la API. Si la solicitud está enmarcada en la forma en que el software debajo de la API espera, entonces la función que representa la API se ejecutará y sucederá algo. La información puede ser devuelta a alguien a quien no se debería permitir que la tenga, o podría ser cambiada. Incluso una solicitud "basura" con el formato incorrecto podría utilizar la capacidad de procesamiento, creando una oportunidad para la API y cualquier aplicación que la utilice.

Muchos usuarios esperan abordar una API segura mediante el uso de un directorio o una función de administración que se encuentra entre las APIs y las aplicaciones que pueden acceder a ellas, de manera que solo se proporciona acceso indirecto y controlado por políticas. El problema con este enfoque es que, a menudo, no hace que la API sea inaccesible, excepto a través de la herramienta de administración; la API sigue siendo una entidad abordada por la red, y podría localizarse escaneando direcciones IP.

Obtención de APIs seguras

Las mejores prácticas de seguridad de APIs más eficaces comienzan con redes multizona. Las aplicaciones deben ejecutarse dentro de una zona segura o sandbox, y exponer solo unas pocas direcciones de servicio al mundo exterior. Las APIs que no están destinadas a estar disponibles para todos deben estar alojadas dentro de esta zona segura. Algunas arquitecturas de alojamiento, incluidos los contenedores Docker, ofrecen naturalmente zonas seguras, y estas pueden implementarse a través de la mayoría de las arquitecturas de redes privadas definidas por software ahora disponibles. Al establecer una red multizona, los problemas de la API segura se reducirán significativamente.

El siguiente paso para lograr mejores prácticas de APIs seguras es el control de la conexión de red. En lugar de mediar el acceso a la API a través de un administrador, controle el tráfico a la dirección de la API a través de la administración de políticas de red. Este enfoque comprueba la dirección IP de origen de los mensajes, por ejemplo, y solo transmite mensajes de los usuarios adecuados a la API. Todavía hay formas de evitar esta protección, pero ofrece la mejor garantía de que las APIs no serán accedidas por personas no autorizadas; también ofrece protección contra ataques de denegación de servicio en sus APIs. Es más fácil aplicar el control de conexión de red a las redes que tienen zonas de seguridad establecidas, ya que el tráfico en la zona se reconoce fácilmente. Por lo tanto, solo se debe proteger las APIs que están expuestas para uso fuera de zona.

El control de conexión de red eliminará a los intrusos, pero las APIs asociadas con las aplicaciones ampliamente utilizadas dentro de una empresa podrían seguir siendo accesibles para los empleados que no tienen una necesidad o derecho a la información que las APIs representan. La administración de APIs puede darle "credenciales" a los usuarios, y en algunas implementaciones, también puede redirigir el tráfico, por lo que los mensajes de las APIs pueden venir solo desde el gestor de APIs y no directamente desde el usuario fuente de la información. Agregado al control de conexión de red, recorre un largo camino hacia el logro de las mejores prácticas de APIs seguras.

El paso final es la encriptación. Si los mensajes a una API deben estar encriptados, los intentos de acceder directamente a la API no pasarán la prueba de cifrado y se descartarán. En la mayoría de los casos, lo mejor es que el cifrado sea generado directamente por el usuario de la API, y no por el administrador de APIs. Pero asegúrese de que el mensaje esté claro para permitir que el administrador de APIs pueda aplicar políticas de acceso. Por lo general, la cabecera IP es suficiente, pero en algunos casos, un encabezado de capa superior también se puede utilizar para la autenticación. Si la información que un administrador de APIs necesita está encriptada, el administrador tendrá que descifrar y luego cifrar de nuevo, lo que genera demora.

La implementación de todos estos pasos puede proporcionar buenas prácticas sólidas de seguridad de APIs, pero incluso las empresas que ponen todas estas medidas en práctica aún pueden encontrar sus APIs expuestas. El mayor problema se produce con los cambios en las aplicaciones, especialmente cuando las aplicaciones comparten componentes que se acceden a través de las APIs. El intercambio de componentes es una meta de la mayoría de los equipos de desarrollo, y tiene como objetivo reducir los costos y acelerar la respuesta a los cambios del negocio. Compartir secretos de APIs significa decirles, y eso puede significar perder el control.

Si tiene APIs que representan componentes de aplicaciones compartidas, considere proporcionarles su propia zona o sandbox en su plan de red. Eso le permite aplicar el control de conexión y el cifrado de forma selectiva a las APIs que requieren un uso más abierto de lo normal, pero que no se publican para todos. Así que vea el control de conexión primero al planificar la seguridad de las APIs.

El mayor enemigo de una estrategia de APIs segura es la forma cerrada de pensar. No hay una estrategia única ni una fórmula secreta. La aplicación de todas las mejores prácticas de seguridad de APIs, en el orden correcto y con el énfasis correcto, produce el mejor resultado.

Profundice más

Inicie la conversación

Envíenme notificaciones cuando otros miembros comenten sobre este artículo.

Por favor cree un Nombre de usuario para poder comentar.

- ANUNCIOS POR GOOGLE

Close