Revisando nuestros servicios: auditar API (parte 1)
Poder ofrecer la información de valor que genera tu empresa de una forma eficiente y segura es tan importante que puede ser el punto de inflexión entre convertirla en un Unicornio o llevarla directamente a la ruina.
En el mundo de hoy, contar con una buena API que permita a terceros consumir tu información te va a permitir extender tu negocio más allá de lo que puedes ofrecer de forma individual. Es habitual conceder acceso a una parte pública de la información, pero otra parte sensible suele estar vinculada a algún contrato, cuota o condiciones particulares.
Una API abierta a terceros te permitirá abrir tu información y servicios a todo tipo de clientes, gestionando hasta dónde quieres que puedan llegar. Sólo tienes que ponerte a desarrollar en tu proceso de integración continua, darle caña a las pruebas unitarias, los test de integración, la documentación y todo lo que tu metodología dicte. Por fin tienes una API de calidad dispuesta a echar humo con miles de clientes y…
…entonces llego yo y te pregunto… ¿has tenido en cuenta la seguridad en el ciclo de vida de tu API?
Tu respuesta tiene una alta probabilidad de ser «ehhh…. no!». Lo normal es que sea así y que se hayan cometido errores de desarrollo que impliquen vulnerabilidades en nuestra API que puedan impactar en nuestro producto.
¿Como incorporo la seguridad a mi API?
Si no has empezado a desarrollarla, entonces te recomiendo que tengas en cuenta algún modelo como «Microsoft Security Development Lifecycle» (echando un vistazo aquí, aquí o aquí, aunque hablaremos de esto en breve) y lo hagas bien desde el principio.
Si ya tienes tu API funcionando, en la próxima entrada realizaremos una pequeña prueba que te puede ayudar a evaluar su seguridad.
En cualquier caso, deberías tener en cuenta siempre estos checks básicos:
1) Fase de Autenticación:
- Habilita tu API únicamente con SSL, todos los accesos debería ser https. Prohibe http o dale un uso meramente informativo.
- Nunca envíes usuarios, contraseñas, tokens… en la url.
2) Fase de Autorización:
- Pon especial atención en el escalado de privilegios tanto en horizontal como en vertical.
- Acentúa los controles en las peticiones que actualicen o eliminen información.
- Utiliza roles para administrar permisos de tus usuarios.
- Protege al máximo las funcionalidades destinadas a usuarios administrativos.
3) Gestión de sesión:
- Habilita un tiempo máximo de sesión (timeout).
- Asegúrate de tener medidas para invalidar tokens si es necesario.
4) Validación de entradas:
- Los ataques web habituales pueden afectar a tu API, así que pon atención en los conocidos ataques de injección, xss…
5) Codificación de salidas:
- Revisa bien la estructura de tu salida json, xml,…
- Inserta cabeceras de seguridad acordes al uso que se le va a dar a tu API.
Empieza por echar un vistazo a estas recomendaciones. En la próxima entrada seguiremos viendo detalles para tener tu API lo más segura posible. ¿Te lo vas a perder?
- GuardDuty: Un viaje a través del tiempo en AWS Security - 21 noviembre, 2023
- Webinar – Seguridad para familias - 11 enero, 2021
- SecurityInside Live: CISO Day 2020 - 17 septiembre, 2020
Insightful and well-written! Your points are thought-provoking. For those wanting to learn more about this topic, here’s a great resource: FIND OUT MORE. Interested in hearing everyone’s perspective!
mexico pharmacies prescription drugs
https://cmqpharma.com/# purple pharmacy mexico price list
mexico pharmacies prescription drugs
online canadian pharmacy reviews: canadian pharmacy victoza – canadian pharmacy
reputable indian pharmacies india online pharmacy india online pharmacy
top online pharmacy india indian pharmacy paypal buy medicines online in india
cheapest online pharmacy india: top online pharmacy india – reputable indian online pharmacy
canadian pharmacy online: reliable canadian pharmacy – canadian family pharmacy
https://indiapharmast.com/# online pharmacy india
canadian pharmacy reviews: pharmacies in canada that ship to the us – reputable canadian online pharmacies
best online pharmacy india india online pharmacy Online medicine home delivery
online shopping pharmacy india: online pharmacy india – reputable indian online pharmacy
safe canadian pharmacy: canadian pharmacy ltd – reputable canadian pharmacy
http://foruspharma.com/# mexican pharmaceuticals online
my canadian pharmacy: canadian pharmacy scam – canada rx pharmacy world
canadian pharmacy best mail order pharmacy canada reliable canadian pharmacy
best online pharmacies in mexico: mexican online pharmacies prescription drugs – buying prescription drugs in mexico
my canadian pharmacy rx: onlinecanadianpharmacy 24 – canadian pharmacy no rx needed
http://amoxildelivery.pro/# amoxicillin in india
cost of amoxicillin: medicine amoxicillin 500mg – amoxicillin 500 tablet
https://amoxildelivery.pro/# amoxicillin generic
paxlovid pharmacy: Paxlovid buy online – paxlovid pharmacy
https://paxloviddelivery.pro/# paxlovid buy
http://clomiddelivery.pro/# can i order generic clomid pill
buying amoxicillin online: amoxicillin 500 mg where to buy – amoxicillin generic brand
https://ciprodelivery.pro/# buy generic ciprofloxacin
doxycycline hydrochloride 100mg: order doxycycline 100mg without prescription – doxycycline 200 mg price
http://paxloviddelivery.pro/# paxlovid buy
http://doxycyclinedelivery.pro/# doxycycline tablets australia
paxlovid cost without insurance: paxlovid generic – Paxlovid buy online
https://paxloviddelivery.pro/# paxlovid india
http://ciprodelivery.pro/# ciprofloxacin 500mg buy online
can i purchase generic clomid pill: where to get cheap clomid price – how to get cheap clomid
buy doxycycline over the counter: doxycycline tablets in india – doxycycline 7.5 mg
where can i purchase doxycycline: doxycycline no prescription – doxycycline cost india