> For the complete documentation index, see [llms.txt](https://help.aikido.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.aikido.dev/docs/docs-ja/zen-firewall/use-cases/aikido-zen-for-legacy-apps.md).

# レガシーアプリ向け Aikido Zen

Aikido Zenは、レガシーアプリケーションが稼働中である間に保護するランタイムセキュリティ層です。変更が難しい一方で、実際のユーザーと実トラフィックに公開する必要があるシステム向けに設計されています。

レガシーアプリは、古いフレームワーク上で動作していたり、大規模なモノリシックコードベースを持っていたり、限られた開発時間で保守されていたりすることがよくあります。これらのシステムを書き直したり、深くリファクタリングしたりするのは通常現実的ではありません。Zenは、現在存在しているそのままのアプリケーションと連携します。

Zenはアプリケーションのプロセス内で動作し、リクエストがデータベースクエリ、ファイルアクセス、コマンド実行、外部へのネットワーク呼び出しなどの機密性の高い操作とどのようにやり取りするかを監視します。

## レガシーの保護は難しい

レガシーアプリケーションは、現代的な攻撃手法を想定して構築されていることがほとんどありません。入力検証は一貫性に欠けることが多く、セキュリティライブラリは古いか存在しない場合があり、脆弱性の修正には脆弱なコードに対するリスクの高い変更が必要になることがあります。

従来の防御策では、これをうまく解決できません。スキャナーは問題を報告するだけで、攻撃は止めません。ネットワークファイアウォールや従来のWebアプリケーションファイアウォールはアプリの外側で動作するため、コードが実際に何をしているのかという文脈を持っていません。

その結果、古いシステムは、インジェクション、パストラバーサル、危険なコマンド実行といった一般的でありながら影響の大きい攻撃にさらされます。これらの脆弱性が特に危険なのは、レガシーアプリが機密データを扱うことが多く、依然としてインターネットに公開されているためです。

Aikido Zenは、コード変更やアーキテクチャ作業を強いることなく、このリスクを即座に軽減します。

## Zenがどのように保護するか

**悪意のあるトラフィックの軽減**

Zen には、ブルートフォース型の試行を遅延またはブロックし、アプリケーションロジックに到達する前にスキャンボットによるノイズを減らすのに役立つトラフィック制御機能が含まれています。

**安全でないデータベース操作のブロック**

Zen は実行時にデータベースクエリを検査し、SQL インジェクションや有害なクエリ操作のようなパターンを停止できます。これにより、データモデルと連携するカスタムコードやサードパーティ製モジュールから発生する問題を封じ込めるのに役立ちます。

**不正なファイルシステムアクセスの防止**

多くのアプリケーションは、設定、添付ファイル、そして一時ファイルをディスク上に保存します。Zen は機密性の高いファイル操作を監視し、許可されたディレクトリ外へのパス・トラバーサルや予期しないファイルの読み書きをブロックします。

**安全でない送信リクエストと SSRF からの保護**

多くのアプリケーションは、Webhook や API を通じて外部サービスと連携します。Zen は送信される HTTP 呼び出しをチェックし、信頼されていない入力から生成された安全でないリクエストをブロックできます。これにより、SSRF 攻撃を防ぎ、内部ネットワーク上のターゲットへのアクセスを制限します。

**送信先ドメインの監視と制御**

Zen は、サーバーが接続するすべてのドメインを表示します。データの送信先を制御するために、ドメインをブロックまたは許可できます。これは、カスタムモジュールからの予期しない呼び出しの検出、データ流出の防止、そしてチームが承認した連携に対して厳格な境界を保つのに役立ちます。

**ローカルのみの検査**

Zen は、リクエストデータを Aikido に送信することなく、サーバー上でローカルにセキュリティ判断を行います。これは、重要な業務データとプライバシーが優先されるデプロイ環境に適しています。

## 次のステップ

Aikido Zen でレガシーアプリケーションの保護を開始するには、Aikido アカウントを作成し、ダッシュボードの Zen セクションにある、ご利用のランタイム向けオンボーディングガイドに従ってください。

構成によっては、Zen を有効にするために、コードの小規模で局所的な変更や設定の更新が必要になる場合があります。これらの変更は通常、アプリケーションの起動時に限定され、ビジネスロジックには影響しません。

接続が完了すると、Zen は実行時の安全でない動作の監視とブロックを開始します。

でアカウントを作成して [aikido.dev](https://aikido.dev) 始めましょう。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.aikido.dev/docs/docs-ja/zen-firewall/use-cases/aikido-zen-for-legacy-apps.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
