コンテンツにスキップ

Nodejs (AWS Lambda)

このガイドでは、アプリケーションへの 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

ハンドラーをラップします。

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

現在、以下のトリガーをサポートしています。

  • Gateway API
  • SQS (Simple Queue Service)
  • 別のトリガーを使用している場合は、お知らせください。

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

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

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

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 クラウド呼び出しのリクエストタイムアウトを増やします。

Terminal window
AIKIDO_LAMBDA_TIMEOUT_MS=5000

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

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

追加情報: