¿Como debo mejorar la seguridad de mí API?
Hoy traigo 4 requisitos imprescindibles que debes tener en cuenta para mejorar la seguridad de tu API este 2019 si no lo has hecho todavía.
Tu API no sólo interconecta tu lógica de negocio, aplicaciones, sistemas, servicios y datos, sino que también puede ser tu modelo de negocio, como comentamos hace unas semanas con las API Economy, ¿Tu nuevo modelo de negocio?.
Las APIs son claramente el presente y el futuro de las organizaciones, es por ello que muchos titulares refuerzan un mensaje importante: la seguridad de tu API debe estar como máxima prioridad en la lista de tareas de tu organización si no lo has hecho todavía.
Veamos algunos de estos titulares:
- Los analistas de Gartner, según el informe de diciembre de 2017 "How to Build an Effective API Security Strategy ", predicen que para el año 2022, los ataques API serán el vector de ataque más común, con el objetivo de extraer los datos de tu organización.
- El Top 10 de OWASP, una lista respetada de amenazas de seguridad web, presenta docenas de referencias a las API. Sus advertencias explícitas incluyen precauciones que debes tener en cuenta con tu API. Mencionan también que en muchos casos se transmiten datos confidenciales sin la protección adecuada o se utilizan componentes vulnerables.
- La HIMSS, organización de atención médica estadounidense, emitió un informe en 2018 donde detallaba el riesgo que las API sin la protección adecuada pueden representar para los datos confidenciales de atención médica.
Las encuestas indican que las organizaciones ya están especialmente preocupadas por las amenazas y ataques de denegación de servicio (DDoS) distribuidos que afectan actualmente a los servicios API. A pesar de estas preocupaciones, muchas organizaciones desconocen el tipo de uso que se realiza de su API o si el nivel de seguridad que aplican es el adecuado.
Un claro ejemplo fue la vulnerabilidad en una institución gubernamental en U.S., que permitía a cualquier usuario registrado realizar una consulta inapropiada en el sistema para obtener datos confidenciales de otros usuarios, como direcciones de correo electrónico, números de teléfono y direcciones postales, entre otros.
¿Cómo deberían las organizaciones abordar esta creciente amenaza? Veamos los 4 requisitos imprescindibles que debes tener en cuenta para mejorar la seguridad de tu API este 2019 si no lo has hecho todavía.
1. Encriptar el tráfico por defecto con SSL/TLS - HTTPS:
Como comentamos en el post, Seguridad web y posicionamiento SEO con HTTPS y HSTS. Las conexiones cifradas, son una medida de seguridad que no debes pasar por alto. Es de obligación proteger la comunicación de tus datos. Veamos algunos puntos relevantes:
- Debes encriptar el tráfico de datos con SSL/TLS para garantizar la comunicación entre tus usuarios y tu servicio API. Es básico para garantizar que los datos entre tus clientes y tu API no son interceptados y/o modificados por el camino. Ninguna API debería funcionar sin SSL/TLS.
- Debes mantenerte al día de frecuentes cambios SSL/TLS. Te recomiendo cumplir con todos los requisitos de seguridad posibles. Deberías aplicar a la máxima calificación SSL/TLS. Puedes verificar la calificación de tu SSL/TLS con SSLLabs.
- Considera ir más allá del cifrado SSL/TLS, puedes utilizar tu propio enmascarado encriptando los datos con algoritmos criptográficos como SHA-512.
2. Autenticación y autorización en tu API
Te recomiendo que pases por el post de hace unas semanas: ¿Cuál es el mejor método de autentificación en un API REST?.
Debes establecer el método de autentificación adecuado a tus necesidades. La protección y el control de la información de tus servicios es un requisito obligatorio a la hora de hacer públicos tus servicios mediante una API o cualquier otro sistema.
Debes tener en cuenta:
- Es imprescindible controlar el acceso a tu API. OAuth 2.0 es la versión más segura para autentificar tus servicios, así que debes tener aplicado este método de autentificación en tu API.
- Debes autentificar tanto a usuarios finales como aplicaciones que conecten a tu API, doble factor de autentificación.
3. Limitar la velocidad y el tráfico con un API Gateway
Debes limitar y controlar el tráfico y velocidad de tus servicios API con un API Gateway, tal como comentamos en nuestra serie sobre API:
- API Gateway con WSO2, líder en el mercado
- Kong como alternativa Open Source de API Gateway
- API Gateway en tu arquitectura de microservicios
Para mantener a raya los ataques de fuerza bruta, evitando que generen una gran cantidad de intentos de inicio de sesión consecutivos, deberás controlar y limitar los accesos a tus servicios, es por ello que un API Gateway te permitirá verificar y controlar que está sucediendo en cada una de tus APIs públicas.
Con un API Gateway podrás limitar los accesos inapropiados o sospechosos a tu API, manteniendo tu API legítima fuera de la línea de ataque, manteniéndose por detrás de un API Gateway pública que gestione el control de acceso del tráfico y velocidad.
4. Identificar anomalías de uso de tu API
Utiliza patrones de comportamiento y aprendizaje automático para controlar las botnets que atacan a tus servicios:
- No sólo debes supervisar el acceso a la API, sino también los patrones de tráfico para detectar comportamientos sospechosos.
- La Inteligencia Artificial enfrenta máquinas contra máquinas en la guerra de la ciberseguridad. ¿IA para identificar bots? ¿Por qué no? Aplica algoritmos automatizados para detectar ciberataques o utilizar herramientas estrategia como Honeypot.
Conclusión
Los 4 requisitos imprescindibles que debes tener en cuenta para mejorar la seguridad de tu API este 2019 son la encriptación con SSL/TLS, autentificación y autorización, aplicar un API Gateway e identificar anomalías de uso. Aunque son únicamente un punto de partida, tu organización debe ser proactiva, consciente de encontrar un equilibrio entre mantener una API que facilite el desarrollo de aplicaciones y, a la vez, protegida ante las amenazas que pueden afectar los datos de tu organización.
No hay margen para la complacencia, además de las consideraciones técnicas, también existe un ámbito ético que engloba la seguridad: la organización debe establecer los términos de servicio en relación con uso de su API, cómo responde a un ataque de cyberseguridad, qué auditorias de seguridad se aplican, entre otros.
¿Está tu organización segura ante ciberataques? ¿Qué métodos de seguridad implementa tu API? ¿Quieres saber más sobre seguridad API?
Photo by Dan Meyers on Unsplash