概要
当エントリーでは、Trend Micro Cloud One Conformity(以後C1C)に関し対象AWSアカウントで Real-time Threat Monitoring の設定を有効化する手順について紹介します。
GUIの製品画面は、執筆時点(2021/10)の内容となっており最新のものと一部異なる可能性があります。
Real-time Threat Monitoringとは
Real-time Threat Monitoring(以後RTM)とは、リアルタイムにAWSのAPIのアクティビティを検知し、C1Cのルールでチェックし問題があればすぐに通知出来るような仕組みです。
例えば一定レベル以上の脅威をSlack等に通知する事で管理者としてリアルタイムに管理しているAWS環境へのアクティビティやリスクの検知が可能となります。
当機能はAWSアカウント側で作業(リソース作成)が必要となる為、初期導入時のデフォルトでは無効状態となっています。 従って、利用する場合は管理者の方で手動で有効化する必要があります。
詳細は以下オフィシャルの機能を参照
手順
1.C1C管理コンソールにログイン
対象AWSアカウントがRTM無効の場合、以下のようなメッセージが上に表示されます。とても青いですね。
2.RTM設定手順画面へ遷移
以下画面のどちらのボタンを押下しても同じ挙動をしますのでお好みの方を押下します
すると、画面右側から以下のように手順の画面が描画されるので確認します。
BashかPowerShellでタブ切り替えが可能で指定コマンドをコピー&ペーストして実行するだけで作業が完了するよう準備がされています。
Bash
curl -L https://conformity.us-1.cloudone.trendmicro.com/v1/monitoring/event-bus-install.sh | bash -s
PowerShell
[Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls"; $Script = Invoke-WebRequest -UseBasicParsing "https://conformity.us-1.cloudone.trendmicro.com/v1/monitoring/event-bus-install.ps1"; $ScriptBlock = [Scriptblock]::Create($Script.Content); Invoke-Command -ScriptBlock $ScriptBlock
どちらをどの環境から実行するかは自由ですが、AWSマネジメントコンソールの CloudShellから実施するのが、一番確実かつ楽です。(AWSアカウントIDを目視で確認できる為)
従って、今回は AWS CloudShell を利用
して実行していきます。
[Copy to clipboard] を押下し、コマンドをコピーします。
(参考) このコマンドでどのような処理が実行されるのか
RTMに対応している各リージョンにて、CloudFormationスタックが作成かつ実行され、 C1CのAWSアカウントへデータを受け渡す為のAmazon EvendBridgeのルールがローンチされます。
こちらのスクリプトはインターネット向けに全公開されているものですので、その他詳細はソースを確認ください。
3.AWS Cloud Shellの起動し、curlコマンド実行
RTMを有効化したい対象AWSアカウントにAWSマネジメントコンソールでログインして以下順に実行していきます。
- TOP画面でAWSアカウントIDが正しい事を指差し確認
- AWS CloudShell を起動
- 上の手順でコピーしたコマンド(curlからはじまるもの) を貼り付けて実行
実行は1min程度を要します。 処理が完了したら( $が返ってきたら) 、AWS CloudShellの画面は閉じて問題ありません。
これでRTMの設定自体は完了
です。
(参考) 実行ログ
[cloudshell-user@ip-10-0-107-139 ~]$ curl -L https://conformity.us-1.cloudone.trendmicro.com/v1/monitoring/event-bus-install.sh | bash -s % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 3263 100 3263 0 0 1247 0 0:00:02 0:00:02 --:--:-- 1247 Installing Cloud Conformity Real-time Monitoring... Installing CloudConformityMonitoring - V6 in us-east-1 Successfully installed CloudConformityMonitoring in us-east-1 Installing CloudConformityMonitoring - V6 in us-east-2 Successfully installed CloudConformityMonitoring in us-east-2 Installing CloudConformityMonitoring - V6 in us-west-1 Successfully installed CloudConformityMonitoring in us-west-1 Installing CloudConformityMonitoring - V6 in us-west-2 Successfully installed CloudConformityMonitoring in us-west-2 Installing CloudConformityMonitoring - V6 in ap-south-1 Successfully installed CloudConformityMonitoring in ap-south-1 Installing CloudConformityMonitoring - V6 in ap-northeast-2 Successfully installed CloudConformityMonitoring in ap-northeast-2 Installing CloudConformityMonitoring - V6 in ap-southeast-1 Successfully installed CloudConformityMonitoring in ap-southeast-1 Installing CloudConformityMonitoring - V6 in ap-southeast-2 Successfully installed CloudConformityMonitoring in ap-southeast-2 Installing CloudConformityMonitoring - V6 in ap-northeast-1 Successfully installed CloudConformityMonitoring in ap-northeast-1 Installing CloudConformityMonitoring - V6 in eu-central-1 Successfully installed CloudConformityMonitoring in eu-central-1 Installing CloudConformityMonitoring - V6 in eu-west-1 Successfully installed CloudConformityMonitoring in eu-west-1 Installing CloudConformityMonitoring - V6 in eu-west-2 Successfully installed CloudConformityMonitoring in eu-west-2 Installing CloudConformityMonitoring - V6 in eu-west-3 Successfully installed CloudConformityMonitoring in eu-west-3 Installing CloudConformityMonitoring - V6 in eu-north-1 Successfully installed CloudConformityMonitoring in eu-north-1 Installing CloudConformityMonitoring - V6 in sa-east-1 Successfully installed CloudConformityMonitoring in sa-east-1 Installing CloudConformityMonitoring - V6 in ca-central-1 Successfully installed CloudConformityMonitoring in ca-central-1 Region me-south-1 is either not enabled or not supported with the current access credentials Region ap-east-1 is either not enabled or not supported with the current access credentials Region af-south-1 is either not enabled or not supported with the current access credentials Region eu-south-1 is either not enabled or not supported with the current access credentials Installing CloudConformityMonitoring - V6 in ap-northeast-3 Successfully installed CloudConformityMonitoring in ap-northeast-3 [cloudshell-user@ip-10-0-107-139 ~]$
(参考) リアルタイム監視がサポートされているリージョンの確認
スクリプトより抜粋
RTM_REGIONS=( us-east-1 us-east-2 us-west-1 us-west-2 ap-south-1 ap-northeast-2 ap-southeast-1 ap-southeast-2 ap-northeast-1 eu-central-1 eu-west-1 eu-west-2 eu-west-3 eu-north-1 sa-east-1 ca-central-1 me-south-1 ap-east-1 af-south-1 eu-south-1 ap-northeast-3 )
5. (任意) CAWS loudFormationスタックの確認
任意の内容は、実行したコマンドでAWS環境に何が作成されたのか気になる方のみ実施ください。(このようなリソースが作成されたと認識する程度で十分です)
そのままAWS CloudFormationサービス画面に遷移すると
CloudConformityMonitoring
という名前のスタックが作成されているので確認します。
リソースとしてAmazon EventBridgeのルールが1つ作成されている事が確認できる筈です。
そのまま、地球の裏側のサンパウロリージョン(sa-east-1)を覗いてみます。 すると、同様の処理が東京リージョン(ap-northeast-1)以外でも実行されている事が確認できます。
6.(任意) Amazon EventBridgeのイベント確認
AWS Cloud Formationのスタックで作成されたAmazon EventBridgeのイベントを確認します。
CloudConformityMonitoring という名称のルールとして作成されている事と、どのようなAPIのアクティビティで検知可能かイベントパターンから確認できたり、ターゲットに指定されているC1CのAWSアカウントが確認できます。
これで、AWSマネジメントコンソールでの作業は完了となるのでサインアウトして問題ありません。
7.C1C管理コンソールで RTM有効化の確認
実は設定が完了していても自動的にRTM有効化の認識はされません。
有効化後にAPIアクティビティを初めて検知したタイミングで認識される
仕様のようです。
今回は検証環境で自分で何かをしないと有効化されない状態だったので、S3バケットを1つ作成してみました。
するとC1C管理コンソール側とRTM有効化と認識がされて、Dashboardでも リアルタイムにイベントが表示されました。 (S3バケット作成の検知後に、有効化されたログが出力されている事も確認できます)
[Open monitoring dasboard...] を押下しイベントの+マークから詳細を確認すると、誰が何をしたかのイベントの情報の下にC1Cでチェックされた内容が重要度順に表示さる事が確認できます。 こちらは、実行してから3秒程度でイベント自体は表示されたのでリアルタイムと言っても良い速さでしょう。
[Event details..] を押下するとその AWS CloudTrail のAPI アクティビティの生ログデータ含む詳細を確認出来るのでとても便利です。
8.RTMとSlack通知の連動確認
当C1C環境では、Very High 以上は指定Slackチャンネルで通知を受ける設定にしているので、試しに対象ルールで検知されるよう、S3バケットをパブリックで公開してみました。
(参考) 通知設定については以下blog参照
すると同様にDashboardで検知がされた事に加え、1min以内にSlackの指定チャンネルで以下のような通知がされました。 リンクから直接対象リソースへアクセス出来る点も大変便利です。
このようにRTM設定を有効化したうえで管理者として受け取りたいレベルの内容を通知する設定を行えば C1C管理コンソールにログインしていない状態でもセキュリティリスクをニアリアルタイムに検知可能となります。
Slack等のビジネスチャットツールは検知の用途では向いていますが、流れてしまったりその検知内容の後続対応やら履歴やらが追いにくいという欠点もあります。 インシデントとして対処まで厳密に管理したい場合は、Zendesk等のチケット管理ツールに通知する設定も合わせて検討したいところです。
まとめ
RTMの有効化手順を紹介しました。
ユーザー側が最低限の作業で完了出来るよう配慮がされているとご理解いただけたと思いますので、 AWSアカウントを追加したタイミングに合わせて実施を検討頂ければと思います。
また、管理者として活用したい強力な機能であるというイメージが伝わり、C1C導入検討のきっかけになれば幸いです。