Lista blanca de IP para claves API

Pájaro

19 ago 2015

Correo electrónico

1 min read

Lista blanca de IP para claves API

Puntos clave

    • Las API keys son credenciales poderosas: si se ven comprometidas, los atacantes pueden enviar correos electrónicos, robar datos o hacerse pasar por tu marca.

    • Forzar al azar una clave hexadecimal de 40 caracteres es esencialmente imposible; las verdaderas amenazas provienen de la exposición (ataques MITM, repositorios de código inseguros, credenciales filtradas).

    • Siempre usa HTTPS y valida los certificados SSL para evitar la intercepción de tus API keys.

    • La lista blanca de IPs agrega una capa crítica de protección al restringir el uso de una clave a IPs específicas o rangos de IP.

    • Incluso si un atacante roba tu API key, no puede usarla a menos que se conecte desde una IP aprobada.

    • El soporte de CIDR facilita la autorización de redes enteras sin listar cada servidor.

    • Evita incrustar API keys en el código: utiliza variables de entorno o soluciones seguras de gestión de secretos en su lugar.

    • Crea múltiples API keys de alcance limitado en lugar de una única clave "hace-todo" — cada una con permisos limitados y su propia lista blanca.

    • Para integraciones de terceros, crea claves dedicadas con permisos restringidos e IPs restringidas.

    • Habilita 2FA en tu cuenta ya que las API keys solo pueden ser creadas a través de la interfaz de usuario.

    • Revisa, rota y retira regularmente las claves para mantener una seguridad operativa fuerte.

Destacados de Q&A

  • ¿Qué es IP whitelisting?

    Es una característica de seguridad que restringe el uso de la clave API a direcciones IP o rangos de IP específicos.

  • ¿Por qué SparkPost/Bird utiliza claves API para la autenticación?

    Las claves API son simples, están ampliamente adoptadas y funcionan adecuadamente con REST APIs y SMTP.

  • ¿Qué pasa si alguien roba mi API key?

    Podrían enviar correo en tu nombre, descargar listas de destinatarios, modificar plantillas o enviar phishing/spam que dañe tu marca.

  • ¿Se pueden forzar las claves API?

    Prácticamente imposible. Una cadena hexadecimal de 40 caracteres tiene ~1.46e48 combinaciones — forzarla por fuerza bruta llevaría más tiempo que la edad del universo.

  • Entonces, ¿cómo consiguen normalmente los atacantes las claves API?

    Ataques de hombre en el medio (si SSL no está verificado), claves expuestas en repositorios públicos de GitHub, o registros que filtran accidentalmente claves.

  • ¿Cómo ayuda el IP whitelisting?

    Incluso si un atacante roba tu clave, no funcionará a menos que se conecte desde una IP aprobada.

  • ¿Puedo whitelist redes enteras?

    Sí, a través de la notación CIDR — ideal para servidores con balanceo de carga, VPNs o rangos de oficina estáticos.

  • ¿La inclusión en la lista blanca se aplica tanto a REST como a SMTP?

    Sí, la IP de la solicitud entrante debe coincidir con su lista blanca.

  • ¿Cuántas IPs o rangos puedo whitelistear?

    Tantos como necesites — múltiples IPs individuales o bloques.

  • ¿Debería usar una única API key para todo?

    No. Cree claves separadas para diferentes sistemas, equipos o proveedores. Esto mejora la seguridad y facilita la rotación o revocación de claves.

  • ¿Dónde debería almacenar las claves de API?

    Usa variables de entorno — nunca codifiques claves directamente en archivos fuente o en repositorios públicos.

  • ¿Alguna práctica adicional de seguridad?

    Siempre habilite 2FA en su cuenta de SparkPost/Bird y cree claves dedicadas para terceros con permisos mínimos y sus propias listas blancas.

Hay muchas maneras de construir la autenticación en un producto con prioridad en API como SparkPost, y la que elegimos desde el principio es el uso de claves de API. Inyectar tu clave de API como un encabezado de Autorización bruto o a través de HTTP Basic Auth estándar hace que sea muy fácil usar nuestras APIs. Las claves de API como esta son un estándar común para los servicios web, pero ¿qué tan seguro es este sistema?

Hay muchas maneras de construir la autenticación en un producto con prioridad en API como SparkPost, y la que elegimos desde el principio es el uso de claves de API. Inyectar tu clave de API como un encabezado de Autorización bruto o a través de HTTP Basic Auth estándar hace que sea muy fácil usar nuestras APIs. Las claves de API como esta son un estándar común para los servicios web, pero ¿qué tan seguro es este sistema?

Hay muchas maneras de construir la autenticación en un producto con prioridad en API como SparkPost, y la que elegimos desde el principio es el uso de claves de API. Inyectar tu clave de API como un encabezado de Autorización bruto o a través de HTTP Basic Auth estándar hace que sea muy fácil usar nuestras APIs. Las claves de API como esta son un estándar común para los servicios web, pero ¿qué tan seguro es este sistema?

Los riesgos

Cuando se utiliza cualquier servicio web, si un atacante obtiene tu clave de API, puede actuar en tu nombre y hacer cosas como (en nuestro caso):

  • enviar su correo electrónico gratis a través de tu cuenta

  • descargar tu lista de destinatarios y alimentarlos a los spammers (si no son ellos mismos spammers)

  • editar tus plantillas para inyectar enlaces de phishing

  • enviar spam o phishing en tu nombre

Cualquiera de estos resultados podría ser muy perjudicial para tu reputación y para tu negocio, y en el caso del phishing, potencialmente dañar directamente a tus usuarios finales.  Por eso es extremadamente importante asegurarse de que nadie pueda descubrir tu clave de API.

Cuando se utiliza cualquier servicio web, si un atacante obtiene tu clave de API, puede actuar en tu nombre y hacer cosas como (en nuestro caso):

  • enviar su correo electrónico gratis a través de tu cuenta

  • descargar tu lista de destinatarios y alimentarlos a los spammers (si no son ellos mismos spammers)

  • editar tus plantillas para inyectar enlaces de phishing

  • enviar spam o phishing en tu nombre

Cualquiera de estos resultados podría ser muy perjudicial para tu reputación y para tu negocio, y en el caso del phishing, potencialmente dañar directamente a tus usuarios finales.  Por eso es extremadamente importante asegurarse de que nadie pueda descubrir tu clave de API.

Cuando se utiliza cualquier servicio web, si un atacante obtiene tu clave de API, puede actuar en tu nombre y hacer cosas como (en nuestro caso):

  • enviar su correo electrónico gratis a través de tu cuenta

  • descargar tu lista de destinatarios y alimentarlos a los spammers (si no son ellos mismos spammers)

  • editar tus plantillas para inyectar enlaces de phishing

  • enviar spam o phishing en tu nombre

Cualquiera de estos resultados podría ser muy perjudicial para tu reputación y para tu negocio, y en el caso del phishing, potencialmente dañar directamente a tus usuarios finales.  Por eso es extremadamente importante asegurarse de que nadie pueda descubrir tu clave de API.

Las probabilidades

¿Escuché bruteforce? Nuestras claves API son cadenas hexadecimales de 40 caracteres generadas aleatoriamente. Esto hace un total de 1.4615e+48 claves API. Si todos los 3 mil millones de computadoras y smartphones en el mundo intentaran 100 claves API por segundo, asumiendo que nuestros servidores lo permitirían, pasar por todas las posibles claves API tomaría más de 150,000,000,000,000,000,000,000,000,000 años. Así que forzar por fuerza bruta la clave API simplemente no tiene sentido.

¿Cómo puede alguien encontrar tu clave API? Dado que la clave se pasa como un encabezado, puede ser leída con ataques man-in-the-middle, por lo que siempre debes asegurarte de que tu cliente verifique los certificados SSL al conectarse a nuestras APIs (esta es una razón mayor por la que requerimos https para conexiones API). Además, si eres descuidado con tu uso de repositorios de código público como github, tu clave API puede quedar fácilmente expuesta. Esto no es un problema académico: se sabe que hay bots rastreando github para encontrar claves API, y ha habido ataques exitosos a través de ese vector.

¿Escuché bruteforce? Nuestras claves API son cadenas hexadecimales de 40 caracteres generadas aleatoriamente. Esto hace un total de 1.4615e+48 claves API. Si todos los 3 mil millones de computadoras y smartphones en el mundo intentaran 100 claves API por segundo, asumiendo que nuestros servidores lo permitirían, pasar por todas las posibles claves API tomaría más de 150,000,000,000,000,000,000,000,000,000 años. Así que forzar por fuerza bruta la clave API simplemente no tiene sentido.

¿Cómo puede alguien encontrar tu clave API? Dado que la clave se pasa como un encabezado, puede ser leída con ataques man-in-the-middle, por lo que siempre debes asegurarte de que tu cliente verifique los certificados SSL al conectarse a nuestras APIs (esta es una razón mayor por la que requerimos https para conexiones API). Además, si eres descuidado con tu uso de repositorios de código público como github, tu clave API puede quedar fácilmente expuesta. Esto no es un problema académico: se sabe que hay bots rastreando github para encontrar claves API, y ha habido ataques exitosos a través de ese vector.

¿Escuché bruteforce? Nuestras claves API son cadenas hexadecimales de 40 caracteres generadas aleatoriamente. Esto hace un total de 1.4615e+48 claves API. Si todos los 3 mil millones de computadoras y smartphones en el mundo intentaran 100 claves API por segundo, asumiendo que nuestros servidores lo permitirían, pasar por todas las posibles claves API tomaría más de 150,000,000,000,000,000,000,000,000,000 años. Así que forzar por fuerza bruta la clave API simplemente no tiene sentido.

¿Cómo puede alguien encontrar tu clave API? Dado que la clave se pasa como un encabezado, puede ser leída con ataques man-in-the-middle, por lo que siempre debes asegurarte de que tu cliente verifique los certificados SSL al conectarse a nuestras APIs (esta es una razón mayor por la que requerimos https para conexiones API). Además, si eres descuidado con tu uso de repositorios de código público como github, tu clave API puede quedar fácilmente expuesta. Esto no es un problema académico: se sabe que hay bots rastreando github para encontrar claves API, y ha habido ataques exitosos a través de ese vector.

La lista blanca de IP al rescate

Cuando creas una clave API, ahora puedes especificar una lista de IPs que están autorizadas a usar esta clave. Puedes especificar varias IPs, así como bloques de IPs, utilizando la notación CIDR, para que no tengas que listar tus servidores individualmente. Cuando se utiliza la clave API, para REST APIs o SMTP, combinaremos el IP de conexión con esta lista para permitir o denegar el acceso.

Con esta función, incluso si tu clave API es encontrada o robada, solo tus servidores podrán usarla.

Amenazas Comunes a la Clave API y Mitigaciones

Amenaza

Descripción

Mitigación Recomendada

Exposición de clave en repositorios de código público

Claves API comprometidas en GitHub pueden ser obtenidas por bots

Mantener las claves en variables de entorno; rotar claves filtradas inmediatamente

Intercepción de hombre en el medio

Clave API leída durante conexiones inseguras

Siempre aplicar HTTPS y validar certificados SSL

Uso de clave API robada desde infraestructura del atacante

El atacante puede enviar correos, robar datos o modificar plantillas

Utilizar lista blanca de IPs para restringir qué IPs pueden usar la clave

Claves API "navaja suiza" con exceso de permisos

Una sola clave otorga demasiados privilegios si se compromete

Crear múltiples claves de alcance limitado con permisos restringidos

Integraciones de terceros que malutilizan una clave compartida

Socios externos pueden accidentalmente exponer o malutilizar tu clave

Generar claves dedicadas para cada socio con IPs y permisos restringidos

Dados los riesgos y lo fácil que es configurarlo, recomendamos encarecidamente a todos nuestros clientes utilizar esta función.

Cuando creas una clave API, ahora puedes especificar una lista de IPs que están autorizadas a usar esta clave. Puedes especificar varias IPs, así como bloques de IPs, utilizando la notación CIDR, para que no tengas que listar tus servidores individualmente. Cuando se utiliza la clave API, para REST APIs o SMTP, combinaremos el IP de conexión con esta lista para permitir o denegar el acceso.

Con esta función, incluso si tu clave API es encontrada o robada, solo tus servidores podrán usarla.

Amenazas Comunes a la Clave API y Mitigaciones

Amenaza

Descripción

Mitigación Recomendada

Exposición de clave en repositorios de código público

Claves API comprometidas en GitHub pueden ser obtenidas por bots

Mantener las claves en variables de entorno; rotar claves filtradas inmediatamente

Intercepción de hombre en el medio

Clave API leída durante conexiones inseguras

Siempre aplicar HTTPS y validar certificados SSL

Uso de clave API robada desde infraestructura del atacante

El atacante puede enviar correos, robar datos o modificar plantillas

Utilizar lista blanca de IPs para restringir qué IPs pueden usar la clave

Claves API "navaja suiza" con exceso de permisos

Una sola clave otorga demasiados privilegios si se compromete

Crear múltiples claves de alcance limitado con permisos restringidos

Integraciones de terceros que malutilizan una clave compartida

Socios externos pueden accidentalmente exponer o malutilizar tu clave

Generar claves dedicadas para cada socio con IPs y permisos restringidos

Dados los riesgos y lo fácil que es configurarlo, recomendamos encarecidamente a todos nuestros clientes utilizar esta función.

Cuando creas una clave API, ahora puedes especificar una lista de IPs que están autorizadas a usar esta clave. Puedes especificar varias IPs, así como bloques de IPs, utilizando la notación CIDR, para que no tengas que listar tus servidores individualmente. Cuando se utiliza la clave API, para REST APIs o SMTP, combinaremos el IP de conexión con esta lista para permitir o denegar el acceso.

Con esta función, incluso si tu clave API es encontrada o robada, solo tus servidores podrán usarla.

Amenazas Comunes a la Clave API y Mitigaciones

Amenaza

Descripción

Mitigación Recomendada

Exposición de clave en repositorios de código público

Claves API comprometidas en GitHub pueden ser obtenidas por bots

Mantener las claves en variables de entorno; rotar claves filtradas inmediatamente

Intercepción de hombre en el medio

Clave API leída durante conexiones inseguras

Siempre aplicar HTTPS y validar certificados SSL

Uso de clave API robada desde infraestructura del atacante

El atacante puede enviar correos, robar datos o modificar plantillas

Utilizar lista blanca de IPs para restringir qué IPs pueden usar la clave

Claves API "navaja suiza" con exceso de permisos

Una sola clave otorga demasiados privilegios si se compromete

Crear múltiples claves de alcance limitado con permisos restringidos

Integraciones de terceros que malutilizan una clave compartida

Socios externos pueden accidentalmente exponer o malutilizar tu clave

Generar claves dedicadas para cada socio con IPs y permisos restringidos

Dados los riesgos y lo fácil que es configurarlo, recomendamos encarecidamente a todos nuestros clientes utilizar esta función.

Últimas palabras

Algunas recomendaciones personales sobre seguridad:

  • No mantengas tus claves API en el código. Hay muchos beneficios en mantenerlas como variables de entorno, como hace Heroku

  • Puedes crear una cantidad ilimitada de claves API, y es mejor para la seguridad dividir las responsabilidades entre varias claves API, en lugar de solo una clave tipo navaja suiza. Esto también te permitiría tener diferentes listas blancas de IP por clave, para una aún mejor separación de preocupaciones

  • Si trabajas con terceros, no compartas tu clave API sino crea una nueva para ellos, con solo los permisos necesarios, y adjunta a sus IPs

  • Dado que las claves API solo pueden crearse a través de la interfaz, habilitar la autenticación de dos factores en tu cuenta de SparkPost es imprescindible y solo toma 2 minutos

Algunas recomendaciones personales sobre seguridad:

  • No mantengas tus claves API en el código. Hay muchos beneficios en mantenerlas como variables de entorno, como hace Heroku

  • Puedes crear una cantidad ilimitada de claves API, y es mejor para la seguridad dividir las responsabilidades entre varias claves API, en lugar de solo una clave tipo navaja suiza. Esto también te permitiría tener diferentes listas blancas de IP por clave, para una aún mejor separación de preocupaciones

  • Si trabajas con terceros, no compartas tu clave API sino crea una nueva para ellos, con solo los permisos necesarios, y adjunta a sus IPs

  • Dado que las claves API solo pueden crearse a través de la interfaz, habilitar la autenticación de dos factores en tu cuenta de SparkPost es imprescindible y solo toma 2 minutos

Algunas recomendaciones personales sobre seguridad:

  • No mantengas tus claves API en el código. Hay muchos beneficios en mantenerlas como variables de entorno, como hace Heroku

  • Puedes crear una cantidad ilimitada de claves API, y es mejor para la seguridad dividir las responsabilidades entre varias claves API, en lugar de solo una clave tipo navaja suiza. Esto también te permitiría tener diferentes listas blancas de IP por clave, para una aún mejor separación de preocupaciones

  • Si trabajas con terceros, no compartas tu clave API sino crea una nueva para ellos, con solo los permisos necesarios, y adjunta a sus IPs

  • Dado que las claves API solo pueden crearse a través de la interfaz, habilitar la autenticación de dos factores en tu cuenta de SparkPost es imprescindible y solo toma 2 minutos

Otras noticias

Leer más de esta categoría

A person is standing at a desk while typing on a laptop.

La plataforma completa AI-native que escala con tu negocio.

© 2025 Bird

A person is standing at a desk while typing on a laptop.

La plataforma completa AI-native que escala con tu negocio.

© 2025 Bird