コンテンツにスキップ

Nodejs (Google Cloud Functions)

このガイドでは、アプリケーションへの Zen Firewall by Aikido のインストールとセットアップの手順を説明します。以下の手順に従ってアプリケーションを保護してください。

問題や不具合が発生した場合は、遠慮なくサポートチャットまたは Github issues でご連絡ください。

https://github.com/AikidoSec/firewall-node

1. Zen Firewall by Aikido をインストールする

Section titled “1. Zen Firewall by Aikido をインストールする”

プロジェクトに Zen をインストールします。

npm

Terminal window
npm install --save-exact @aikidosec/firewall

Yarn

Terminal window
yarn add --exact @aikidosec/firewall

pnpm

Terminal window
pnpm add --save-exact @aikidosec/firewall

@google-cloud/functions-framework を使用している場合。

+require("@aikidosec/firewall/cloud-function");
const functions = require("@google-cloud/functions-framework");
functions.http("handler", async (req, res) => {
// your logic
});

exports.handler を使用している場合は、手動でラップします。

+const protect = require("@aikidosec/firewall/cloud-function");
+exports.handler = protect(async (event, context) => {
// your logic
+});

2. Zen Firewall をドライ / 検知専用モードで起動する

Section titled “2. Zen Firewall をドライ / 検知専用モードで起動する”

関数の環境変数を設定します。

Terminal window
AIKIDO_TOKEN=AIK_RUNTIME_...
AIKIDO_BLOCK=false

Aikido Zen エージェントがトークンを認識できるよう、環境変数として設定します。まだトークンをお持ちでない場合は、こちらの手順に従ってください。

Terminal window
AIKIDO_TOKEN=AIK_RUNTIME_

期待通りに動作し、リクエストをブロックしないことを確認するため、アプリをドライモードで起動することを推奨します。誤検知を避けるため、ステージング環境で2週間、Zen Firewall を運用することを推奨します。

Terminal window
AIKIDO_BLOCK=false

関数を呼び出し、ダッシュボードで Zen イベントを確認します。

アプリケーションにアクセスし、いくつかの操作を行うか、いくつかのページを開いてください。Zen はアプリケーション内のルートを自動的に検出します。

Zen アプリケーションの以下のページを確認することで、エージェントが正常に動作していることを確認できます。

  • Events: 「Application started」イベントが表示されるはずです。
  • Routes: しばらくすると、アプリケーションのルートがメソッド、ルート、リクエスト数とともにここに表示され始めます。
  • Instances: Zen がインストールされているアプリケーションのアクティブなインスタンス数が表示されるはずです。

4. 任意でランタイムを調整する

Section titled “4. 任意でランタイムを調整する”

必要に応じて、Zen API のタイムアウトを調整します。

Terminal window
AIKIDO_CLOUD_FUNCTION_TIMEOUT_MS=5000

おめでとうございます。Zen Firewall のインストールに成功しました。問題が発生した場合、ご不明点やご要望がある場合は、遠慮なくサポートまでご連絡ください。

Zen Firewall が提供する多くの機能を、これから探索していきましょう。

追加情報: