すべての公開ログインページは公開後まもなく自動化ツールによってスキャンされ始めます。攻撃者は以前に漏洩したユーザー名とパスワードを試し、単一のアカウントにパスワードの推測を連打し、またはボットを使用してログインフォームを悪用します。
これらの攻撃は同じように見えません。時に単一のIPアドレスから多くの試行が来ます。時に同じユーザー名が多くの異なるソースから繰り返し試みられます。時に漏洩したパスワードが数千の異なるアカウントに低速で分散したパターンで適用されます。
このため静的な防御は不十分です。IPのみでロックすると分散型攻撃を見逃し、共有ネットワークを通じて来る実際のユーザーを誤ってブロックする可能性があります。アカウントのみでロックすると攻撃者に別のアドバンテージを与えます — 多くのアカウントをロックしてサービス拒否を引き起こすことができます。すべてのログインにCAPTCHAを強制することは実際のユーザー体験を台無しにします。
より大きな間違いは、ログイン時のボットとリスク評価を完全にサードパーティのクラウドサービスに任せることです。そのモデルは外部依存性、ユーザーごとまたは評価ごとのコスト、データ可視性の問題、認証パスの追加のブレークポイントを生み出します。
ログイン保護は画一的な壁であってはなりません。リスクが高まるにつれて摩擦を高め、攻撃のソースとターゲットに基づいて対応し、実際のユーザーを不必要にペナルティとしないローカルセキュリティ層であるべきです。
なぜならログインページを保護することは攻撃者を阻止するだけでなく、実際のユーザーが安全に作業を継続できるようにすることでもあるからです。
段階的な摩擦、マルチスコープポリシー、self-hostedチャレンジ — すべてすでにお客様が所有しているプラットフォームで。
すべてのポリシーは3つの閾値を実行します:監査ログに現れる警告、人間をブロックせずに自動化をフィルタリングするCAPTCHAチャレンジ、ドアを完全に閉じるロックアウト。正当なユーザーは第2段階をほとんど見ず、第3段階はほぼ見ません;攻撃者は素早くエスカレートします。
各ポリシーは3つのスコープのいずれかで適用されます:ソースIPごと、ユーザー名ごと、または両方一緒に。1つのIPからの1つのアカウントへのブルートフォース攻撃はIPスコープで検出されます;ローテーションするIPから多くのユーザー名に広がるcredential stuffingはユーザー名スコープで検出されます;組み合わせスコープは両方を混ぜた標的型攻撃を処理します。
CAPTCHAチャレンジはサーバーサイドで画像として生成されます。5つの難易度レベル、紛らわしい文字(I、L、O、0、1)をスキップする文字セット、設定可能な色、寸法、ノイズ。Google reCAPTCHAなし、Cloudflare Turnstileなし、評価ごとの料金なし — 認証の最も機密な瞬間がお客様のネットワークから出ることはありません。
ロックアウトカウンターはすべてのMFAチャンネルで使用されるのと同じ試行追跡と連携します。ユーザーは別のファクターが並行した試行に待機している間に1つのファクターをブルートフォースすることができません;パスワードステップでトリップされたCAPTCHAは同じIDを保護する残りのフローに伝播します。
防御プリミティブの詳細、プラスそれらを深化させるロードマップ。
各ポリシーは3つのスコープのいずれかにバインドされます。IPスコープは単一の攻撃者が1つのネットワークから多くのアカウントを攻撃するのを検出します。Usernameスコープは各試行がソースIPをローテーションするcredential stuffingを検出します。組み合わせスコープは既知の攻撃者が特定のネットワークから特定のアカウントに集中する標的型ケースを検出します。
すべてのポリシーは順番にエスカレートする3つの閾値を実行します。警告閾値はユーザーに影響を与えずに疑わしいアクティビティを監査ログにフラグします。CAPTCHA閾値は次の試行の前にself-hosted画像チャレンジを置きます。ロックアウト閾値は設定可能な期間ドアを閉じます — 順序、値、decay windowはすべてポリシーごとです。
CAPTCHAはローカルで画像として生成されます — 軽い読みやすさのヒントから重い歪みまでの5つの難易度レベル、ブランドに合わせた設定可能な色と寸法、正当なユーザー体験をクリーンに保つために視覚的に類似した文字(I、L、O、0、1)を意図的に省略した文字セット。
ログイン保護はプラットフォーム上で完全に生成、提供、検証、監査されます。評価ごとの料金なし、外部依存性なし、すべてのログイン試行をベンダーに送信するプライバシーへの影響なし、ユーザーと認証の間に座る不透明なスコアリングサービスなし。
失敗したパスワード試行、失敗したMFAチャレンジ、失敗したCAPTCHA回答がポリシースコープごとの調整されたカウンターに貢献します。攻撃者は別のファクターで並行した試行が待機している間に1つのファクターをブルートフォースすることができません;1つのステップでトリガーされたロックアウトは同じIDを保護するすべてのチャンネルに伝播します。
各ポリシーはdecay windowを定義します。ウィンドウより古い失敗した試行は現在の閾値に対してカウントを停止するため、先週3回パスワードを誤入力した正当なユーザーは今日すでにCAPTCHA段階から始まりません。ウィンドウ、decay形状、閾値はすべてポリシーごとに調整可能です。
すべてのログイン試行 — 成功、警告を超えた、CAPTCHAがトリガーされた、ロックアウトが発動 — はタイムスタンプ、ソースIP、ユーザーエージェント、スコープ、ポリシー結果を含む構造化された監査エントリを書き込みます。受信者情報(メールアドレス、電話番号)はデフォルトで監査ストリームでマスクされるため、監査証跡が二次的な漏洩パスにならないようにします。
計画されたコレレーションエンジンはサービス間で試行カウンターを結びつけるため、低価値アプリでクレデンシャルをテストした攻撃者は白紙の状態で高価値アプリに移ることができなくなります。IP reputationフィードは同じポリシーエンジンに接続し、既知の悪質なネットワークの摩擦を自動的に高めます。
段階的防御を良いユーザーには見えなく、攻撃者には明確に感じさせるメカニズム。
背景色、テキスト色、幅、高さ、フォントサイズ、文字間隔、ノイズライン、ノイズドットはすべて設定可能です。チャレンジは保護するログインポータルの視覚的アイデンティティに合わせることができます — 外部サービスが関与していることを漏洩することなく、なぜなら何も外部ではないからです。
デフォルト文字セットはI、L、O、0、1をスキップします — 歪んだ形で互いに簡単に間違える文字。正当なユーザーはCAPTCHAをより速く少ない再試行で解決します;自動ソルバーに対する防御的価値はすべての難易度レベルで維持されます。
警告閾値、CAPTCHA閾値、ロックアウト閾値、decay window、ロックアウト期間はすべてポリシーごとに設定可能です。ユーザー管理インターフェースは公開ヘルプデスクログインや管理コンソールとは異なる許容範囲を持ちます;同じエンジンが異なる数値でそれらにサービスを提供します。
カウンターとロックアウト状態はRedisに存在するため、任意のゲートウェイポッドがいずれかのスコープの現在の試行カウントを確認できます。水平にスケールされた展開は調整オーバーヘッドなしに一貫した状態を確認し、1つのポッドで行われたロックアウト決定は他のすべてのポッドにすぐに可視化されます。
ロックアウトされたユーザーはロックアウトが独自のクロックで期限切れになるのを待つか、ゲートウェイ管理インターフェースを通じて管理者によってロック解除されます。リカバリーアクション自体が監査されます;インシデント中の緊急ロック解除は見えない回避策ではなく追跡可能なイベントです。
上流の脅威インテリジェンスソースがリスクの増加をフラグしたとき — 既知の悪質なネットワーク、アクティブなcredential-stuffingキャンペーン、漏洩したクレデンシャルリスト — 自動的に締め付ける適応型閾値がロードマップにあります。同じポリシーエンジンがシグナルを受信します;同じ監査証跡が変更を記録します。
漏洩したユーザー名/パスワードリストを持つ攻撃者がIPをローテーションしてログインページで各ペアを試みます。Usernameスコープポリシーはこのパターンを検出します — カウンターはアカウントごとに上昇し、CAPTCHAティアが自動化をフィルタリングし、ロックアウトが繰り返し標的になったものにドアを閉じます。
単一の攻撃者、単一のソースIP、単一のターゲットアカウント、多くの推測。IPスコープポリシーは秒単位でこれを検出します — 警告が監査に現れ、CAPTCHAティアがスクリプト化された試行をフィルタリングし、ロックアウト期間が攻撃を経済的でなくするほど速く乗算されます。
自動化されたエージェントがスクレイピング、スパム、またはロック解除されたアカウントを待つためにログインしようとします。CAPTCHAティアがまさにこれらが検出される場所です — ローカルで生成され、ローカルで検証され、外部SaaSチャレンジを標的にする自動CAPTCHAソルバーサービスの完全な到達範囲外です。
PCI DSS、HIPAA、ISO 27001は閾値と監査証跡を含む失敗ログイン監視が設置されているという証拠を要求します。試行ごとの監査ストリームは、書面による散文ではなく設定として表現された閾値とともに、監査者がレビューする単一のタイムラインを提供します。
3段階の段階的摩擦、3スコープのポリシーカバレッジ、self-hosted CAPTCHA — すべてすでにお客様が所有しているプラットフォームで。お客様のアプリケーションでのライブ展開を一緒に確認しましょう。