unmask

unmask

nginx / Apache に組み込む、自前の bot 対策。

no 24365。bot アラートに追われる毎日から、サーバー管理者の QOL を取り戻す。

open source self-hosted Go single binary

何をするか

core features

01

IP を変えても bot は隠れない

JA4 fingerprint は、TLS handshake から取り出すクライアントの「指紋」だ。 攻撃ツール (curl / python / chromium-bot など) ごとに決まっていて、IP も国も VPN も User-Agent も、どれだけ切り替えても変わらない。
unmask は IP だけでなく JA4 単位でも BAN できる。botnet が IP を入れ替えても、 ひとつの判定でまとめて止まる。

UA 偽装・IP の入れ替え・botnet のスケールアウトに、ひとつの BAN で対応

02

nginx 本来の性能

一度通過した訪問者 (cookie を持つ再訪) は、nginx のワーカー内だけで検証が完結する。 サブリクエストも追加のホップもなく、素の nginx とほぼ変わらないスループットが出る。 アクセスの多いサイトの前段にも、そのまま置ける。

forward-auth mode で Apache にも対応

03

SEO セーフ

Googlebot / Bingbot / GPTBot / ClaudeBot など主要な検索・AI クローラーは、 既定で絶対にブロックしない。UA の一致 または 公式 IP レンジの一致、どちらかを満たせば通過させる (正規クローラーの取りこぼしゼロを最優先)。250 以上のパターンを組み込み済み。

検索順位の事故ゼロが大原則 · リストは web UI からワンクリックで編集

04

fail open

unmask が落ちても nginx は止まらない。通過済みの訪問者は cookie 検証だけの 速い経路を保ち、まだ通過していない訪問者にも PoW / CAPTCHA は出ず、 目的のページがそのまま表示される (unmask を入れていないときと同じ動きに自動で戻る)。 「守りは落ちても web は動き続ける」を既定にし、 深夜の障害でサイトごと落ちる事故を、仕組みとして防ぐ。

どちらのモードも既定で fail-open

05

直感的な管理画面

設定ファイル 1 つと web UI ですべて設定できる。ダッシュボードでは 30 日分のチャート・cookie 通過率・国別・ファネルを確認でき、 hunt 画面では直近のイベントをワンクリックで BAN / verdict 追加できる。 深夜に設定ファイルを手で書き換える必要がなくなり、日々のメンテナンスの負担を軽くする。

06

データは自社内で完結

すべて自社のサーバーで動く。challenge 判定・cookie・IP・JA4・イベントログは 自分のサーバー内で完結し、利用者の行動が外部の SaaS に漏れることはない。 特定ベンダーへの縛りもなく、GDPR や個人情報保護法との整合も、自社のポリシーで取れる。

外部への API 呼び出しゼロ・第三者 SaaS との委託契約も不要

誰の何を守るか

use cases

01

bot 対策のために全通信を SaaS に預けたくない

bot 対策の主流は SaaS 型、つまり すべての通信をベンダーの基盤に通す前提だ。 訪問者の TLS handshake は自社サーバーではなくベンダーと結ばれ、 復号された通信を第三者が扱うことになるため、プライバシー・コスト・ベンダー障害の波及といった問題を抱える。 unmask は 既存の httpd に最小限の設定を足すだけで、 TLS handshake は訪問者と自社サーバーのあいだで完結する。前段には何も置かず、vhost も SSL もログも触らない。外部への API 呼び出しもゼロだ。

データ主権・プライバシー・OSS であることを要件にする組織 (規制業界 / 公共 / 自社運用) に。導入も撤去も設定数行で済む

02

脆弱性スキャン・自動攻撃の抑制

wp-login.php / .env / xmlrpc.php や既知 CVE の path を 機械的に舐める 脆弱性スキャナや攻撃 bot の多くは、ブラウザを使わないツールから来る。 unmask は入口で JA4 と PoW / CAPTCHA を使ってこれらをふるい落とすので、攻撃の試行回数そのものが減り、突破や情報漏えいのリスクを下げられる。
AI で脆弱性の探索や攻撃が安く・速くなっても、大量の自動アクセスにはコストを課し続けられるので、 自動化された探索を入口の段階で抑えられる。

既知 path への機械的なスキャン・総当たりを fingerprint 単位で入口で遮断 · 深層防御の一層として

03

無銭飲食 bot 対策

公開データ (価格 / 在庫 / 求人 / 物件 / 記事) を持ち去りながら、 CPU も帯域も DB も食い荒らす 無銭飲食 bot には、 hunt 画面で fingerprint 別のアクセス量を可視化し、食い逃げ常習犯をワンクリックで遮断する。 判定は fingerprint 単位なので、IP を入れ替えられても効き続ける。

データの流出とサーバー負荷を一手で抑える。公開データを扱うサイト全般 (EC / 求人 / 不動産 / メディア / 公開 DB / 公開 API) に