Cloud One Application Security(Preview)をAPI Gateway + Lambdaの環境に導入してみた

2020.11.28

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、コンサル部@大阪オフィスのTodaです。

トレンドマイクロ社が提供しているCloud One Application Security(Preview)を試す機会がありましたのでAPI Gateway + Lambdaの環境に導入をしてみました。

Cloud One Application Security(Preview)の詳細は下記記事を合わせてご覧ください。

前提条件

  • 2020/11/27時点ではPreview版であり、今後変更される予定があるため、ご注意ください。
  • Cloud One トライアル版アカウント登録し、トライアルで簡単にテストしています。
  • API Gateway(REST API)にてLambdaを利用するようにしています。
  • Lambda処理はPOSTの値をそのまま出力するプログラムにしています。

目標

  • Cloud One Application Securityの画面上にリクエストが検知される状態にする。

事前に対応が必要な事

LambdaレイヤーにTrend Micro Cloud One Application SecurityのARNを利用します。
ARNの利用はトレンドマイクロ社のアクセス許可が必要になりますのでご注意ください。

実際やってみる

導入方法は「カスタムランタイムを利用するパターン」と「AWSランタイムを利用するパターン」がございます。
今回は「カスタムランタイムを利用するパターン」で進めるようにします。

レイヤーに使用するKeyとSecretの確認

Cloud OneのApplication Security画面からグループ資格情報のKeyとSecretを確認します。

レイヤーに使用するKeyとSecretの確認

ユーザガイドからARNの内容を確認

LambdaレイヤーにはPython3.6, 3.7, 3.8 / NodeJS 10, 12 のバージョンが用意されています。   公開されているマニュアルを元にARNの内容を確認します。

(Cloud One) Latest Downloads - Python / NodeJS Agent

今回私が作成したLambdaはPython3.8になりますので下記のようになります。

arn:aws:lambda:ap-northeast-1:80[一部非表示]56:layer:CloudOne-ApplicationSecurity-bare-python3_8:1
arn:aws:lambda:ap-northeast-1:80[一部非表示]56:layer:CloudOne-ApplicationSecurity-runtime-python3_8:1
※上記ARNは変更される場合もございますので公式マニュアルから取得ください。

環境変数の設定

Lambda関数の編集画面に移動して環境変数の[編集]をクリックします。
内容は[TREND_AP_KEY]と[TREND_AP_SECRET]の2点で事前に取得したKeyとSecretを設定します。

Lambdaの環境変数を設定1

Lambdaの環境変数を設定2

レイヤーの追加

デザイナー画面の中にある[Layers]をクリックして一覧を表示します。
上部の[レイヤーの追加]をクリックします。

Lambdaレイヤーの追加

レイヤーの設定画面では[ARNの指定]を選び、上記で確認をしたARNを入力します。
Pythonの場合は2点設定をする必要があります。
トレンドマイクロ社のアクセス許可がない場合は、エラーになります。

LambdaレイヤーのARN入力

LambdaレイヤーのARN一覧

ランタイムの変更

カスタムランタイムでプログラムを実行するように設定を変更します。

ランタイムの変更1

ランタイムの変更2

Lambdaのテストで動作確認

カスタムランタイムの変更ができれば設定完了です。
1度Lambdaのテストイベントを使ってプログラムが動くことを確認します。

Lambdaのテストで動作確認

試しにAPIにPOST通信をしてみる

Google Chromeのアドオンで「Talend API Tester」を利用してPOST通信を行ってみます。
出力としてPOSTで送信した内容が表示されます。

試しにAPIにPOST通信をしてみる

Cloud Oneの画面を確認

上記API通信をおこなった後にCloud Oneの画面を確認するとリクエストのグラフが動いている事を確認しました。
またPHPの時と違いアクティブのマークは通信があったときのみ緑に変わるようです。

Cloud Oneの画面を確認

さいごに

今回はLambda処理にCloud One Application Securityを導入してみました。
以前PHPに導入したときと動きが変わるのかどうか利点等を調査して記事で案内したいと思います。