Cloud One File Storage Securityを使ってS3にアップされたマルウェア、異常ファイルをチェックしてみた (フルスキャン編)
こんにちは、コンサル部@大阪オフィスのTodaです。
Trend Micro社が提供するCloud Oneには7点のサービスが存在します。
今回はクラウドストレージのファイルチェックが出来るFile Storage Securityを操作してみました。
前回、File Storage Security(以降C1FSS)にてオブジェクトスキャンの実行をおこない、判定に合わせてカスタム処理にてオブジェクトの削除やタグの参照をおこなってみました。
今回は、S3に存在する既存オブジェクトに対してフルスキャンとスケジュールスキャンをする方法を試してみます。
C1FSSでは機能にて既存オブジェクトのスキャンをする方法はないのですが、別途提供されているLambdaのプラグインを利用することで実現する事が可能です。
■ Cloud One File Storage Security Scan Trigger - Full Scan and Scheduled Scan
https://github.com/trendmicro/cloudone-filestorage-plugins/tree/master/scan-triggers/aws-python-bucket-full-and-scheduled-scan
事前の準備
検証にはC1FSSにストレージ登録が完了している状態からおこないます。
フルスキャン処理の導入
機能導入時にはC1FSSで利用している各リソースの値を3点取得する必要がございます。
値の取得をおこなってからLambdaによるフルスキャン機能の導入をおこないます。
必要な値の取得
機能導入に必要な値を3点取得します。
ScannerQueueArn
SQSキューのARNを取得します。
SQSサービスを選択して「-ScannerQueue-」という名称が設定されているキューを選択頂きARNの値を取得します。
※ **の箇所には導入に合わせて文字列が入ります。
ScannerQueueUrl
CloudFormation(以降CFn)に移動します。
C1FSS導入時に作成した「all-in-one stack」 または「Scanner-TM-FileStorageSecurity」を選択して出力タブをクリックします。
一覧から[ScannerQueueUrl]の値を取得します。
ScanResultTopicARN
CFnに移動します。
C1FSS導入時に作成した「all-in-one stack」 または「Storage-TM-FileStorageSecurity」を選択して出力タブをクリックします。
一覧から[ScanResultTopicARN]の値を取得します。
CloudFormationによる導入
GitHubに公開されている「template.json」を取得してCFnのスタック作成をおこないます。
■ Cloud One File Storage Security Scan Trigger - Full Scan and Scheduled Scan
https://github.com/trendmicro/cloudone-filestorage-plugins/tree/master/scan-triggers/aws-python-bucket-full-and-scheduled-scan
スタック名とパラメータを入力する枠がございますので先ほど取得した値とスキャン対象のS3バケット名を設定します。
- スタックの名前: 任意
- BucketName: スキャン対象のS3バケット名
- ScanResultTopicArn: 上記取得した値
- ScannerQueueArn: 同上
- ScannerQueueUrl: 同上
- Schedule: 空白
確認画面にてIAM作成に伴う承認が表示されますのでそれぞれチェックをおこない、[スタックの作成]をおこないます。
上記にてフルスキャン処理の導入は完了になります。
フルスキャンの実行
導入が完了するとLambda関数の一覧に「BucketFullScan」という関数が追加されます。
上記をクリックして詳細画面に移動します。
手動によるフルスキャンの実行は[Test]機能を利用しておこないます。
[Test] > [Configure test event]を選択して新しいイベントを作成します。
イベントの内容はhello-worldから変更する必要がないため、イベント名のみ設定して作成します。
作成後、テストをクリックすることでフルスキャンが実行されます。
スケジュールの設定
フルスキャンをスケジュールによる定期実行する場合は、Lambda関数のトリガーから[EventBridge]を利用する事で可能です。
JSTにて毎週月曜日0:00に実行をする場合は、UTC時間に変換して「cron(0 15 * * 0)」にて設定する事で定期処理が可能です。
上記にてスケジュールを利用したフルスキャンの設定完了になります。
さいごに
今回はC1FSSのプラグインを利用してフルスキャンとスケジュール設定をおこなってみました。
少しでもお客様のやりたいことの参考になればと考えております。