セルフホスト版 Gitea 向け Aikido Zen
Giteaは、ソースコードをホスティングするためのセルフホスト型Gitサービスです。一般的に、プルリクエスト、イシュー、リリース、Webhookなどの機能を備えています。
そのため、Giteaには非常に機密性の高いデータが保存されていることがよくあります。プライベートリポジトリ、誤ってコミットされた認証情報、デプロイキー、アクセストークン、社内のエンジニアリングに関する議論などです。
攻撃者がGitea環境の脆弱性を悪用すると、ソースコードを持ち出したり、シークレットを盗んだり、ネットワーク内部への足がかりを得たりする可能性があります。Aikido Zenは、アプリケーションコード内で一般的なWeb攻撃を実行時にブロックすることで、このリスクの軽減に役立ちます。
Aikido Zenとは何か、なぜ重要なのか
Aikido Zenはアプリ内ファイアウォールです。ランタイムに組み込まれ、ファイルアクセス、外部へのHTTP呼び出し、データベースクエリなどの主要な関数を計装します。ユーザー入力が危険な形でこれらの機密性の高いシンクに到達すると、Zenは例外をスローし、その操作が実行される前に停止させます。
Giteaの管理者にとって、これが重要な理由は次のとおりです。
- Giteaは、データベース(SQLite/MySQL/MariaDB/PostgreSQL)に加えて、Gitデータや添付ファイル用のファイルシステム上のリポジトリストアに依存しています。
- インジェクションやパストラバーサルのバグが1つあるだけで、プライベートリポジトリが露出したり、シークレットが大規模に漏洩したりする可能性があります。
- Giteaはインターネットに公開されていることが多いため、ボットや既知の脅威アクターの標的になりやすい傾向があります。
Zenは、ユーザーがプラットフォームにアクセスする方法を変えることなく、Giteaが稼働するサーバー上に追加のセーフティネットを提供します。
ZenがGiteaを保護する仕組み
不正なトラフィックの緩和
Zen には、ブルートフォース型の試行を遅延またはブロックし、スキャンボットによるノイズがアプリケーションロジックに到達する前に除去するためのトラフィック制御機能が含まれています。
安全でないデータベース操作のブロック
Zen は実行時にデータベースクエリを検査し、SQL インジェクションや有害なクエリ操作に見えるパターンを阻止できます。これにより、データモデルとやり取りするカスタムコードやサードパーティモジュールに起因する問題を封じ込めることができます。
不正なファイルシステムアクセスの防止
多くのアプリケーションは、設定ファイル、添付ファイル、一時ファイルをディスクに保存しています。Zen は機密性の高いファイル操作を監視し、パストラバーサルや、許可されたディレクトリ外での予期しないファイルの読み書きをブロックします。
安全でないアウトバウンドリクエストと SSRF からの保護
多くのアプリケーションは、Webhook や API を介して外部サービスと連携しています。Zen はアウトバウンドの HTTP 呼び出しをチェックし、信頼できない入力から生成された安全でないリクエストをブロックできます。これにより SSRF の試みを防ぎ、内部ネットワーク上のターゲットへのアクセスを制限します。
アウトバウンドドメインの監視と制御
Zen は、サーバーが接続するすべてのドメインを表示します。ドメインをブロックまたは許可することで、データの送信先を制御できます。これは、カスタムモジュールからの予期しない呼び出しの検出、データ流出の防止、そしてチームが承認した連携に対して厳格な境界を維持するのに役立ちます。
ローカルのみでの検査
Zen は、リクエストデータを Aikido に送信することなく、サーバー上でローカルにセキュリティ判断を行います。これは、重要なビジネスデータとプライバシーが優先されるデプロイ環境に適しています。
次のステップ
ベータ版は近日提供予定です。詳細についてはAikidoサポートにお問い合わせください。