Saltar al contenido
Inteligencia IP

Inteligencia IP contra el cibercrimen: cómo prevenir ciberataques

Inteligencia IP contra el cibercrimen: qué señales de ASN, VPN, Tor y hosting frenan cada ataque, con código Python probado para 7 defensas y consultas reales de hoy.

PorEquipo de GeoIPHubPublicadoActualizadoTiempo de lectura34 min de lectura
Un nodo centinela en el borde de un horizonte de datos que disuelve haces hostiles, en representación de la inteligencia IP contra el cibercrimen

Cuando consultamos tres direcciones públicas el 15 de octubre de 2026, un servidor VPN comercial confirmado por sondeo obtuvo 92 (block), un nodo de salida de Tor obtuvo 100 (block) y el propio host de pruebas de Nmap en un servidor en la nube de Linode obtuvo 10 (allow). Los tres están en centros de datos, pero solo se bloquearon los dos anonimizadores. Esa distancia entre "nube" y "delito" es de lo que trata el resto de esta guía.

Lo que está en juego está medido, no proyectado. El Internet Crime Complaint Center del FBI recibió 1.008.597 denuncias en 2025, el primer año por encima del millón, con 20.877 millones de dólares en pérdidas declaradas, un 26% más que en 2024 (IC3 2025 Internet Crime Report). Y el tráfico que transporta los ataques es cada vez menos humano: el Bad Bot Report 2026 de Imperva concluyó que el tráfico automatizado supuso más del 53% de todo el tráfico web en 2025, frente al 51% del año anterior.

Esta guía explica qué son las señales, qué categorías de delito frenan, siete defensas con código Python que hoy probamos contra direcciones reales, una matriz de señales y ataques, y los casos en los que los datos IP no tienen nada que decir.

Un mosaico de paneles translúcidos, cada uno iluminado por una señal distinta, en representación de las señales que componen un veredicto sobre una IP
La IP de origen es lo primero que sabes de una solicitud, y a menudo lo más útil.

Lo que la inteligencia IP añade a una dirección sin más

La inteligencia IP es el enriquecimiento de una dirección IP sin procesar con todo lo que revela sobre su origen y su fiabilidad. Una dirección sin más es solo un número. Pásala por un pipeline de enriquecimiento y se convierte en un perfil:

  • Geolocalización: país, región, ciudad aproximada y zona horaria.
  • Propiedad de la red: el número de sistema autónomo (ASN) y la organización que controla el espacio de direcciones.
  • Tipo de conexión: banda ancha residencial, móvil, empresarial, o hosting y centro de datos.
  • Indicadores de anonimizador: ¿es esto una VPN, un proxy o un nodo de salida de Tor?
  • Señales de amenaza y abuso: ¿se ha visto esta dirección escaneando, enviando spam o en una lista de bloqueo DNS?
  • Una puntuación de riesgo compuesta: un único número que fusiona las señales anteriores en una decisión de permitir, revisar, pedir verificación adicional o bloquear.

La distinción que confunde a la gente: esto no es lo mismo que la geolocalización IP. La geolocalización solo responde a "¿dónde está esta IP?" y, como explicamos en qué precisión tiene realmente la geolocalización IP, tiene una precisión de alrededor del 99% a nivel de país, pero mucho menor a nivel de ciudad. La disciplina más amplia, que desglosamos capa por capa en nuestra guía sobre lo que cubre la inteligencia IP más allá de la ubicación, añade las capas de red, tipo de conexión, anonimizador y reputación que responden a la pregunta que de verdad importa a los equipos de fraude y seguridad: ¿puedo confiar en esta conexión? La mayoría de las implementaciones solo leen el campo del país, y el campo del país por sí solo no dice casi nada sobre si una solicitud es legítima.

Por qué la IP de origen es la primera señal en una defensa contra el cibercrimen

La IP de origen es la primera señal porque un atacante puede falsificar casi todo lo demás, pero tiene que mostrarte una dirección enrutable. Tres hechos estructurales la hacen valiosa.

1. Es inevitable. Un atacante puede falsificar un User-Agent, inventarse un email, comprar una tarjeta robada y falsificar la huella digital de un dispositivo. Lo que no puede hacer es llegar a tu servidor sin una IP de origen que tú puedas observar. Puede esconderse detrás de una infraestructura, pero la propia infraestructura deja huellas.

2. Los atacantes reutilizan infraestructura a gran escala. El cibercrimen rentable está industrializado. Los kits de credential stuffing machacan miles de cuentas desde servidores alquilados; las redes de pruebas de tarjetas recorren rangos de centros de datos; los scrapers y los revendedores funcionan desde pools de nube y de proxies. Esa reutilización es justamente lo que dejan al descubierto las señales de red: un inicio de sesión desde un ASN de hosting, un pago desde un rango de centro de datos, un "comprador" que llega a través de un proxy abierto.

3. Está disponible antes del paso costoso. La IP está presente desde el primer paquete, antes de la autenticación y antes de la autorización del pago. Eso la convierte en el lugar más barato para clasificar el riesgo, de modo que tus defensas caras (desafíos MFA, revisión manual, KYC reforzado) solo se activen cuando estén justificadas.

El inconveniente, al que volvemos más abajo, es que la IP es una señal, no un veredicto. La habilidad está en usarla para decidir quién merece más escrutinio, no para imponer prohibiciones generalizadas.

Las categorías de cibercrimen que frenan las señales IP

El cibercrimen no es una sola cosa, así que tampoco lo es el papel de la IP para frenarlo. Así contribuye la IP de origen en las principales categorías de ataque, con la guía en profundidad de cada una.

Robo de cuentas y credential stuffing

El credential stuffing (reutilizar pares de usuario y contraseña filtrados contra formularios de inicio de sesión) es hoy la vía dominante hacia el robo de cuentas. El ataque solo es rentable porque está automatizado y repartido entre infraestructura barata. Una consulta marca los ASN de hosting, los proxies y las salidas anonimizadas en los que se apoya el stuffing masivo, y alimenta una imagen de velocidad (¿cuántas cuentas está tocando esta IP?) que un solo inicio de sesión no puede revelar. El matiz: el bloqueo por IP por sí solo falla, porque los actores sofisticados se pasan a los proxies residenciales, así que la IP tiene que ser una señal de riesgo, no toda la decisión.

Fraude en pagos, pruebas de tarjetas y abuso en el pago

El pago es donde el cibercrimen se convierte en dinero, y por eso atrae a bots de carding, scripts de pruebas de tarjetas y, cada vez más, agentes de compras de IA automatizados. Las pruebas de tarjetas funcionan como autorizaciones de alta velocidad y bajo importe, a menudo desde IP de centros de datos y de proxies. Las señales de tipo de conexión y de riesgo te permiten aumentar la fricción en la minoría sospechosa de pagos y dejar intactas las sesiones legítimas (incluido el tráfico de agentes legítimos). Dónde trazar la línea se responde en a partir de qué puntuación de fraude IP deberías bloquear.

Bots, scrapers y suplantación de rastreadores

Con los bots ya como mayoría del tráfico web, distinguir un rastreador real de un suplantador importa en cada endpoint. Una cabecera User-Agent: GPTBot es una afirmación que cualquiera puede enviar. HUMAN Security comprobó que el 5,7% de todo el tráfico observado que presentaba un user agent de rastreador o scraper de IA estaba falsificado. La defensa es la procedencia: verificar rastreadores y agentes de IA por IP mediante DNS inverso, rangos CIDR publicados y Web Bot Auth. Una consulta no puede ver el User-Agent, así que la comparación entre el nombre declarado y threat.crawler.verified se hace en tu código. Para el panorama general, consulta cómo clasifican los datos IP a los bots en clases, y para los scrapers que copian tu contenido o tus precios, nuestra guía de detección de web scraping.

Abuso de la anonimización: VPN, proxies y Tor

La anonimización es el camuflaje del ciberdelincuente, pero también la usan millones de personas perfectamente legítimas que se preocupan por su privacidad. La detección moderna de VPN y proxies separa a unos de otros mediante las listas de servidores de los proveedores, el análisis de ASN y el sondeo activo de protocolos, en lugar de una lista de bloqueo desactualizada. La variante más peligrosa es el proxy residencial: redes que enrutan el tráfico a través de dispositivos reales de consumidores. Infoblox midió que las consultas DNS a dominios de proxies residenciales pasaron de casi 400.000 millones al mes en enero de 2025 a más de 500.000 millones al mes en abril de 2026. Los datos IP por sí solos no pueden marcarlos de forma fiable, y GeoIPHub no detecta proxies residenciales, así que hay que atraparlos con señales de dispositivo, de comportamiento y de velocidad. Cómo gestionar el tráfico anonimizado sin rechazar a los usuarios legítimos de VPN es el tema de detectar tráfico anonimizado sin bloquear a clientes reales.

Cuentas falsas, identidad sintética y fraude con cuentas nuevas

El abuso de bonos, la acumulación de referidos, las mulas de dinero y las redes de identidades sintéticas dependen de crear cuentas a gran escala. Como cada cuenta falsa necesita un origen "de aspecto nuevo", los atacantes van agotando IP de proxies y de centros de datos, que es justamente la infraestructura que estas señales sacan a la luz. Incorporar la puntuación de riesgo al registro es una de las formas más baratas de encarecer la creación masiva de cuentas. Nuestra comprobación del registro según el tipo de IP muestra lo que devuelve cada tipo de dirección y qué hacer con ello.

Fraude geográfico, falsificación de la ubicación y evasión de sanciones

El abuso de promociones, la elusión de las licencias de contenido y la evasión de sanciones dependen de falsificar una ubicación. Aquí la consulta cumple una doble función: la geolocalización establece la ubicación declarada, mientras que los indicadores de VPN, proxy y tipo de conexión revelan si esa ubicación se está falsificando. La defensa de restricción geográfica que verás más abajo muestra por qué la comprobación del país no significa nada sin la comprobación del anonimizador a su lado.

Tres consultas de hoy: VPN 92, nodo de salida de Tor 100, host en la nube 10

La puntuación sigue a la evidencia, no al tipo de red. Hicimos estas tres consultas el 15 de octubre de 2026 contra el endpoint público (sin clave, 30 consultas por minuto), y las respuestas siguientes son copias recortadas de la salida real. Los resultados cambian a medida que se mueven los rangos.

GeoIPHub API
curl https://api.geoiphub.com/v1/lookup/102.129.235.17
GeoIPHub API
{ "ip": "102.129.235.17", "asn": { "asn": 834, "org": "IPXO - IPXO LLC", "asn_type": "vpn", "connection_type": "datacenter" }, "detection": { "is_vpn": true, "is_hosting": false, "is_anonymous": true, "vpn_provider": "none", "vpn_confidence": 100 }, "scoring": { "fraud_score": 92, "recommended_action": "block", "detection_methods": ["known_vpn_server", "openvpn_open", "ipsec_open"] } }
GeoIPHub API
{ "ip": "185.220.101.47", "asn": { "asn": 60729, "org": "TORSERVERS-NET - Stiftung Erneuerbare Freiheit", "asn_type": "hosting", "connection_type": "datacenter" }, "geo": { "country_code": "DE", "city": "Hamburg (Hamburg-Nord)" }, "detection": { "is_tor": true, "is_hosting": true, "is_anonymous": true }, "threat": { "is_spammer": true, "threat_types": ["spammer", "tor"], "dnsbl_sources": ["bl.spamcop.net"] }, "scoring": { "fraud_score": 100, "recommended_action": "block", "detection_methods": ["tor_exit", "datacenter_blocklisted", "no_ptr_datacenter", "known_spammer"] } }
GeoIPHub API
{ "ip": "45.33.32.156", "asn": { "asn": 63949, "org": "AKAMAI-LINODE-AP - Akamai Connected Cloud", "asn_type": "hosting", "connection_type": "datacenter" }, "detection": { "is_vpn": false, "is_hosting": true, "is_anonymous": false }, "scoring": { "fraud_score": 10, "recommended_action": "allow", "detection_methods": ["datacenter_ip"] } }

Los detection_methods del servidor VPN muestran tres confirmaciones independientes: la IP coincide con un servidor VPN conocido, y nuestros sondeos completaron handshakes reales de OpenVPN e IPsec con ella. Esa corroboración la lleva a la banda de bloqueo, aunque vpn_provider sea "none" porque la dirección no está en la lista de ningún proveedor. El nodo de salida de Tor acumula la lista de nodos de salida del Tor Project y una entrada en SpamCop, así que llega al techo de 100.

Uno de los métodos de la respuesta de Tor es más débil de lo que parece. no_ptr_datacenter dice que la dirección no tiene DNS inverso, pero un dig -x en vivo que ejecutamos esa misma mañana devolvió un nombre de host para ella. Nuestros datos PTR almacenados tienen huecos en algunas direcciones, así que da a ese método el menor peso cuando revises este veredicto.

El host de pruebas de Nmap solo tiene la señal de hosting, así que obtiene 10 y allow. Muchas API, monitores y agentes de IA legítimos funcionan en servidores en la nube, y el hosting por sí solo no es evidencia de delito. Incluso el block de la VPN es un valor por defecto que puedes anular según el flujo, como muestran las defensas siguientes.

Por qué una puntuación de riesgo es mejor que una lista de bloqueo

Una puntuación es mejor que una lista de bloqueo porque la IP es una señal, no un veredicto. Una sola IPv4 residencial puede estar compartida por cientos de personas detrás de un NAT de operador (CGNAT), así que un cliente real y un estafador pueden estar en la misma dirección. Una IP residencial impecable puede alojar un proxy. Una IP de centro de datos puede pertenecer a una VPN corporativa legítima.

El patrón duradero es convertir las señales IP en una puntuación de riesgo y después enrutar la decisión según ella:

GeoIPHub API
Incoming request | v [ IP lookup ] ASN, connection type, VPN / proxy / Tor, hosting, reputation | v [ Risk score 0-100 ] fuse with device, behavioral, velocity and identity signals | +-- low : allow (don't punish the legitimate majority) +-- medium : step-up / challenge (MFA, CAPTCHA, manual review) +-- high : block or hold

Esta es la diferencia entre poner IP en listas de bloqueo (frágil, con muchos falsos positivos, fácil de eludir) y puntuar el riesgo de las conexiones (gradual, explicable, resistente). Cada motivo que puede nombrar una puntuación explicable, con su peso, se enumera en motivos de la puntuación de riesgo, campo por campo.

Cómo prevenir ciberataques con la geolocalización IP y las señales de red

Para prevenir ciberataques con la geolocalización IP hay que leer más que el país: los grupos geo, asn, detection, threat y scoring de una misma consulta alimentan cada uno una defensa distinta. Las siete siguientes son las que vemos con más frecuencia, cada una con código Python que puedes pegar. Todas llaman a una pequeña función auxiliar:

GeoIPHub API
import json import urllib.request API = "https://api.geoiphub.com/v1/lookup/" def geoiphub_lookup(ip: str, api_key: str = "") -> dict: # The API currently answers 403 to urllib's default User-Agent, so send your own. # Without a key you get 30 lookups a minute; with one, 1,500 a day on the free tier. headers = {"User-Agent": "my-app/1.0"} if api_key: headers["x-api-key"] = api_key req = urllib.request.Request(API + ip, headers=headers) with urllib.request.urlopen(req, timeout=5) as resp: return json.load(resp)

1. Bloquea el abuso conocido en el perímetro, pero deja pasar a los rastreadores verificados

La defensa más barata rechaza escáneres, nodos de botnets y nodos de salida de Tor antes de que lleguen a tu aplicación, y deja todo lo demás a la puntuación. Hay dos detalles importantes. Los rastreadores verificados van primero, porque uno real puede estar en un rango de una lista de bloqueo (la 5.39.1.230 de AhrefsBot devuelve is_abusive: true). Y el indicador de escáner se lee directamente, porque no mueve fraud_score: el escáner de Censys en 162.142.125.10 obtiene 0.

GeoIPHub API
def check_ip_at_entry(ip: str) -> dict: data = geoiphub_lookup(ip) threat, scoring = data["threat"], data["scoring"] # Verified search and AI crawlers can sit on blocklisted ranges: let them through if threat["crawler"]["verified"]: return {"action": "allow", "reason": "verified_crawler"} # Scanner and botnet flags don't move fraud_score, so read them directly if threat["is_scanner"] or threat["is_botnet"]: return {"action": "block", "reason": "scanner_or_botnet"} # Tor exit at an entry point that handles accounts or money if data["detection"]["is_tor"]: return {"action": "block", "reason": "tor_exit"} return {"action": scoring["recommended_action"], "fraud_score": scoring["fraud_score"]}

Calibra según el flujo. Un formulario de restablecimiento de contraseña puede actuar con step_up, mientras que un endpoint de contenido público quizá solo actúe con block. El campo scoring.confidence (de 0,0 a 1,0) indica cuánta evidencia hay detrás de la puntuación, así que reserva los bloqueos definitivos para los veredictos con evidencia sólida.

2. Trata el tráfico de VPN, proxies y Tor según el flujo

Los anonimizadores merecen un trato distinto según el flujo, porque las VPN comerciales transportan a millones de usuarios normales, mientras que los proxies abiertos y los nodos de salida de Tor en un pago rara vez pertenecen a uno. Bloquear todas las VPN es demasiado amplio para la mayoría de los productos.

GeoIPHub API
SENSITIVE_FLOWS = {"login", "signup", "checkout"} def anonymization_response(ip: str, flow: str) -> str: det = geoiphub_lookup(ip)["detection"] sensitive = flow in SENSITIVE_FLOWS if det["is_tor"] or det["is_proxy"]: return "block" if sensitive else "challenge" # Commercial VPNs carry millions of ordinary users: add friction only where money moves if det["is_vpn"]: return "challenge" if flow == "checkout" else "allow_and_log" # iCloud Private Relay is a Safari setting, not an attack tool return "allow"

La evidencia detrás de cada indicador:

  • detection.is_vpn: una coincidencia con las propias listas de servidores de los proveedores más una lista pública de terceros (incluida la etiqueta WireGuard que llevan esas listas), y handshakes reales de OpenVPN e IPsec de nuestros sondeos.
  • detection.is_proxy: sondeos de handshake para proxies SOCKS4, SOCKS5, HTTP CONNECT y HTTP forward.
  • detection.is_tor: la lista oficial de nodos de salida del Tor Project, actualizada a diario.
  • detection.is_relay: iCloud Private Relay y las salidas de privacidad de Cloudflare, que dejamos pasar a propósito.

Los proxies residenciales no están en esta lista. La API no los detecta, así que no construyas una regla sobre is_residential_proxy.

3. Aplica restricciones geográficas solo junto con la detección de VPN

La restricción geográfica solo funciona cuando la comprobación del país y la del anonimizador se ejecutan juntas. Si bloqueas un país sancionado pero permites las solicitudes con is_vpn: true, los usuarios de ese país se conectan a través de un servidor VPN en Alemania y el bloqueo falla.

GeoIPHub API
BLOCKED_COUNTRIES = {"KP", "IR", "CU"} # example only: your compliance team owns this list RESTRICTED_FLOWS = {"checkout", "download", "api_access"} def check_geo_compliance(ip: str, flow: str) -> dict: if flow not in RESTRICTED_FLOWS: return {"action": "allow"} data = geoiphub_lookup(ip) det = data["detection"] # Behind an anonymizer the apparent country is the server's, not the user's if det["is_anonymous"]: return {"action": "block", "reason": "country_unverifiable"} # Relay geolocation is approximate: confirm the country from Apple's egress list if det["is_relay"]: return {"action": "verify_country", "reason": "private_relay"} if data["geo"]["country_code"] in BLOCKED_COUNTRIES: return {"action": "block", "reason": "geo_compliance"} return {"action": "allow"}

La rama del relay está ahí por un hueco que encontramos en nuestros propios datos. Apple mantiene la salida de Private Relay en el país del usuario, pero para la dirección de relay 104.28.46.99 nuestra base de datos dice Angola, mientras que la propia lista de salidas de Apple dice Zambia. Un relay devuelve is_anonymous: false, así que sin esa rama la comprobación del país confiaría en la respuesta equivocada.

4. Marca los viajes imposibles en los inicios de sesión

El viaje imposible es una de las señales de robo de cuentas más fiables: nadie inicia sesión desde Londres y luego desde California 30 minutos después. Guarda las coordenadas de cada inicio de sesión, calcula la distancia al anterior y marca los pares que requerirían un avión más rápido que unos 900 km/h.

GeoIPHub API
import math from datetime import datetime, timezone MIN_DISTANCE_KM = 500 # below this, city-level geolocation error can fake a "jump" MAX_SPEED_KMH = 900 # roughly a commercial jet def haversine_km(lat1, lon1, lat2, lon2) -> float: r = 6371 dlat = math.radians(lat2 - lat1) dlon = math.radians(lon2 - lon1) a = (math.sin(dlat / 2) ** 2 + math.cos(math.radians(lat1)) * math.cos(math.radians(lat2)) * math.sin(dlon / 2) ** 2) return r * 2 * math.asin(math.sqrt(a)) def check_impossible_travel(previous, current_ip: str) -> dict: # previous: your last stored login for this user, e.g. # {"latitude": 51.5, "longitude": -0.12, "at": datetime(..., tzinfo=timezone.utc)} data = geoiphub_lookup(current_ip) det, geo = data["detection"], data["geo"] # A VPN, Tor or relay location is not where the person is: don't compare it or store it if det["is_anonymous"] or det["is_relay"]: return {"action": "skip", "reason": "location_not_reliable"} if previous is None: return {"action": "allow"} distance_km = haversine_km(previous["latitude"], previous["longitude"], geo["latitude"], geo["longitude"]) hours = (datetime.now(timezone.utc) - previous["at"]).total_seconds() / 3600 if distance_km > MIN_DISTANCE_KM and hours < distance_km / MAX_SPEED_KMH: return {"action": "step_up", "reason": "impossible_travel", "distance_km": round(distance_km), "hours_elapsed": round(hours, 1)} return {"action": "allow"}

Con un inicio de sesión en Londres guardado 30 minutos antes, el host de Linode en Fremont devolvió step_up a 8.617 km. Dos notas de calibración. Los usuarios de VPN activan el viaje imposible cada vez que cambian de servidor, y por eso los inicios de sesión anonimizados se omiten en lugar de guardarse. Y los operadores móviles enrutan a muchos usuarios a través de direcciones compartidas con datos de ciudad poco precisos, así que el mínimo de 500 km evita que la deriva de la ubicación parezca un vuelo.

5. Limita la tasa según el tipo de red

Los límites de tasa funcionan mejor cuando siguen a la red que hay detrás de la IP. Una sola dirección móvil puede transportar a cientos de personas reales detrás del NAT del operador, así que limitarla con dureza bloquea a clientes. Una dirección en la nube suele ser un solo script, aunque a veces es un agente de IA que actúa en nombre de un comprador real, así que desafíala en lugar de prohibirla.

GeoIPHub API
RATE_LIMITS = { "isp": {"per_minute": 60, "on_exceed": "delay"}, "mobile": {"per_minute": 120, "on_exceed": "delay"}, # carrier NAT puts many people on one IP "hosting": {"per_minute": 10, "on_exceed": "challenge"}, # usually one script, sometimes a real AI agent "vpn": {"per_minute": 20, "on_exceed": "challenge"}, } DEFAULT_LIMIT = {"per_minute": 30, "on_exceed": "delay"} # "unknown" and any new type def rate_limit_for(ip: str) -> dict: data = geoiphub_lookup(ip) if data["threat"]["crawler"]["verified"]: return {"per_minute": 120, "on_exceed": "delay"} if data["scoring"]["recommended_action"] == "block": return {"per_minute": 3, "on_exceed": "block"} return RATE_LIMITS.get(data["asn"]["asn_type"], DEFAULT_LIMIT)

Los números son valores iniciales que debes ajustar a tu propio tráfico, no óptimos medidos. Mantén un valor por defecto: el escáner de Censys devolvió asn_type: "unknown", que ninguna tabla fija incluiría. Los scrapers que alquilan IP domésticas y móviles se cuelan por cualquier regla basada en el tipo de red, y nuestra guía sobre cómo saber si están haciendo scraping de tu sitio explica las comprobaciones a nivel de logs que los atrapan.

6. Compara el país de la IP con el país de facturación en el pago

Una tarjeta con dirección de facturación en el Reino Unido usada desde una IP de otro país es un patrón muy significativo de fraude en pagos, siempre que puedas fiarte del país de la IP. Cuando un anonimizador lo oculta, pide en su lugar la autenticación 3-D Secure (3DS).

GeoIPHub API
def assess_checkout_geo_risk(ip: str, billing_country: str) -> dict: data = geoiphub_lookup(ip) det = data["detection"] if det["is_vpn"] or det["is_proxy"] or det["is_tor"]: return {"risk": "high", "reason": "anonymizer_hides_country", "action": "require_3ds"} # Private Relay keeps the user's country but our relay geolocation can miss it: skip the compare if det["is_relay"]: return {"risk": "standard", "reason": "private_relay", "action": "allow"} ip_country = data["geo"]["country_code"] if ip_country != billing_country: return {"risk": "elevated", "reason": f"ip_{ip_country}_billing_{billing_country}", "action": "require_3ds"} return {"risk": "standard", "action": "allow"}

No mantengas una lista escrita a mano de "países de riesgo". Los atacantes enrutan deliberadamente a través de IP de aspecto limpio en países de bajo riesgo, así que apunta a la infraestructura (estado de anonimizador, indicadores de abuso, tipo de ASN) y no a la geografía de la que parece proceder. Nuestra guía para reducir los contracargos profundiza en el flujo de pago.

7. Deja las sesiones de bots fuera de la analítica

Filtrar las sesiones automatizadas antes de que se registren en la analítica hace que tus datos de conversión, y cualquier modelo de pujas entrenado con ellos, se refieran a personas reales. A los rastreadores verificados se les sigue sirviendo contenido; simplemente no se cuentan.

GeoIPHub API
def should_record_session(ip: str) -> bool: data = geoiphub_lookup(ip) det, threat, scoring = data["detection"], data["threat"], data["scoring"] if threat["crawler"]["verified"]: return False # serve the crawler, but keep it out of analytics if det["is_tor"] or det["is_proxy"]: return False if scoring["recommended_action"] == "block": return False if det["is_hosting"] and scoring["fraud_score"] > 50: return False return True

El tráfico de pago tiene su propio método, que empieza por renunciar a la lista de exclusión de IP: consulta cómo detectar el fraude de clics por dirección IP.

Lo que devolvieron las siete comprobaciones para seis direcciones reales

El 15 de octubre de 2026 ejecutamos cada una de las funciones anteriores, exactamente tal como están publicadas, contra seis direcciones públicas. La columna del pago compara cada IP con una dirección de facturación de Estados Unidos.

IP (qué es)Comprobación en el perímetroAnonimizador en el inicio de sesiónLímite de tasaPago frente a tarjeta de EE. UU.Contar en la analítica
185.220.101.47 (nodo de salida de Tor)block: tor_exitblock3/min, blockhigh: require_3dsno
102.129.235.17 (VPN comercial)block: puntuación 92allow_and_log3/min, blockhigh: require_3dsno
45.33.32.156 (host de pruebas de Nmap, Linode)allow: puntuación 10allow10/min, challengestandard: allowsí
162.142.125.10 (escáner de Censys)block: scanner_or_botnetallow30/min, delaystandard: allowsí
5.39.1.230 (AhrefsBot, verificado)allow: verified_crawlerallow120/min, delayelevated: FR frente a USno
104.28.46.99 (iCloud Private Relay)allow: puntuación 9allow30/min, delaystandard: private_relaysí

Dos filas muestran por qué las comprobaciones tienen que ejecutarse juntas. El escáner de Censys supera todas las comprobaciones salvo la del perímetro, porque el indicador de escáner es su única señal. Y la VPN que la comprobación del perímetro bloquea solo por la puntuación únicamente queda registrada en el inicio de sesión, que es el comportamiento por flujo que buscas: bloquearla donde bloqueas de forma definitiva por puntuación y registrarla donde una VPN es normal.

Qué señal IP frena cada ataque

Cada señal corresponde a un ataque distinto y a una acción distinta. Úsalo como configuración inicial y después ajústalo según el flujo.

SeñalLo que detectaAcción recomendada
detection.is_tor: trueAnonimización con Tor en credential stuffing, carding y fraudeBloquear en flujos sensibles
detection.is_proxy: trueProxy SOCKS o HTTP abierto, normalmente herramientas de abusoBloquear en inicio de sesión, pago y registro
detection.is_vpn: trueVPN comercial, con uso mixto legítimo y abusivoDesafiar en el pago; permitir y registrar en el resto
detection.is_relay: trueiCloud Private Relay o salida de privacidad de CloudflarePermitir; no confiar en su ciudad
detection.is_hosting: true en un flujo de consumidorScripts, o un agente de IA que compra para una persona realDesafiar; bloquear solo con una puntuación alta
threat.is_scanner o is_botnet: trueInfraestructura de escaneo y de botnets (no mueve la puntuación)Bloquear en el perímetro
threat.crawler.verified: trueUn rastreador de búsqueda o de IA real en los rangos publicados por su operadorPermitir; excluir de la analítica
Distancia de más de 500 km a más de 900 km/hRobo de cuentas con credenciales robadasPedir verificación adicional y después marcar la cuenta
geo.country_code distinto del de facturación, sin anonimizadorPruebas de tarjetas, o un cliente de vacacionesExigir 3DS
scoring.fraud_score por encima de 75 (block)Varias señales que se corroboran a la vezBloquear o retener para revisión manual

Lo que los datos IP no pueden detectar

Los datos IP son un filtro de primera pasada, y hay tres tipos de ataque que lo atraviesan sin más. Para el procedimiento por incidente, desde la propiedad hasta el veredicto, consulta cómo investigar una dirección IP sospechosa.

Proxies residenciales con reputación limpia. Una IP añadida ayer a un pool de proxies no tiene historial de abuso y supera las comprobaciones de listas de bloqueo, y GeoIPHub no detecta proxies residenciales. Atraparlos requiere anomalías en la huella digital del dispositivo, en los tiempos de sesión y en las tasas de interacción.

Cuentas comprometidas en una conexión limpia. Un atacante con credenciales válidas en una conexión doméstica del país de la víctima no deja nada en los datos IP que se pueda marcar. Hacen falta señales de comportamiento (ritmo de escritura, navegación, divergencias en el historial de compras).

Ataques dirigidos. Un atacante que estudia tus defensas elegirá una IP residencial limpia en la ciudad de la víctima y superará todas las comprobaciones a nivel de IP. Aquí las defensas son la verificación por email y la vinculación de dispositivos.

El modelo correcto: la consulta filtra el volumen de ataques automatizados y poco sofisticados con un coste casi nulo por solicitud, para que las comprobaciones caras (huella digital del dispositivo, análisis de comportamiento, revisión manual) puedan centrarse en lo que queda.

Ejecutar estas comprobaciones en producción

Tres hábitos mantienen precisas las defensas basadas en IP después del lanzamiento.

Almacena en caché por IP, durante poco tiempo. Los datos de red cambian despacio dentro de una sesión, pero cambian: nuestros sondeos de VPN y proxies se ejecutan como máximo cada 12 horas y las fuentes de amenazas se actualizan cada 6 horas. Guarda en caché cada consulta durante la sesión, haz que caduque en menos de una hora para las decisiones de seguridad y en menos de un día para los campos geográficos simples. Una consulta por IP y por sesión es el modelo de coste práctico.

Registra la respuesta completa, no solo el veredicto. Cuando salta un bloqueo, quieres saber qué señal lo provocó. Guarda scoring.detection_methods y el scoring.fraud_score bruto con cada decisión. Así es como encuentras falsos positivos, como el método de PTR desactualizado de la muestra de Tor anterior, y ajustas los umbrales.

Ajusta los umbrales por flujo, no por sitio. Un restablecimiento de contraseña merece un umbral de bloqueo más bajo que la lectura de un artículo del blog. Mantén los umbrales en la configuración para que tu equipo de seguridad pueda ajustarlos sin un despliegue:

GeoIPHub API
FLOW_THRESHOLDS = { "checkout": {"block_above": 75, "challenge_above": 50}, "login": {"block_above": 80, "challenge_above": 55}, "signup": {"block_above": 85, "challenge_above": 60}, "api_read": {"block_above": 90, "challenge_above": 75}, }

Lo que devuelve una consulta de GeoIPHub frente a cada amenaza

GeoIPHub empaqueta toda esta capa en una sola llamada a la API. Una consulta devuelve más de 100 campos de datos en 10 grupos de respuesta (geolocalización, ASN y red, tipo de conexión, operador móvil, DNS inverso, indicadores de anonimizador y una puntuación de riesgo calculada), así que no tienes que combinar cinco proveedores para responder a una sola pregunta. Esto es lo que hace el trabajo frente a cada amenaza:

  • Una puntuación de riesgo de 0 a 100 a partir de 36 motivos ponderados. En lugar de un indicador de sí o no, GeoIPHub devuelve una puntuación explicable con bandas de decisión integradas, allow (25 o menos), review (50 o menos), step-up (75 o menos) y block (más de 75), de modo que la misma consulta puede ajustarse de forma más estricta en el pago que en el inicio de sesión.
  • Detección de VPN y proxies mediante sondeo activo. Más allá de las listas estáticas, GeoIPHub ejecuta sondeos reales de handshake en más de 25 puertos y 8 protocolos, y contrasta las propias listas de servidores de los proveedores de VPN con una lista pública de terceros, de modo que la respuesta refleja la infraestructura en vivo, no la lista de bloqueo del mes pasado.
  • Detección de centros de datos y hosting. La cobertura abarca 853 ASN de hosting seleccionados más los rangos oficiales de 10 proveedores de nube, la señal que deja al descubierto los bots de carding, los scrapers y la infraestructura de stuffing que se hacen pasar por navegadores.
  • Datos de nodos de salida de Tor actualizados a diario y 19 fuentes oficiales de rangos de rastreadores y bots de IA (Googlebot, GPTBot, ClaudeBot, PerplexityBot y más), para que las salidas anonimizadas y los bots que se identifican a sí mismos se puntúen frente a la realidad actual.
  • Más de 30 fuentes de datos y 5 fuentes WHOIS de RIR detrás de todo ello, con consultas en caché por debajo del milisegundo y las IP desconocidas clasificadas en vivo en menos de 2,5 segundos, lo bastante rápido para estar en línea en el inicio de sesión, el registro y el pago.

Además, respeta la privacidad por diseño: envías solo la IP que quieres clasificar y recibes atributos de red y de riesgo. No hacen falta nombres, emails ni datos de pago para puntuar una solicitud.

Puedes probar las señales directamente con la herramienta gratuita de consulta de IP, comprobar la puntuación de fraude de cualquier IP o probar la detección de VPN en tu propia conexión. Cuando quieras integrarlo en tu aplicación, la guía de integración en 10 minutos explica cómo puntuar cada solicitud con cURL, Node y Python, en un plan gratuito que devuelve todos los campos, 1.500 consultas al día, sin restricciones de campos.

Aumenta el coste para el atacante, no la fricción para tus clientes

El cibercrimen está industrializado, automatizado y es cada vez menos humano, y todo él viaja a través de una dirección IP que tú puedes inspeccionar primero. Los datos IP no frenarán el fraude por sí solos, y cualquier análisis honesto lo reconoce. Pero como capa de procedencia en una defensa por capas (la señal que te dice qué sesiones merecen una mirada más atenta), es uno de los controles más útiles y de menor fricción que puedes desplegar. Bien usado, aumenta el coste del ataque para la minoría delictiva sin penalizar a la mayoría legítima.

Preguntas frecuentes

¿Qué es la inteligencia IP?

La inteligencia IP es la práctica de enriquecer una dirección IP sin procesar con todo lo que revela sobre su origen y su fiabilidad: la geolocalización, la red propietaria (ASN), el tipo de conexión, si es un centro de datos, una VPN, un proxy o un nodo de salida de Tor, el historial de abuso y una puntuación de riesgo calculada. Convierte el atributo más universal de cualquier solicitud online en una señal de decisión sobre la que puedes actuar antes de que se escriba una contraseña o se cobre una tarjeta. Es más amplia que la geolocalización IP, que solo responde a "¿dónde está esta IP?"; el enriquecimiento también responde a "¿puedo confiar en ella?".

¿Cómo ayudan los datos IP a prevenir ciberataques?

Casi todos los ataques (credential stuffing, pruebas de tarjetas, scraping, creación de cuentas falsas, pagos fraudulentos) llegan a través de una dirección IP, y los atacantes reutilizan infraestructura a gran escala. Una consulta deja al descubierto las huellas que deja esa infraestructura: un inicio de sesión desde un ASN de hosting, un pago desde un servidor VPN confirmado por sondeo, un "navegador" que en realidad es un script en la nube. Usada como señal de riesgo en tiempo real en el inicio de sesión, el registro y el pago, te permite desafiar o bloquear a la minoría sospechosa sin añadir fricción a la mayoría legítima.

¿Puede la geolocalización IP por sí sola frenar los ciberataques?

No, y cualquier proveedor que diga lo contrario está exagerando. Los datos IP son una capa de un modelo de defensa en profundidad. Una IP móvil compartida puede transportar a la vez a un estafador y a un cliente real, una IP residencial limpia puede alojar un proxy, y un atacante con credenciales robadas en una conexión doméstica de la ciudad de la víctima supera todas las comprobaciones de IP. Las señales IP son más fuertes combinadas con señales de dispositivo, de comportamiento, de velocidad y de identidad. Usa la puntuación de riesgo para decidir qué sesiones merecen más escrutinio, no para imponer bloqueos generalizados.

¿Qué tipos de cibercrimen pueden detectar las señales IP?

Las señales IP contribuyen a detectar el robo de cuentas y el credential stuffing, el fraude con cuentas nuevas y con identidades sintéticas, el fraude en pagos y las pruebas de tarjetas, el tráfico automatizado de bots y scrapers, los rastreadores que declaran un nombre que su IP no respalda y la evasión de políticas o sanciones mediante VPN y proxies. En todos los casos son la capa de procedencia: te dicen si la conexión viene de una infraestructura coherente con una persona real o con actividad automatizada o anonimizada. No detectan proxies residenciales; para esos hacen falta señales de dispositivo y de comportamiento.

¿Qué es la detección de viaje imposible y cómo funciona?

La detección de viaje imposible marca dos inicios de sesión en la misma cuenta desde lugares demasiado alejados para recorrerlos en el tiempo que hay entre ellos. Londres y Singapur están a unos 10.850 km, así que un inicio de sesión en Londres seguido de otro en Singapur 30 minutos después significa que uno de los dos no es el titular de la cuenta. Guarda la latitud y la longitud de cada inicio de sesión, calcula la distancia al anterior y marca los pares que requerirían más de unos 900 km/h, aproximadamente un avión comercial. Omite los inicios de sesión desde direcciones de VPN, Tor o relay, porque su ubicación no es la del usuario.

¿Debería bloquear todo el tráfico de determinados países?

El bloqueo por país es un instrumento tosco con daños colaterales importantes. Antes de bloquear un país entero, comprueba si tienes usuarios legítimos allí, porque un bloqueo que configuras una vez también los afectará a ellos. Alternativas más precisas: exige verificación adicional en flujos sensibles como el pago y el restablecimiento de contraseña, usa la restricción geográfica estricta solo donde la ley o un contrato la exijan, y combina el país con señales de red (ASN de hosting, detección de VPN) para apuntar a la infraestructura de la que se abusa y no a la población de la que parece proceder.

¿La inteligencia IP es lo mismo que la geolocalización IP?

No. La geolocalización IP es un subconjunto. La geolocalización asocia una IP con un país, una región y una ciudad aproximada, y tiene una precisión de alrededor del 99% a nivel de país, pero mucho menor a nivel de ciudad. La consulta completa incluye la geolocalización y añade la propiedad de la red (ASN), el tipo de conexión, los indicadores de VPN, proxy, Tor y centro de datos, las señales de abuso y una puntuación de riesgo compuesta. La geolocalización te dice dónde; el resto te dice si puedes confiar.

¿La puntuación de riesgo basada en IP vulnera la privacidad de los usuarios o el GDPR?

Funciona sobre la dirección IP y los metadatos de red, no sobre nombres, emails ni datos de pago. Con GeoIPHub envías solo la IP que quieres clasificar y recibes atributos de red y de riesgo. No hace falta intercambiar datos personales para puntuar una solicitud. Según el GDPR, una dirección IP puede ser un dato personal, así que se siguen aplicando las buenas prácticas: úsala con la finalidad legítima de prevención del fraude y seguridad, minimiza su conservación y documéntalo. Puntuar el riesgo de una IP es un control de seguridad, no un seguimiento de usuarios.

Escrito por

Equipo de GeoIPHub

El equipo detrás de la API de GeoIPHub

Escrito por el equipo de GeoIPHub, las personas que crean la API de inteligencia IP de GeoIPHub y su escáner. Los borradores se preparan con ayuda de IA y el equipo los edita; los ejemplos de la API son consultas reales contra la API en producción, salvo que se indique que son ilustrativos.

Comparte este artículo
Más artículos

Artículos relacionados