Pular para o conteúdo
Inteligência de IP

Inteligência de IP contra o cibercrime: como prevenir ataques cibernéticos

Inteligência de IP contra o cibercrime: quais sinais de ASN, VPN, Tor e hospedagem impedem quais ataques, com Python testado para 7 defesas e consultas reais feitas hoje.

PorEquipe GeoIPHubPublicadoAtualizadoTempo de leitura32 min de leitura
Um nó sentinela na borda de um horizonte de dados dissolvendo feixes hostis, representando a inteligência de IP contra o cibercrime

Quando consultamos três endereços públicos em 15 de outubro de 2026, um servidor de VPN comercial confirmado por sondagem pontuou 92 (block), um nó de saída Tor pontuou 100 (block) e o próprio host de testes do Nmap, em um servidor de nuvem da Linode, pontuou 10 (allow). Os três ficam em data centers, mas apenas os dois anonimizadores foram bloqueados. Essa distância entre "nuvem" e "criminoso" é o assunto do resto deste guia.

O que está em jogo é medido, não projetado. O Internet Crime Complaint Center do FBI recebeu 1.008.597 denúncias em 2025, o primeiro ano acima de um milhão, com US$ 20,877 bilhões em perdas informadas, alta de 26% em relação a 2024 (IC3 2025 Internet Crime Report). E o tráfego que carrega os ataques é cada vez menos humano: o 2026 Bad Bot Report da Imperva constatou que o tráfego automatizado representou mais de 53% de todo o tráfego web em 2025, contra 51% no ano anterior.

Este guia aborda o que são os sinais, quais categorias de crime eles interrompem, sete defesas com Python que testamos hoje contra endereços reais, uma matriz de sinal por ataque e os casos em que os dados de IP não têm nada a dizer.

Um mosaico de painéis translúcidos, cada um iluminado por um sinal diferente, representando os sinais que compõem um veredito de IP
O IP de origem é a primeira coisa que você sabe sobre uma requisição, e muitas vezes a mais útil.

O que a inteligência de IP acrescenta a um endereço puro

Inteligência de IP é o enriquecimento de um endereço IP bruto com tudo o que ele revela sobre sua origem e confiabilidade. Um endereço puro é só um número. Passe-o por um pipeline de enriquecimento e ele vira um perfil:

  • Geolocalização: país, região, cidade aproximada e fuso horário.
  • Propriedade da rede: o Autonomous System Number (ASN) e a organização que controla o espaço de endereços.
  • Tipo de conexão: banda larga residencial, móvel, empresarial ou hospedagem e datacenter.
  • Flags de anonimizador: é uma VPN, um proxy ou um nó de saída Tor?
  • Sinais de ameaça e abuso: este endereço já foi visto fazendo varreduras, enviando spam ou em uma blocklist de DNS?
  • Uma pontuação de risco composta: um número que funde os sinais acima em uma decisão de allow, review, step-up ou block.

A distinção que confunde as pessoas: isso não é o mesmo que geolocalização de IP. A geolocalização responde apenas "onde está este IP" e, como mostramos em quão precisa é de fato a geolocalização de IP, tem cerca de 99% de precisão no nível de país, mas é bem mais fraca no nível de cidade. A disciplina mais ampla, que detalhamos camada por camada no nosso guia sobre o que a inteligência de IP cobre além da localização, acrescenta as camadas de rede, tipo de conexão, anonimizador e reputação que respondem à pergunta que realmente importa para equipes de fraude e segurança: posso confiar nesta conexão? A maioria das implementações lê apenas o campo de país, e o campo de país sozinho não diz quase nada sobre se uma requisição é legítima.

Por que o IP de origem é o primeiro sinal em uma defesa contra o cibercrime

O IP de origem é o primeiro sinal porque um atacante consegue falsificar quase tudo, mas precisa mostrar a você um endereço roteável. Três fatos estruturais o tornam valioso.

1. Ele é inevitável. Um atacante consegue falsificar um User-Agent, inventar um e-mail, comprar um cartão roubado e forjar um fingerprint de dispositivo. O que ele não consegue é chegar ao seu servidor sem um IP de origem que você possa observar. Ele pode se esconder atrás de uma infraestrutura, mas a própria infraestrutura deixa indícios.

2. Os atacantes reutilizam infraestrutura em escala. O cibercrime lucrativo é industrializado. Kits de credential stuffing atacam milhares de contas a partir de servidores alugados; quadrilhas de teste de cartões circulam por faixas de datacenter; scrapers e cambistas rodam a partir de pools de nuvem e de proxy. Essa reutilização é exatamente o que os sinais de rede expõem: um login a partir de um ASN de hospedagem, um checkout a partir de uma faixa de datacenter, um "comprador" chegando por um proxy aberto.

3. Ele está disponível antes da etapa cara. O IP está presente desde o primeiro pacote, antes da autenticação e antes da autorização do pagamento. Isso o torna o lugar mais barato para fazer a triagem do risco, de modo que suas defesas caras (desafios de MFA, revisão manual, KYC reforçado) só disparem quando se justificam.

O porém, ao qual voltamos mais adiante, é que o IP é um sinal, não um veredito. A habilidade está em usá-lo para decidir quem merece mais escrutínio, e não para aplicar banimentos generalizados.

As categorias de cibercrime que os sinais de IP interrompem

O cibercrime não é uma coisa só, e o papel do IP para detê-lo também não. Veja como o IP de origem contribui nas principais categorias de ataque, com o guia aprofundado de cada uma.

Account takeover e credential stuffing

O credential stuffing (reaproveitar pares de usuário e senha vazados contra formulários de login) hoje é o caminho dominante para o account takeover (sequestro de contas). O ataque só é econômico porque é automatizado e distribuído por infraestrutura barata. Uma consulta sinaliza os ASNs de hospedagem, os proxies e as saídas anonimizadas de que o stuffing em volume depende, e alimenta um panorama de velocidade (quantas contas este IP está tocando?) que um único login não revela. A nuance: o bloqueio de IP sozinho falha, porque atores sofisticados migram para proxies residenciais, então o IP precisa ser uma entrada de risco, e não a decisão inteira.

Fraude de pagamento, teste de cartões e abuso no checkout

O checkout é onde o cibercrime vira dinheiro, e é por isso que ele atrai bots de carding, scripts de teste de cartões e, cada vez mais, agentes de compras com IA automatizados. O teste de cartões acontece como autorizações de alta velocidade e baixo valor, muitas vezes a partir de IPs de datacenter e de proxy. Os sinais de tipo de conexão e de risco permitem aumentar a fricção na minoria suspeita de checkouts, deixando as sessões legítimas (incluindo o tráfego de agentes legítimos) sem interferência. Onde traçar a linha é respondido em em qual pontuação de fraude de IP você deve bloquear.

Bots, scrapers e falsificação de rastreadores

Com os bots agora sendo a maior parte do tráfego web, distinguir um rastreador real de um impostor importa em todos os endpoints. Um cabeçalho User-Agent: GPTBot é uma alegação que qualquer um pode enviar. A HUMAN Security constatou que 5,7% de todo o tráfego observado que apresentava um user agent de rastreador ou scraper de IA era falsificado. A defesa é a procedência: verificar rastreadores e agentes de IA pelo IP usando DNS reverso, faixas CIDR publicadas e Web Bot Auth. Uma consulta não consegue ver o User-Agent, então a comparação entre o nome alegado e threat.crawler.verified acontece no seu código. Para o panorama mais amplo, veja como os dados de IP classificam os bots e, para scrapers que copiam seu conteúdo ou seus preços, nosso guia de detecção de web scraping.

Abuso de anonimização: VPNs, proxies e Tor

A anonimização é a camuflagem do cibercriminoso, mas também é usada por milhões de pessoas perfeitamente legítimas e preocupadas com a privacidade. A detecção moderna de VPN e proxy separa os dois usando listas de servidores dos provedores, análise de ASN e sondagem ativa de protocolos, em vez de uma blocklist desatualizada. A variante mais perigosa é o proxy residencial: redes que roteiam o tráfego por dispositivos reais de consumidores. A Infoblox mediu as consultas DNS a domínios de proxies residenciais crescendo de quase 400 bilhões por mês em janeiro de 2025 para mais de 500 bilhões por mês em abril de 2026. Os dados de IP sozinhos não conseguem sinalizá-los de forma confiável, e o GeoIPHub não detecta proxies residenciais, então eles precisam ser pegos com sinais de dispositivo, comportamento e velocidade. Lidar com o tráfego anonimizado sem afastar usuários legítimos de VPN é o tema de detectar tráfego anonimizado sem bloquear clientes reais.

Contas falsas, identidade sintética e fraude com contas novas

Abuso de bônus, fazendas de indicações, contas laranja e quadrilhas de identidades sintéticas dependem de criar contas em escala. Como cada conta falsa precisa de uma origem com "cara de nova", os atacantes giram por IPs de proxy e de datacenter, que é exatamente a infraestrutura que esses sinais revelam. Incorporar a pontuação de risco ao cadastro é uma das formas mais baratas de aumentar o custo da criação de contas em massa. Nossa verificação de cadastro por tipo de IP mostra o que cada tipo de endereço retorna e o que fazer com ele.

Fraude geográfica, falsificação de localização e evasão de sanções

Abuso de promoções, contorno de licenciamento de conteúdo e evasão de sanções dependem de falsificar uma localização. Aqui a consulta cumpre dupla função: a geolocalização estabelece a localização alegada, enquanto as flags de VPN, proxy e tipo de conexão revelam se essa localização está sendo falsificada. A defesa de restrição geográfica abaixo mostra por que a verificação de país não significa nada sem a verificação de anonimizador ao lado.

Três consultas de hoje: VPN 92, saída Tor 100, host de nuvem 10

A pontuação acompanha a evidência, não o tipo de rede. Fizemos estas três consultas em 15 de outubro de 2026 no endpoint público (sem chave, 30 consultas por minuto), e as respostas abaixo são cópias resumidas da saída real. Os resultados mudam conforme as faixas se movem.

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"] } }

Os detection_methods do servidor de VPN mostram três confirmações independentes: o IP corresponde a um servidor de VPN conhecido, e nossas sondagens concluíram handshakes reais de OpenVPN e IPsec nele. Essa corroboração o coloca na faixa de bloqueio, mesmo com vpn_provider igual a "none", porque o endereço não está na lista de nenhum provedor. A saída Tor soma a lista de saídas do Tor Project a uma listagem no SpamCop, então atinge o teto de 100.

Um método na resposta do Tor é mais fraco do que parece. no_ptr_datacenter diz que o endereço não tem DNS reverso, mas um dig -x que rodamos na mesma manhã retornou um nome de host para ele. Nossos dados de PTR armazenados têm lacunas em alguns endereços, então dê a esse método o menor peso ao revisar esse veredito.

O host de testes do Nmap tem apenas o sinal de hospedagem, então pontua 10 e recebe allow. Muitas APIs, monitores e agentes de IA legítimos rodam em servidores de nuvem, e hospedagem sozinha não é evidência de crime. Até o block da VPN é um padrão que você pode substituir por fluxo, como mostram as defesas abaixo.

Por que uma pontuação de risco é melhor que uma blocklist

Uma pontuação é melhor que uma blocklist porque o IP é um sinal, não um veredito. Um único IPv4 residencial pode ser compartilhado por centenas de pessoas atrás de NAT de nível de operadora, então um cliente real e um fraudador podem estar no mesmo endereço. Um IP residencial impecável pode hospedar um proxy. Um IP de datacenter pode pertencer a uma VPN corporativa legítima.

O padrão duradouro é converter os sinais de IP em uma pontuação de risco e depois encaminhar a decisão com base nela:

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

Essa é a diferença entre colocar IPs em blocklists (frágil, com muitos falsos positivos e fácil de contornar) e pontuar o risco das conexões (gradual, explicável e resiliente). Todos os motivos que uma pontuação explicável pode citar, com seus pesos, estão listados em motivos da pontuação de risco, campo por campo.

Como prevenir ataques cibernéticos com geolocalização de IP e sinais de rede

Você previne ataques cibernéticos com geolocalização de IP lendo mais do que o país: os grupos geo, asn, detection, threat e scoring de uma única consulta alimentam, cada um, uma defesa diferente. As sete abaixo são as que mais vemos, cada uma com Python que você pode colar. Todas chamam uma pequena função 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. Bloqueie abusos conhecidos na borda, mas deixe passar rastreadores verificados

A defesa mais barata rejeita scanners, nós de botnet e saídas Tor antes que eles toquem a sua aplicação, e entrega todo o resto à pontuação. Dois detalhes importam. Os rastreadores verificados vêm primeiro, porque um rastreador real pode estar em uma faixa listada em blocklist (o 5.39.1.230 do AhrefsBot retorna is_abusive: true). E a flag de scanner é lida diretamente, porque ela não altera o fraud_score: o scanner da Censys em 162.142.125.10 pontua 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"]}

Calibre por fluxo. Um formulário de redefinição de senha pode agir com step_up, enquanto um endpoint de conteúdo público talvez só aja com block. O campo scoring.confidence (de 0.0 a 1.0) diz quanta evidência há por trás da pontuação, então reserve os bloqueios definitivos para vereditos com evidência forte.

2. Trate o tráfego de VPN, proxy e Tor por fluxo

Os anonimizadores merecem tratamento diferente em cada fluxo, porque VPNs comerciais transportam milhões de usuários comuns, enquanto proxies abertos e saídas Tor em um checkout raramente pertencem a um deles. Bloquear todas as VPNs é amplo demais para a maioria dos produtos.

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"

A evidência por trás de cada flag:

  • detection.is_vpn: uma correspondência com as listas de servidores dos próprios provedores mais uma lista pública de terceiros (incluindo a marcação de WireGuard que essas listas trazem), e handshakes reais de OpenVPN e IPsec feitos pelas nossas sondagens.
  • detection.is_proxy: sondagens de handshake para proxies SOCKS4, SOCKS5, HTTP CONNECT e HTTP forward.
  • detection.is_tor: a lista oficial de saídas do Tor Project, atualizada diariamente.
  • detection.is_relay: iCloud Private Relay e a saída de privacidade da Cloudflare, que deixamos passar de propósito.

Os proxies residenciais não estão nesta lista. A API não os detecta, então não construa uma regra baseada em is_residential_proxy.

3. Aplique restrições geográficas somente com detecção de VPN

A restrição geográfica só funciona quando a verificação de país e a verificação de anonimizador rodam juntas. Se você bloqueia um país sancionado, mas permite requisições com is_vpn: true, os usuários de lá se conectam por um servidor de VPN na Alemanha e o bloqueio falha.

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"}

O ramo do relay existe por causa de uma lacuna que encontramos nos nossos próprios dados. A Apple mantém a saída do Private Relay no país do usuário, mas, para o endereço de relay 104.28.46.99, nossa base de dados diz Angola, enquanto a própria lista de saídas da Apple diz Zâmbia. Um relay informa is_anonymous: false, então, sem esse ramo, a verificação de país confiaria na resposta errada.

4. Sinalize viagens impossíveis nos logins

A viagem impossível é um dos sinais de account takeover mais confiáveis: ninguém faz login em Londres e depois na Califórnia 30 minutos depois. Armazene as coordenadas de cada login, calcule a distância até o anterior e sinalize os pares que exigiriam um jato mais rápido que cerca de 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"}

Com um login armazenado em Londres 30 minutos antes, o host da Linode em Fremont voltou como step_up a 8.617 km. Duas observações de calibração. Usuários de VPN disparam a viagem impossível toda vez que trocam de servidor, e é por isso que logins anonimizados são ignorados em vez de armazenados. E as operadoras móveis roteiam muitos usuários por endereços compartilhados com dados de cidade imprecisos, então o piso de 500 km impede que a deriva de localização pareça um voo.

5. Limite a taxa por tipo de rede

Os limites de taxa funcionam melhor quando acompanham a rede por trás do IP. Um endereço móvel pode transportar centenas de pessoas reais atrás de NAT de operadora, então limitá-lo com rigor bloqueia clientes. Um endereço de nuvem geralmente é um único script, embora às vezes seja um agente de IA agindo por um comprador real, então desafie-o em vez de bani-lo.

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)

Os números são valores iniciais para ajustar ao seu próprio tráfego, e não ótimos medidos. Mantenha um padrão: o scanner da Censys voltou com asn_type: "unknown", que nenhuma tabela fixa listaria. Scrapers que alugam IPs domésticos e móveis escapam de qualquer regra por tipo de rede, e nosso guia sobre como saber se o seu site está sendo raspado aborda as verificações no nível de log que os pegam.

6. Compare o país do IP com o país de cobrança no checkout

Um cartão com endereço de cobrança no Reino Unido usado a partir de um IP em outro país é um padrão de fraude de pagamento com sinal forte, desde que você possa confiar no país do IP. Quando um anonimizador o esconde, peça autenticação 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"}

Não mantenha uma lista escrita à mão de "países de risco". Os atacantes roteiam deliberadamente por IPs com aparência limpa em países de baixo risco, então mire a infraestrutura (status de anonimizador, flags de abuso, tipo de ASN), e não a geografia de onde ela parece vir. Nosso guia de redução de chargebacks vai além no fluxo de checkout.

7. Mantenha as sessões de bots fora do analytics

Filtrar as sessões automatizadas antes que elas sejam registradas no analytics mantém seus dados de conversão, e qualquer modelo de lances treinado com eles, focados em pessoas reais. Os rastreadores verificados continuam sendo atendidos; só não são contados.

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

O tráfego pago tem um roteiro próprio, que começa abrindo mão da lista de exclusão de IP: veja como detectar fraude de cliques pelo endereço IP.

O que as sete verificações retornaram para seis endereços reais

Rodamos todas as funções acima, exatamente como publicadas, contra seis endereços públicos em 15 de outubro de 2026. A coluna de checkout compara cada IP com um endereço de cobrança nos EUA.

IP (o que é)Verificação na bordaAnonimizador no loginLimite de taxaCheckout vs cartão dos EUAContar no analytics
185.220.101.47 (saída Tor)block: tor_exitblock3/min, blockhigh: require_3dsnão
102.129.235.17 (VPN comercial)block: pontuação 92allow_and_log3/min, blockhigh: require_3dsnão
45.33.32.156 (host de testes do Nmap, Linode)allow: pontuação 10allow10/min, challengestandard: allowsim
162.142.125.10 (scanner da Censys)block: scanner_or_botnetallow30/min, delaystandard: allowsim
5.39.1.230 (AhrefsBot, verificado)allow: verified_crawlerallow120/min, delayelevated: FR vs USnão
104.28.46.99 (iCloud Private Relay)allow: pontuação 9allow30/min, delaystandard: private_relaysim

Duas linhas mostram por que as verificações precisam rodar juntas. O scanner da Censys passa em todas as verificações, exceto na da borda, porque a flag de scanner é o seu único sinal. E a VPN que a verificação da borda bloqueia só pela pontuação apenas é registrada no login, que é o comportamento por fluxo que você quer: bloqueie-a onde você bloqueia de forma definitiva pela pontuação e registre-a onde uma VPN é normal.

Qual sinal de IP impede qual ataque

Cada sinal corresponde a um ataque distinto e a uma ação distinta. Use isto como configuração inicial e depois ajuste por fluxo.

SinalO que ele pegaAção recomendada
detection.is_tor: trueAnonimização via Tor em credential stuffing, carding e fraudeBloquear em fluxos sensíveis
detection.is_proxy: trueProxy SOCKS ou HTTP aberto, geralmente ferramenta de abusoBloquear no login, no checkout e no cadastro
detection.is_vpn: trueVPN comercial, com uso legítimo e abusivo misturadoDesafiar no checkout; permitir e registrar nos demais
detection.is_relay: trueiCloud Private Relay ou saída de privacidade da CloudflarePermitir; não confiar na cidade
detection.is_hosting: true em um fluxo de consumidorScripts, ou um agente de IA comprando para uma pessoa realDesafiar; bloquear só com pontuação alta
threat.is_scanner ou is_botnet: trueInfraestrutura de varredura e de botnet (não altera a pontuação)Bloquear na borda
threat.crawler.verified: trueUm rastreador de busca ou de IA real nas faixas publicadas pelo seu operadorPermitir; excluir do analytics
Distância acima de 500 km a mais de 900 km/hAccount takeover com credenciais roubadasVerificação adicional e depois sinalizar a conta
geo.country_code diferente do de cobrança, sem anonimizadorTeste de cartões, ou um cliente de fériasExigir 3DS
scoring.fraud_score acima de 75 (block)Vários sinais corroborando ao mesmo tempoBloquear ou reter para revisão manual

O que os dados de IP não conseguem pegar

Os dados de IP são um filtro de primeira passagem, e três tipos de ataque passam direto por ele. Para o procedimento por incidente, da propriedade ao veredito, veja como investigar um endereço IP suspeito.

Proxies residenciais com reputação limpa. Um IP adicionado ontem a um pool de proxies não tem histórico de abuso e passa nas verificações de blocklist, e o GeoIPHub não detecta proxies residenciais. Pegá-los exige anomalias de fingerprint de dispositivo, tempo de sessão e taxas de interação.

Contas comprometidas em uma conexão limpa. Um atacante com credenciais válidas em uma conexão doméstica no país da vítima não deixa nada nos dados de IP para sinalizar. São necessários sinais de comportamento (ritmo de digitação, navegação, divergência do histórico de compras).

Ataques direcionados. Um atacante que pesquisa as suas defesas vai escolher um IP residencial limpo na cidade da vítima e passar em todas as verificações no nível de IP. A verificação de e-mail e a vinculação de dispositivo são as defesas aqui.

O modelo certo: a consulta filtra o volume de ataques automatizados e pouco sofisticados a um custo quase zero por requisição, para que as verificações caras (fingerprinting de dispositivo, análise de comportamento, revisão manual) possam se concentrar no que sobra.

Como rodar essas verificações em produção

Três hábitos mantêm as defesas baseadas em IP precisas depois do lançamento.

Faça cache por IP, por pouco tempo. Os fatos de rede mudam devagar dentro de uma sessão, mas mudam: nossas sondagens de VPN e proxy rodam no máximo a cada 12 horas e os feeds de ameaças são atualizados a cada 6 horas. Guarde cada consulta em cache durante a sessão, expire-a em até uma hora para decisões de segurança e em até um dia para campos simples de geolocalização. Uma consulta por IP por sessão é o modelo de custo prático.

Registre a resposta completa, e não só o veredito. Quando um bloqueio dispara, você quer saber qual sinal o acionou. Armazene scoring.detection_methods e o scoring.fraud_score bruto com cada decisão. É assim que você encontra falsos positivos, como o método de PTR desatualizado no exemplo do Tor acima, e ajusta os limites.

Ajuste os limites por fluxo, e não por site. Uma redefinição de senha merece um limite de bloqueio mais baixo do que a leitura de um post. Mantenha os limites em configuração para que a sua equipe de segurança possa ajustá-los sem um deploy:

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}, }

O que uma consulta do GeoIPHub retorna contra cada ameaça

O GeoIPHub reúne toda essa camada em uma única chamada de API. Uma consulta retorna mais de 100 campos de dados em 10 grupos de resposta (geolocalização, ASN e rede, tipo de conexão, operadora móvel, DNS reverso, flags de anonimizador e uma pontuação de risco calculada), para que você não precise juntar cinco fornecedores para responder a uma pergunta. Veja o que faz o trabalho contra cada ameaça:

  • Uma pontuação de risco de 0 a 100 a partir de 36 motivos ponderados. Em vez de uma flag de sim ou não, o GeoIPHub retorna uma pontuação explicável com faixas de decisão embutidas, allow (25 ou menos), review (50 ou menos), step-up (75 ou menos) e block (acima de 75), para que a mesma consulta possa ser ajustada com mais rigor no checkout do que no login.
  • Detecção de VPN e proxy por sondagem ativa. Além de listas estáticas, o GeoIPHub faz sondagens reais de handshake em mais de 25 portas e 8 protocolos, e cruza as listas de servidores dos próprios provedores de VPN com uma lista pública de terceiros, para que a resposta reflita a infraestrutura em operação, e não a blocklist do mês passado.
  • Detecção de datacenter e hospedagem. A cobertura abrange 853 ASNs de hospedagem selecionados mais as faixas oficiais de 10 provedores de nuvem, o sinal que expõe bots de carding, scrapers e infraestrutura de stuffing se passando por navegadores.
  • Dados de saídas Tor atualizados diariamente e 19 feeds oficiais de faixas de rastreadores e bots de IA (Googlebot, GPTBot, ClaudeBot, PerplexityBot e outros), para que saídas anonimizadas e bots autoidentificados sejam pontuados contra a verdade atual.
  • Mais de 30 fontes de dados e 5 feeds WHOIS de RIRs por trás de tudo, com consultas em cache abaixo de um milissegundo e IPs desconhecidos classificados ao vivo em menos de 2,5 segundos, rápido o bastante para ficar inline no login, no cadastro e no checkout.

Ele também respeita a privacidade por construção: você envia apenas o IP que quer classificar e recebe de volta atributos de rede e de risco. Nenhum nome, e-mail ou dado de pagamento é necessário para pontuar uma requisição.

Você pode testar os sinais diretamente com a ferramenta gratuita de consulta de IP, verificar a pontuação de fraude de qualquer IP ou testar a detecção de VPN na sua própria conexão. Quando estiver pronto para integrá-lo ao seu app, o guia de integração em 10 minutos mostra como pontuar cada requisição com cURL, Node e Python, em um plano gratuito que retorna todos os campos, 1.500 consultas por dia, sem campos bloqueados por plano.

Aumente o custo do atacante, não a fricção dos seus clientes

O cibercrime é industrializado, automatizado e cada vez menos humano, e cada pedaço dele trafega por um endereço IP que você pode inspecionar primeiro. Os dados de IP não vão impedir a fraude sozinhos, e qualquer abordagem honesta do assunto diz isso. Mas, como camada de procedência em uma defesa em camadas (o sinal que diz quais sessões merecem um olhar mais atento), eles estão entre os controles mais úteis e de menor fricção que você pode implantar. Bem usados, eles aumentam o custo do ataque para a minoria criminosa sem onerar a maioria legítima.

Perguntas frequentes

O que é inteligência de IP?

Inteligência de IP é a prática de enriquecer um endereço IP bruto com tudo o que ele revela sobre sua origem e confiabilidade: geolocalização, a rede proprietária (ASN), o tipo de conexão, se é um datacenter, uma VPN, um proxy ou um nó de saída Tor, o histórico de abuso e uma pontuação de risco calculada. Ela transforma o atributo mais universal de qualquer requisição online em um sinal de decisão sobre o qual você pode agir antes que uma senha seja digitada ou um cartão seja cobrado. É mais ampla do que a geolocalização de IP, que só responde "onde está este IP"; o enriquecimento também responde "posso confiar nele".

Como os dados de IP ajudam a prevenir ataques cibernéticos?

Quase todo ataque (credential stuffing, teste de cartões, scraping, criação de contas falsas, checkout fraudulento) chega por um endereço IP, e os atacantes reutilizam infraestrutura em escala. Uma consulta expõe os indícios que essa infraestrutura deixa para trás: um login a partir de um ASN de hospedagem, um checkout a partir de um servidor de VPN confirmado por sondagem, um "navegador" que na verdade é um script na nuvem. Usado como sinal de risco em tempo real no login, no cadastro e no checkout, ele permite desafiar ou bloquear a minoria suspeita sem adicionar fricção para a maioria legítima.

A geolocalização de IP sozinha consegue impedir ataques cibernéticos?

Não, e qualquer fornecedor que afirme o contrário está exagerando. Os dados de IP são uma camada em um modelo de defesa em profundidade. Um IP móvel compartilhado pode transportar tanto um fraudador quanto um cliente real, um IP residencial limpo pode hospedar um proxy, e um atacante com credenciais roubadas em uma conexão doméstica na cidade da vítima passa em todas as verificações de IP. Os sinais de IP são mais fortes quando combinados com sinais de dispositivo, comportamento, velocidade e identidade. Use a pontuação de risco para decidir quais sessões merecem mais escrutínio, e não para aplicar bloqueios generalizados.

Que tipos de cibercrime os sinais de IP conseguem detectar?

Os sinais de IP contribuem para detectar account takeover e credential stuffing, fraude com contas novas e identidades sintéticas, fraude de pagamento e teste de cartões, tráfego automatizado de bots e scrapers, rastreadores que afirmam um nome que o IP não confirma, e evasão de políticas ou de sanções por meio de VPNs e proxies. Em cada caso, eles são a camada de procedência: dizem se a conexão vem de uma infraestrutura compatível com uma pessoa real ou com atividade automatizada ou anonimizada. Eles não pegam proxies residenciais; esses exigem sinais de dispositivo e de comportamento.

O que é a detecção de viagem impossível e como ela funciona?

A detecção de viagem impossível sinaliza dois logins na mesma conta a partir de lugares distantes demais para serem percorridos no tempo entre eles. Londres e Singapura ficam a cerca de 10.850 km de distância, então um login em Londres seguido de um login em Singapura 30 minutos depois significa que um deles não é o dono da conta. Armazene a latitude e a longitude de cada login, calcule a distância até o anterior e sinalize os pares que exigiriam mais de cerca de 900 km/h, aproximadamente um jato comercial. Ignore logins a partir de endereços de VPN, Tor ou relay, porque a localização deles não é a do usuário.

Devo bloquear todo o tráfego de determinados países?

O bloqueio por país é um instrumento grosseiro, com dano colateral significativo. Antes de bloquear um país inteiro, verifique se você tem usuários legítimos lá, porque um bloqueio configurado uma vez também vai atingi-los. Alternativas mais direcionadas: exija verificação adicional em fluxos sensíveis, como pagamento e redefinição de senha, use restrição geográfica rígida apenas onde a lei ou um contrato exigir, e combine o país com sinais de rede (ASN de hospedagem, detecção de VPN) para mirar a infraestrutura que está sendo abusada, e não a população de onde ela parece vir.

Inteligência de IP é o mesmo que geolocalização de IP?

Não. A geolocalização de IP é um subconjunto. A geolocalização associa um IP a um país, uma região e uma cidade aproximada, e tem cerca de 99% de precisão no nível de país, mas é bem mais fraca no nível de cidade. A consulta completa inclui a geolocalização, mas acrescenta a propriedade da rede (ASN), o tipo de conexão, flags de VPN, proxy, Tor e datacenter, sinais de abuso e uma pontuação de risco composta. A geolocalização diz onde; o resto diz se você deve confiar.

A pontuação de risco baseada em IP viola a privacidade do usuário ou a GDPR?

Ela opera sobre o endereço IP e os metadados de rede, não sobre nomes, e-mails ou dados de pagamento. Com o GeoIPHub, você envia apenas o IP que quer classificar e recebe de volta atributos de rede e de risco. Nenhuma troca de dados pessoais é necessária para pontuar uma requisição. Pela GDPR, um endereço IP pode ser um dado pessoal, então as boas práticas continuam valendo: use-o para a finalidade legítima de prevenção de fraudes e segurança, minimize a retenção e documente o uso. Pontuar o risco de um IP é um controle de segurança, não rastreamento de usuários.

Escrito por

Equipe GeoIPHub

A equipe por trás da API do GeoIPHub

Escrito pela equipe do GeoIPHub, as pessoas que constroem a API de inteligência de IP do GeoIPHub e seu scanner. Os rascunhos são preparados com auxílio de IA e editados pela equipe; os exemplos de API são consultas reais à API em produção, salvo quando indicados como ilustrativos.

Compartilhe este artigo
Mais artigos

Artigos relacionados