Bloqueja bots amb reputació IP a la teva API en Node.js

Aprèn a bloquejar bots maliciosos abans que arribin a la teva API amb middleware de reputació IP a Node.js. Respostes graduades amb API gratuïta.

sábado, 25 de julio de 2026 • 4 min de lectura • Equip Q2BSTUDIO

Crea un middleware de reputación IP para tu API en Node.js

Quan construeixes una API en Node.js, una de les decisions més crítiques que afecta la seguretat i l’experiència d’usuari és com gestiones el trànsit entrant. No tots els visitants són iguals: alguns són clients legítims que naveguen des de casa, altres són empleats corporatius que accedeixen a través d’una VPN, i uns pocs són bots maliciosos que intenten explotar cada vulnerabilitat. L’enfocament tradicional d’esperar que un rate limiter dispari una alerta al dia següent és reactiu i costós. En lloc d’això, pots aturar el trànsit no desitjat a la porta, abans que toqui un sol controlador de ruta, utilitzant la reputació d’IP com a primera línia de defensa.

A Q2BSTUDIO, com a empresa especialitzada en aplicacions a mida i solucions de ciberseguretat, hem implementat aquest patró en múltiples projectes. La idea és senzilla: cada sol·licitud arriba amb una adreça IP que ja té un historial. Pot ser un rang residencial, un datacenter, una VPN coneguda o una adreça que ha estat fent atacs de força bruta durant dies. Si saps quin tipus d’IP tens abans d’executar la teva lògica de negoci, pots decidir com actuar: bloquejar els atacants evidents, desafiar els sospitosos amb un CAPTCHA o deixar passar sense fricció els nets. Aquesta granularitat és clau per no perdre clients reals per decisions binàries.

El middleware que et presento no és una peça genèrica; està dissenyat per integrar-se en fluxos existents de Node.js (18+) usant Express, i es recolza en l’API de WhoisFreaks per obtenir dades de reputació en temps real. Però el que importa no és l’API en si, sinó l’arquitectura de decisió que construeixes al voltant. Si operes en entorns cloud com AWS o Azure, aquest enfocament escala sense problemes gràcies a caches distribuïdes amb Redis. I si a més integres agents d’IA per analitzar patrons de comportament, pots refinar encara més les regles.

Començarem pel principi: obtenir la IP real del client. Sembla trivial, però en un desplegament modern amb balancejadors de càrrega o CDNs, req.socket.remoteAddress retorna la IP del proxy, no la del visitant. La IP real es troba a la capçalera X-Forwarded-For. Express no la llegirà a menys que configuris app.set('trust proxy', true). Fes-ho correctament o els atacants podran suplantar aquesta capçalera i fer-se passar per 127.0.0.1. Un cop ajustada, extraiem la IP netejant el prefix ::ffff: que Express afegeix en IPv4 mapejat a IPv6.

El següent pas és consultar la reputació. L’API retorna un objecte security amb camps com threat_score (0–100), is_vpn, is_proxy, is_tor, is_known_attacker, is_bot i is_cloud_provider, a més de nivells de confiança. Amb aquesta riquesa de dades pots definir quatre nivells d’acció en lloc d’un simple blocatge binari: permetre, desafiar, exigir autenticació addicional (step-up) o bloquejar. Per exemple, un threat_score de 40 sol correspondre a un datacenter o VPN comercial, on molts usuaris legítims naveguen; un desafiament amb CAPTCHA és adequat. Per sobre de 75, el trànsit és clarament maliciós i ha de rebre un 403.

El middleware que implementem a Q2BSTUDIO segueix una filosofia de fail-open: si l’API de reputació falla (timeout, error 500), la sol·licitud passa endavant. Preferim una petita finestra de risc que una caiguda total del servei. També saltem les IPs privades (localhost, health checks) per no gastar crèdits ni alentir trànsit intern. I per optimitzar, guardem en memòria cau les respostes durant 12 hores usant un Map en memòria, tot i que en producció amb múltiples instàncies el substituiríem per Redis.

Un cop tens el middleware, pots combinar-lo amb altres estratègies de ciberseguretat. Per exemple, des de els nostres agents d’IA podem analitzar els patrons de peticions bloquejades per ajustar dinàmicament els llindars del score. També pots enriquir els logs amb els camps asn i connection_type per crear regles pròpies. A més, si fas servir Power BI o eines de BI, pots visualitzar en temps real quines IPs estan sent bloquejades, quantes passen pel nivell challenge i com evoluciona el trànsit maliciós setmana a setmana.

En les proves que vam realitzar amb 20 IPs extretes de logs reals, vam trobar que dues entrades de Tor exit nodes van aconseguir puntuacions de 85 i 80, marcades com a atacants coneguts. La majoria de les IPs de datacenters i VPNs es van agrupar al voltant del score 50 sense flags individuals, cosa que confirma que una decisió binària hauria estat excessiva o insuficient. L’enfocament de quatre nivells va permetre tractar cada cas segons el seu context.

Si vols implementar aquesta protecció a la teva pròpia API, pots començar amb el repositori de WhoisFreaks i adaptar-lo al teu stack. Però recorda que la reputació d’IP és només una capa. A Q2BSTUDIO integrem aquest tipus de middleware amb solucions cloud a AWS i Azure, automatització de processos i sistemes de BI per oferir una defensa completa i escalable. No es tracta només de bloquejar bots; es tracta de fer-ho sense trencar l’experiència dels teus usuaris reals.

Per aprofundir, et recomano explorar com la intel·ligència artificial pot millorar la detecció d’anomalies en temps real, o com el desenvolupament de aplicacions a mida pot incorporar aquestes tècniques des del disseny inicial. La seguretat proactiva no és un luxe, és una necessitat en l’entorn digital actual.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.