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