Shield

Blipit Shield detecta fuerza bruta, relleno de credenciales, escáneres e intentos de inyección en el servidor y, cuando usted lo decide, los bloquea dentro de su app. Los SDK de Node y Next.js y el módulo de Odoo solo descargan la lista que decidió Blipit y la aplican. Shield está desactivado hasta que lo active en un proyecto.

1Node.js

Añada el middleware antes de sus rutas, con la clave secreta. Detrás de un proxy o balanceador de carga, ponga en trustProxy el número de proxies delante de la app. actor devuelve la cuenta en la que alguien inicia sesión, para que también se rechacen las cuentas bloqueadas. Fastify: app.addHook("onRequest", shield.fastify).

js
import * as Blipit from "@blipit/node";
import express from "express";

const app = express();
app.use(express.json());
app.use(Blipit.shield({ trustProxy: 1, actor: (req) => req.body?.email }));

2Next.js

Envuelva su middleware.ts. Se ejecuta en el runtime Edge y lee BLIPIT_SECRET_KEY. Para conservar su propio middleware, páselo: withBlipitShield(yourMiddleware).

ts
import { withBlipitShield } from "@blipit/nextjs/shield";

export const middleware = withBlipitShield();

3Odoo

No hay nada que añadir. Desde la versión 1.18.14 del módulo, Odoo aplica la misma lista en cada página y en cada inicio de sesión cuando Shield está activado.

4Cómo se comporta

  • Las IP y cuentas bloqueadas reciben 403 con un breve mensaje de texto; los límites de inicio de sesión responden 429 con Retry-After.
  • La lista se actualiza cada 30 segundos en segundo plano, así que una petición nunca espera a Blipit. Si no se puede contactar con Blipit, sigue vigente la última lista.
  • En modo de prueba no se bloquea nada; Blipit cuenta lo que se habría bloqueado.
  • Una vez por minuto su app envía cuántas veces actuó cada bloqueo y, mientras Shield está activado, una pequeña muestra de peticiones: ruta, método, estado, IP, agente de usuario y la cadena de consulta sin secretos. Nunca se envían cabeceras, cookies, contraseñas ni cuerpos de petición.

¿Atascado? Escribe a support@blipit.io. Las claves y el id de cada proyecto están en Claves API en app.blipit.io.