For the complete documentation index, see llms.txt. This page is also available as Markdown.

Zenはどのように動作するのか?

Aikido の Zen Firewall は、コードに直接埋め込まれる強力なアプリケーションファイアウォールです。この位置にあることで、WAF のように外側から受信リクエストを検査するだけではなく、コード内で実際に何が起きているのかを見て理解できます。

Zen が従来のファイアウォールと異なる点

Zen は、ランタイム内の主要なパッケージや組み込みモジュールを計装します(たとえば fs.readFile, http.request, fetchを入力し、 mysql.query Node.js で)。この機能により、Zen は、危険な文脈で安全でない可能性のあるユーザー入力が現れたとき、その入力の発生源まで追跡できます。たとえば、入力が SQL クエリの引用符から抜け出す場合、ファイルパスを操作する場合、外向きの HTTP 接続のホスト名を変更する場合、または同様のセキュリティ脆弱性を生み出す場合です。これを検知すると、Zen は例外を投げることでコード内で直接その処理を停止します。また、スタックトレースも取得するため、開発者は問題がどこで、どのように発生したのかをすばやく確認できます。

アプリケーション全体の文脈を踏まえて動作することで、従来のファイアウォールや WAF と比べて、より正確な判断を行い、継続的な調整やルール更新の必要性を減らせます。

一方、従来のファイアウォールや WAF はネットワークの境界に配置され、受信する HTTP リクエストだけをもとに、何をブロックするかを判断します。通常はパターンマッチングに依存しており、たとえば次のような SQL インジェクションのペイロードを見つけます ' OR 1=1 --。これには限界があります。アプリケーション内でそのリクエストがどのように処理されるかを見られないため、無害なリクエストをブロックしてしまったり、巧妙に偽装された攻撃を見逃したりすることがあります。

Zen と 従来のファイアウォールや WAF

Zen は分散型サービス拒否攻撃(DDoS)からは防御できません。これはネットワークスタックの内側に深く入りすぎており、大量のトラフィックがアプリケーションに到達する前に止められないためです。そのような状況に対処するには、従来のファイアウォールが依然として必要です。最も強力な保護は両方を併用することから生まれます。大規模なネットワーク脅威にはファイアウォールを、きめ細かなコードレベルの保護には Zen を使います。

ブロックするだけではない

Zen には、従来のファイアウォールの多くが提供するものを超える機能も含まれています:

  • ボットおよび IP のブロック – ファイアウォールでもボットをブロックできますが、高度なボットフィルタリングの設定は複雑になりがちです。Zen なら、ボット、既知の脅威アクター、Tor からのリクエストを簡単にブロックでき、法的またはビジネス上の理由で必要な場合は、国や大陸ごとにアクセスを制限することもできます。

  • ユーザー認識型レート制限 – ファイアウォールには IP アドレス単位でレート制限する方法があります。Zen では実際のユーザーに基づいてレート制限でき、さらにレート制限グループ ID を設定する方法も提供しています。たとえば、B2B SaaS では、個々のユーザーや IP ではなく、顧客アカウント単位でエンドポイントのレート制限を行えます。

  • API ドキュメントの自動生成 – Zen は実際のトラフィックをサンプリングして OpenAPI 仕様を生成し、その後 Aikido プラットフォームで API のスキャンやテストに利用できます。

  • AI モデルの追跡 – 大規模言語モデルを呼び出す場合、Zen は入力トークンと出力トークンを追跡し、さまざまなプロバイダーやモデルにわたる使用量とコストを見積もれます。

インストールと保守が簡単

Zen は数秒でインストールでき、多くの場合は 1 つのコマンドで完了します。セットアップ体験は、OpenTelemetry のようなトレーシングライブラリを追加するのと似ています。Zen は大規模な静的ルールに依存するのではなく、ランタイムを計装することで動作するため、頻繁な更新や複雑な設定は不要です。

最終更新

役に立ちましたか?