イシューとアラート
Shield
Blipit Shield はブルートフォース、クレデンシャルスタッフィング、スキャナー、インジェクションの試みをサーバー側で検知し、選択した場合はアプリの中でブロックします。Node と Next.js の SDK と Odoo モジュールは、Blipit が決めたリストを取得して適用するだけです。プロジェクトで有効にするまで Shield はオフのままです。
1Node.js
シークレットキーを使い、ルートより前にミドルウェアを追加します。プロキシやロードバランサーの後ろでは、trustProxy にアプリの前にあるプロキシの数を設定します。actor はサインイン先のアカウントを返し、ブロックされたアカウントも拒否されます。Fastify: app.addHook("onRequest", shield.fastify)。
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
middleware.ts をラップします。Edge ランタイムで動作し、BLIPIT_SECRET_KEY を読み込みます。独自のミドルウェアを残すには渡してください: withBlipitShield(yourMiddleware)。
import { withBlipitShield } from "@blipit/nextjs/shield";
export const middleware = withBlipitShield();3Odoo
追加作業はありません。モジュールのバージョン 1.18.14 以降、Shield を有効にすると Odoo はすべてのページとすべてのサインインで同じリストを適用します。
4動作
- ブロックされた IP とアカウントには短いテキストと 403 を返し、サインインのレート制限には Retry-After 付きの 429 を返します。
- リストはバックグラウンドで 30 秒ごとに更新されるため、リクエストが Blipit を待つことはありません。Blipit に接続できない場合は最後のリストが有効なままです。
- テストモードでは何もブロックせず、ブロックされたはずの数を Blipit が数えます。
- アプリは 1 分に 1 回、各ブロックが適用された回数と、Shield が有効な間はリクエストの小さなサンプル(パス、メソッド、ステータス、IP、ユーザーエージェント、秘密情報を除いたクエリ文字列)を送信します。ヘッダー、Cookie、パスワード、リクエスト本文は送信しません。
お困りですか?support@blipit.io までメールしてください。各プロジェクトのキーとプロジェクト ID は app.blipit.io の「APIキー」にあります。